From c0ff164832c3738846a463cb85b0f45464dae587 Mon Sep 17 00:00:00 2001 From: Rohit Agrawal <110839621+rohitagr0310@users.noreply.github.com> Date: Tue, 3 Oct 2023 21:49:47 +0530 Subject: [PATCH 01/17] init the project and created blank window i have created a basic blank window to start the design and development --- .vscode/c_cpp_properties.json | 18 ++++++ .vscode/launch.json | 24 ++++++++ .vscode/settings.json | 59 +++++++++++++++++++ app.cpp | 107 ++++++++++++++++++++++++++++++++++ tasks.json | 32 ++++++++++ 5 files changed, 240 insertions(+) create mode 100644 .vscode/c_cpp_properties.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 app.cpp create mode 100644 tasks.json diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..f912847 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,18 @@ +{ + "configurations": [ + { + "name": "windows-gcc-x86", + "includePath": [ + "${workspaceFolder}/**" + ], + "compilerPath": "C:/MinGW/bin/gcc.exe", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "windows-gcc-x86", + "compilerArgs": [ + "" + ] + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..4f98498 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++ Runner: Debug Session", + "type": "cppdbg", + "request": "launch", + "args": [], + "stopAtEntry": false, + "externalConsole": true, + "cwd": "c:/Users/rohit/OneDrive/Documents/Big Projects/dw-code", + "program": "c:/Users/rohit/OneDrive/Documents/Big Projects/dw-code/build/Debug/outDebug", + "MIMode": "gdb", + "miDebuggerPath": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..3e5eb95 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,59 @@ +{ + "C_Cpp_Runner.cCompilerPath": "gcc", + "C_Cpp_Runner.cppCompilerPath": "g++", + "C_Cpp_Runner.debuggerPath": "gdb", + "C_Cpp_Runner.cStandard": "", + "C_Cpp_Runner.cppStandard": "", + "C_Cpp_Runner.msvcBatchPath": "", + "C_Cpp_Runner.useMsvc": false, + "C_Cpp_Runner.warnings": [ + "-Wall", + "-Wextra", + "-Wpedantic", + "-Wshadow", + "-Wformat=2", + "-Wcast-align", + "-Wconversion", + "-Wsign-conversion", + "-Wnull-dereference" + ], + "C_Cpp_Runner.msvcWarnings": [ + "/W4", + "/permissive-", + "/w14242", + "/w14287", + "/w14296", + "/w14311", + "/w14826", + "/w44062", + "/w44242", + "/w14905", + "/w14906", + "/w14263", + "/w44265", + "/w14928" + ], + "C_Cpp_Runner.enableWarnings": true, + "C_Cpp_Runner.warningsAsError": false, + "C_Cpp_Runner.compilerArgs": [], + "C_Cpp_Runner.linkerArgs": [], + "C_Cpp_Runner.includePaths": [], + "C_Cpp_Runner.includeSearch": [ + "*", + "**/*" + ], + "C_Cpp_Runner.excludeSearch": [ + "**/build", + "**/build/**", + "**/.*", + "**/.*/**", + "**/.vscode", + "**/.vscode/**" + ], + "C_Cpp_Runner.useAddressSanitizer": false, + "C_Cpp_Runner.useUndefinedSanitizer": false, + "C_Cpp_Runner.useLeakSanitizer": false, + "C_Cpp_Runner.showCompilationTime": false, + "C_Cpp_Runner.useLinkTimeOptimization": false, + "C_Cpp_Runner.msvcSecureNoWarnings": false +} \ No newline at end of file diff --git a/app.cpp b/app.cpp new file mode 100644 index 0000000..b4230fb --- /dev/null +++ b/app.cpp @@ -0,0 +1,107 @@ +#include + +// Global Variables +HINSTANCE hInst; // current instance +LPTSTR szTitle = TEXT("My Window"); // The title bar text +LPTSTR szWindowClass = TEXT("MyWindowClass"); // the main window class name + +// Function prototypes +ATOM MyRegisterClass(HINSTANCE hInstance); +BOOL InitInstance(HINSTANCE, int); +LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); + +// Entry point +int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) +{ + MyRegisterClass(hInstance); + + // Perform application initialization: + if (!InitInstance(hInstance, nCmdShow)) + { + return FALSE; + } + + MSG msg; + + // Main message loop: + while (GetMessage(&msg, NULL, 0, 0)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + + return (int)msg.wParam; +} + +// Register the window class. +ATOM MyRegisterClass(HINSTANCE hInstance) +{ + WNDCLASSEX wcex; + + wcex.cbSize = sizeof(WNDCLASSEX); + + wcex.style = CS_HREDRAW | CS_VREDRAW; + wcex.lpfnWndProc = WndProc; + wcex.cbClsExtra = 0; + wcex.cbWndExtra = 0; + wcex.hInstance = hInstance; + wcex.hIcon = LoadIcon(hInstance, IDI_APPLICATION); + wcex.hCursor = LoadCursor(NULL, IDC_ARROW); + wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); + wcex.lpszMenuName = NULL; + wcex.lpszClassName = szWindowClass; + wcex.hIconSm = LoadIcon(wcex.hInstance, IDI_APPLICATION); + + return RegisterClassEx(&wcex); +} + +// Create the main window +BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) +{ + hInst = hInstance; // Store instance handle in our global variable + + HWND hWnd = CreateWindow( + szWindowClass, + szTitle, + WS_OVERLAPPEDWINDOW, + CW_USEDEFAULT, + 0, + CW_USEDEFAULT, + 0, + NULL, + NULL, + hInstance, + NULL); + + if (!hWnd) + { + return FALSE; + } + + ShowWindow(hWnd, nCmdShow); + UpdateWindow(hWnd); + + return TRUE; +} + +// Window procedure +LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + switch (message) + { + case WM_PAINT: + { + PAINTSTRUCT ps; + HDC hdc = BeginPaint(hWnd, &ps); + // TODO: Add any drawing code here... + EndPaint(hWnd, &ps); + break; + } + case WM_DESTROY: + PostQuitMessage(0); + break; + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + return 0; +} diff --git a/tasks.json b/tasks.json new file mode 100644 index 0000000..7b945a2 --- /dev/null +++ b/tasks.json @@ -0,0 +1,32 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "Build C/C++ Project", + "type": "shell", + "command": "g++", // Replace with your compiler command (e.g., g++ for GCC) + "args": [ + "-g", // Debug information + "app.cpp", // Replace with your source file(s) + "-o", + "DW-code.exe" // Replace with your desired output filename + ], + "group": { + "kind": "build", + "isDefault": true + }, + "problemMatcher": { + "owner": "cpp", + "fileLocation": ["relative", "${workspaceFolder}"], + "pattern": { + "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", + "file": 1, + "line": 2, + "column": 3, + "severity": 4, + "message": 5 + } + } + } + ] +} From 5fb3ed130c54ad47a2d37edbf95b0f978a95641d Mon Sep 17 00:00:00 2001 From: Rohit Agrawal <110839621+rohitagr0310@users.noreply.github.com> Date: Tue, 3 Oct 2023 21:50:20 +0530 Subject: [PATCH 02/17] vscode --- .vscode/c_cpp_properties.json | 18 +++++++++++ .vscode/launch.json | 24 ++++++++++++++ .vscode/settings.json | 59 +++++++++++++++++++++++++++++++++++ 3 files changed, 101 insertions(+) create mode 100644 .vscode/c_cpp_properties.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..f912847 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,18 @@ +{ + "configurations": [ + { + "name": "windows-gcc-x86", + "includePath": [ + "${workspaceFolder}/**" + ], + "compilerPath": "C:/MinGW/bin/gcc.exe", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "windows-gcc-x86", + "compilerArgs": [ + "" + ] + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..4f98498 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++ Runner: Debug Session", + "type": "cppdbg", + "request": "launch", + "args": [], + "stopAtEntry": false, + "externalConsole": true, + "cwd": "c:/Users/rohit/OneDrive/Documents/Big Projects/dw-code", + "program": "c:/Users/rohit/OneDrive/Documents/Big Projects/dw-code/build/Debug/outDebug", + "MIMode": "gdb", + "miDebuggerPath": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..3e5eb95 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,59 @@ +{ + "C_Cpp_Runner.cCompilerPath": "gcc", + "C_Cpp_Runner.cppCompilerPath": "g++", + "C_Cpp_Runner.debuggerPath": "gdb", + "C_Cpp_Runner.cStandard": "", + "C_Cpp_Runner.cppStandard": "", + "C_Cpp_Runner.msvcBatchPath": "", + "C_Cpp_Runner.useMsvc": false, + "C_Cpp_Runner.warnings": [ + "-Wall", + "-Wextra", + "-Wpedantic", + "-Wshadow", + "-Wformat=2", + "-Wcast-align", + "-Wconversion", + "-Wsign-conversion", + "-Wnull-dereference" + ], + "C_Cpp_Runner.msvcWarnings": [ + "/W4", + "/permissive-", + "/w14242", + "/w14287", + "/w14296", + "/w14311", + "/w14826", + "/w44062", + "/w44242", + "/w14905", + "/w14906", + "/w14263", + "/w44265", + "/w14928" + ], + "C_Cpp_Runner.enableWarnings": true, + "C_Cpp_Runner.warningsAsError": false, + "C_Cpp_Runner.compilerArgs": [], + "C_Cpp_Runner.linkerArgs": [], + "C_Cpp_Runner.includePaths": [], + "C_Cpp_Runner.includeSearch": [ + "*", + "**/*" + ], + "C_Cpp_Runner.excludeSearch": [ + "**/build", + "**/build/**", + "**/.*", + "**/.*/**", + "**/.vscode", + "**/.vscode/**" + ], + "C_Cpp_Runner.useAddressSanitizer": false, + "C_Cpp_Runner.useUndefinedSanitizer": false, + "C_Cpp_Runner.useLeakSanitizer": false, + "C_Cpp_Runner.showCompilationTime": false, + "C_Cpp_Runner.useLinkTimeOptimization": false, + "C_Cpp_Runner.msvcSecureNoWarnings": false +} \ No newline at end of file From 39ddd5e4b641071de33ab8adb8c37ab0f57df2ec Mon Sep 17 00:00:00 2001 From: Rohit Agrawal <110839621+rohitagr0310@users.noreply.github.com> Date: Wed, 4 Oct 2023 11:18:30 +0530 Subject: [PATCH 03/17] base window --- __pycache__/menu_bar.cpython-311.pyc | Bin 0 -> 2119 bytes app.cpp | 107 --------------------------- base_window.py | 25 +++++++ tasks.json | 32 -------- 4 files changed, 25 insertions(+), 139 deletions(-) create mode 100644 __pycache__/menu_bar.cpython-311.pyc delete mode 100644 app.cpp create mode 100644 base_window.py delete mode 100644 tasks.json diff --git a/__pycache__/menu_bar.cpython-311.pyc b/__pycache__/menu_bar.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ac87da3d1b7d4031ec173e28523015e126f26b74 GIT binary patch literal 2119 zcmcH(U27XhaQAMclOiiNwZTGOY=vCbR@YW5=a9wgPTQFaq^_w@zhCI2bLb#|2#`m&*v&h5_L&d$uv z=l&RvUm^$tXKyo0CFGUZ1b}-9r{Cc6oS4La2!M2p5J}k0g z$!O_9s<1=Ye>#QeIVqDWuD#Hsn=F$iX57wj z>&u*zNf+51&pl+BIm;*&SkbXFH**h?ceu6A4BVKH-Zw0hW$>t!UDf&2=3`&8idptm z&fy~TfYTmEp55NQ{dB3a0Qzp(kFD6RNKyl zwkDM65$)uq9h%Brr%#kJt;*B}8iLhS%F2;?fM+jS=aiI{YEV1@qg+im3U%LmE^oLm zuZULM|a2?H7`{nN3rghwP&&?{_45$A1JGR;;)_)|9Bst z&f~rOFL(!gc};Ak)R62>QT#s4=khG2_@TVM%JMvpN%Ykv_9#X9p!kRMCM)`|tUqL1 zn!w3VY#(l6pBU}=7P%7ba{4Z!@94!HuuQn<7`#HX8rKlXK6ZH&f6pQ}@_J#_)MvKd zF*ws5mTk4^jl5;(d3$CmU>Omz!sx$U@~ie6{2c!!?h+nDN=j*Zpcz)7pchTF+RQn= zI$Lsln6!I1UfN3z+1o-1avsi?0x8@ZyxxUV=HGX2d`6xk4b zMZLhXSzq~lqnYD~5X@WF=3%q8f - -// Global Variables -HINSTANCE hInst; // current instance -LPTSTR szTitle = TEXT("My Window"); // The title bar text -LPTSTR szWindowClass = TEXT("MyWindowClass"); // the main window class name - -// Function prototypes -ATOM MyRegisterClass(HINSTANCE hInstance); -BOOL InitInstance(HINSTANCE, int); -LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); - -// Entry point -int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) -{ - MyRegisterClass(hInstance); - - // Perform application initialization: - if (!InitInstance(hInstance, nCmdShow)) - { - return FALSE; - } - - MSG msg; - - // Main message loop: - while (GetMessage(&msg, NULL, 0, 0)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - - return (int)msg.wParam; -} - -// Register the window class. -ATOM MyRegisterClass(HINSTANCE hInstance) -{ - WNDCLASSEX wcex; - - wcex.cbSize = sizeof(WNDCLASSEX); - - wcex.style = CS_HREDRAW | CS_VREDRAW; - wcex.lpfnWndProc = WndProc; - wcex.cbClsExtra = 0; - wcex.cbWndExtra = 0; - wcex.hInstance = hInstance; - wcex.hIcon = LoadIcon(hInstance, IDI_APPLICATION); - wcex.hCursor = LoadCursor(NULL, IDC_ARROW); - wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); - wcex.lpszMenuName = NULL; - wcex.lpszClassName = szWindowClass; - wcex.hIconSm = LoadIcon(wcex.hInstance, IDI_APPLICATION); - - return RegisterClassEx(&wcex); -} - -// Create the main window -BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) -{ - hInst = hInstance; // Store instance handle in our global variable - - HWND hWnd = CreateWindow( - szWindowClass, - szTitle, - WS_OVERLAPPEDWINDOW, - CW_USEDEFAULT, - 0, - CW_USEDEFAULT, - 0, - NULL, - NULL, - hInstance, - NULL); - - if (!hWnd) - { - return FALSE; - } - - ShowWindow(hWnd, nCmdShow); - UpdateWindow(hWnd); - - return TRUE; -} - -// Window procedure -LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) -{ - switch (message) - { - case WM_PAINT: - { - PAINTSTRUCT ps; - HDC hdc = BeginPaint(hWnd, &ps); - // TODO: Add any drawing code here... - EndPaint(hWnd, &ps); - break; - } - case WM_DESTROY: - PostQuitMessage(0); - break; - default: - return DefWindowProc(hWnd, message, wParam, lParam); - } - return 0; -} diff --git a/base_window.py b/base_window.py new file mode 100644 index 0000000..3a10147 --- /dev/null +++ b/base_window.py @@ -0,0 +1,25 @@ +import tkinter as tk +from menu_bar import create_menu_bar + +def create_base_window(): + root = tk.Tk() + root.title("My Python IDE") + + # Create a menu bar using the imported function + create_menu_bar(root) + + # Create a text widget (for code editing) + text_widget = tk.Text(root, wrap=tk.WORD) + text_widget.pack(expand=tk.YES, fill=tk.BOTH) + + # Create a scrollbar for the text widget + scrollbar = tk.Scrollbar(text_widget) + scrollbar.pack(side=tk.RIGHT, fill=tk.Y) + text_widget.config(yscrollcommand=scrollbar.set) + scrollbar.config(command=text_widget.yview) + + return root + +if __name__ == "__main__": + app = create_base_window() + app.mainloop() diff --git a/tasks.json b/tasks.json deleted file mode 100644 index 7b945a2..0000000 --- a/tasks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Build C/C++ Project", - "type": "shell", - "command": "g++", // Replace with your compiler command (e.g., g++ for GCC) - "args": [ - "-g", // Debug information - "app.cpp", // Replace with your source file(s) - "-o", - "DW-code.exe" // Replace with your desired output filename - ], - "group": { - "kind": "build", - "isDefault": true - }, - "problemMatcher": { - "owner": "cpp", - "fileLocation": ["relative", "${workspaceFolder}"], - "pattern": { - "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", - "file": 1, - "line": 2, - "column": 3, - "severity": 4, - "message": 5 - } - } - } - ] -} From 956d30ef05a43f899dfbdb61810c7891b65c9790 Mon Sep 17 00:00:00 2001 From: Rohit Agrawal <110839621+rohitagr0310@users.noreply.github.com> Date: Wed, 4 Oct 2023 11:18:59 +0530 Subject: [PATCH 04/17] menu bar --- menu_bar.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 menu_bar.py diff --git a/menu_bar.py b/menu_bar.py new file mode 100644 index 0000000..7f9fe30 --- /dev/null +++ b/menu_bar.py @@ -0,0 +1,33 @@ +import tkinter as tk +from tkinter import Menu + +def on_exit(root): + root.destroy() + +def create_menu_bar(root): + menubar = Menu(root) + root.config(menu=menubar) + + file_menu = Menu(menubar) + menubar.add_cascade(label="File", menu=file_menu) + + file_menu.add_command(label="New") + file_menu.add_command(label="Open") + file_menu.add_separator() + file_menu.add_command(label="Save") + file_menu.add_command(label="Save As") + file_menu.add_separator() + file_menu.add_command(label="Exit", command=lambda: on_exit(root)) + + edit_menu = Menu(menubar) + menubar.add_cascade(label="Edit", menu=edit_menu) + + edit_menu.add_command(label="Cut") + edit_menu.add_command(label="Copy") + edit_menu.add_command(label="Paste") + +if __name__ == "__main__": + root = tk.Tk() + create_menu_bar(root) + root.mainloop() + \ No newline at end of file From ccc89dc902c70b2eecb11c1c249fb73f932124ee Mon Sep 17 00:00:00 2001 From: Rohit Agrawal <110839621+rohitagr0310@users.noreply.github.com> Date: Wed, 4 Oct 2023 11:25:03 +0530 Subject: [PATCH 05/17] edited the text editor to make it more better --- base_window.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/base_window.py b/base_window.py index 3a10147..4d6ffb1 100644 --- a/base_window.py +++ b/base_window.py @@ -1,5 +1,6 @@ import tkinter as tk from menu_bar import create_menu_bar +from tkinter import scrolledtext def create_base_window(): root = tk.Tk() @@ -9,15 +10,15 @@ def create_base_window(): create_menu_bar(root) # Create a text widget (for code editing) - text_widget = tk.Text(root, wrap=tk.WORD) + text_widget = scrolledtext.ScrolledText( + root, + wrap=tk.WORD, + font=("Consolas", 12), # Use a monospaced font like Consolas + insertbackground="Black", # Color of the cursor + selectbackground="lightblue" # Color of selected text + ) text_widget.pack(expand=tk.YES, fill=tk.BOTH) - # Create a scrollbar for the text widget - scrollbar = tk.Scrollbar(text_widget) - scrollbar.pack(side=tk.RIGHT, fill=tk.Y) - text_widget.config(yscrollcommand=scrollbar.set) - scrollbar.config(command=text_widget.yview) - return root if __name__ == "__main__": From 092acd37a85f64cb5d969a13b36a469c157de1cb Mon Sep 17 00:00:00 2001 From: Anshika Jain <115166105+jain-anshika@users.noreply.github.com> Date: Wed, 4 Oct 2023 21:32:17 +0530 Subject: [PATCH 06/17] Update README.md --- README.md | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 96 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4f47826..b4e7f58 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,96 @@ -# dw-code -an open source ide which has a style and look of a vs code but has the power and functionality that is provided in dev c++ or codeblocks +# dw-code: A Powerful Python IDE with VS Code Style + +[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/rohitagr0310/dw-code/blob/master/LICENSE) +[![GitHub stars](https://img.shields.io/github/stars/rohitagr0310/dw-code.svg)](https://github.com/rohitagr0310/dw-code/stargazers) +[![GitHub issues](https://img.shields.io/github/issues/rohitagr0310/dw-code.svg)](https://github.com/rohitagr0310/dw-code/issues) +[![GitHub pull requests](https://img.shields.io/github/issues-pr/rohitagr0310/dw-code.svg)](https://github.com/rohitagr0310/dw-code/pulls) + +## Overview + +"dw-code" is an open-source Integrated Development Environment (IDE) designed to provide the style and look of Visual Studio Code (VS Code) while offering the power and functionality of popular C/C++ IDEs like Dev C++ and Code::Blocks. It's built using Python and the tkinter library. This repository is open for **Hacktoberfest 2023!!** + + +## Features + +- VS Code-inspired user interface. +- Powerful code editing capabilities. +- Built-in menu bar for easy access to common functions. +- Syntax highlighting for multiple programming languages. +- Support for code autocompletion. +- Integrated file management and project organization. +- Extensible through plugins and extensions. +- Cross-platform, works on Windows, macOS, and Linux. + +## Getting Started + +To get started with "dw-code," follow these steps: + +1. Clone the repository: + + ```bash + git clone https://github.com/yourusername/dw-code.git + cd dw-code + ``` + +2. Create a virtual environment (optional but recommended): + + ```bash + python -m venv venv + source venv/bin/activate # On Windows, use `venv\Scripts\activate` + ``` + +3. Install dependencies: + + ```bash + pip install -r requirements.txt + ``` + +4. Run the application: + + ```bash + python main.py + ``` + +## Contributing + +We welcome contributions from the community to help improve "dw-code." Whether it's bug fixes, feature enhancements, documentation improvements, or new features, your contributions are highly appreciated. Please follow these guidelines to contribute: + +### How to Contribute + +1. **Star** the repository. + +2. **Fork** the repository to your GitHub account. + +3. **Clone** your forked repository to your local machine: + + ```bash + git clone https://github.com/rohitagr0310/dw-code.git + cd dw-code + ``` + +4. Create a new branch for your contribution: + + ```bash + git checkout -b feature-or-fix-branch + ``` + +5. **Test** your changes thoroughly to ensure they work as expected. + +6. Create a **Pull Request** (PR) from your branch to the `main` branch of the original repository. + +7. Provide a descriptive **title** and **description** for your PR, explaining what the changes accomplish. Better share screenshots of changes. + +8. Once your PR is approved and passes all checks, it will be merged into the main codebase by maintainers. + +## Support + +If you encounter any issues or have questions, please open an [issue](https://github.com/rohitagr0310/dw-code/issues). + +## Acknowledgments + +- Thanks to the Python community for creating and maintaining tkinter. +- Special thanks to the VS Code and C/C++ IDE communities for inspiration. + +--- + +Happy coding with "dw-code"! From 3c9961396f270f37b0e556cb5c653ca6c9f7e3cc Mon Sep 17 00:00:00 2001 From: jainankit0811 <115169073+jainankit0811@users.noreply.github.com> Date: Wed, 4 Oct 2023 22:16:20 +0530 Subject: [PATCH 07/17] Create CODE_OF_CONDUCT.md I am make a code of conduct. So please review and give feedback. --- CODE_OF_CONDUCT.md | 76 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..11171a6 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,76 @@ +# Code of Conduct + +Welcome to **dw-code** - an open-source project that values collaboration, creativity, and respect for all of its contributors. To ensure a positive and inclusive environment, we ask that you abide by our Code of Conduct. + +## Our Promise + +At **dw-code**, we pledge to create a welcoming space for everyone, regardless of their background, identity, or experience level. We believe in kindness, empathy, and collaboration. + +## Our Guidelines + +We encourage behavior that contributes to a thriving and supportive community, including: + +- Using language that is respectful and inclusive. +- Listening to and learning from different perspectives. +- Offering and accepting constructive feedback gracefully. +- Focusing on the best interests of the community. +- Showing empathy and support to fellow contributors. + +In our community, we do not tolerate: + +- The use of explicit language or offensive imagery. +- Harassment, trolling, or personal attacks. +- Public or private harassment. +- Sharing others' private information without permission. +- Any behavior that would be considered inappropriate in a professional setting. + +## Our Responsibility + +As maintainers of the **dw-code** project, we are committed to upholding these standards. We will take appropriate action in response to any violations of this Code of Conduct. Our goal is to maintain a respectful and inclusive atmosphere where all can feel safe and valued. + +## Reporting Concerns + +If you encounter behavior that violates this Code of Conduct, please report it to our project team through [E-mail]. Your report will be treated with respect and confidentiality. + +## Enforcement + +We reserve the right to remove, edit, or reject contributions that do not align with this Code of Conduct. In extreme cases, we may temporarily or permanently restrict individuals who engage in harmful behavior from contributing to the project. + +## Credits + +Our Code of Conduct is inspired by the Contributor Covenant and tailored to fit our **dw-code** project. + +Thank you for contributing positively to the **dw-code** community. Together, we can create an environment that fosters learning, collaboration, and creativity for everyone. + +--- + +**dw-code: A Powerful Python IDE with VS Code Style** +- License +- GitHub stars +- GitHub issues +- GitHub pull requests + +## Overview + +**dw-code** is an open-source Integrated Development Environment (IDE) designed to provide the style and look of Visual Studio Code (VS Code) while offering the power and functionality of popular C/C++ IDEs like Dev C++ and Code::Blocks. It's built using Python and the tkinter library. This repository is open for Hacktoberfest 2023!! + +## Features + +- VS Code-inspired user interface. +- Powerful code editing capabilities. +- Built-in menu bar for easy access to common functions. +- Syntax highlighting for multiple programming languages. +- Support for code autocompletion. +- Integrated file management and project organization. +- Extensible through plugins and extensions. +- Cross-platform, works on Windows, macOS, and Linux. + +## Getting Started + +To get started with **dw-code**, follow these steps: + +1. Clone the repository: + + ```bash + git clone https://github.com/rohitagr0310/dw-code.git + cd dw-code From b28b228717931a3d16a4380165607b6d579fd8e3 Mon Sep 17 00:00:00 2001 From: jainankit0811 <115169073+jainankit0811@users.noreply.github.com> Date: Wed, 4 Oct 2023 22:30:12 +0530 Subject: [PATCH 08/17] Update CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 11171a6..999cd54 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -38,9 +38,9 @@ We reserve the right to remove, edit, or reject contributions that do not align ## Credits -Our Code of Conduct is inspired by the Contributor Covenant and tailored to fit our **dw-code** project. +Our Code of Conduct is inspired by the [Contributor Covenant](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html) and tailored to fit our dw-code community. -Thank you for contributing positively to the **dw-code** community. Together, we can create an environment that fosters learning, collaboration, and creativity for everyone. +Thank you for contributing positively to the dw-code community. Together, we can create an environment that fosters learning, collaboration, and creativity for everyone --- @@ -64,13 +64,3 @@ Thank you for contributing positively to the **dw-code** community. Together, we - Integrated file management and project organization. - Extensible through plugins and extensions. - Cross-platform, works on Windows, macOS, and Linux. - -## Getting Started - -To get started with **dw-code**, follow these steps: - -1. Clone the repository: - - ```bash - git clone https://github.com/rohitagr0310/dw-code.git - cd dw-code From f7fa03b01308fdbdba05f67ca0fc85c356770c77 Mon Sep 17 00:00:00 2001 From: jainankit0811 <115169073+jainankit0811@users.noreply.github.com> Date: Wed, 4 Oct 2023 22:35:35 +0530 Subject: [PATCH 09/17] Update CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 999cd54..1a7f5c6 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -40,27 +40,4 @@ We reserve the right to remove, edit, or reject contributions that do not align Our Code of Conduct is inspired by the [Contributor Covenant](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html) and tailored to fit our dw-code community. -Thank you for contributing positively to the dw-code community. Together, we can create an environment that fosters learning, collaboration, and creativity for everyone - ---- - -**dw-code: A Powerful Python IDE with VS Code Style** -- License -- GitHub stars -- GitHub issues -- GitHub pull requests - -## Overview - -**dw-code** is an open-source Integrated Development Environment (IDE) designed to provide the style and look of Visual Studio Code (VS Code) while offering the power and functionality of popular C/C++ IDEs like Dev C++ and Code::Blocks. It's built using Python and the tkinter library. This repository is open for Hacktoberfest 2023!! - -## Features - -- VS Code-inspired user interface. -- Powerful code editing capabilities. -- Built-in menu bar for easy access to common functions. -- Syntax highlighting for multiple programming languages. -- Support for code autocompletion. -- Integrated file management and project organization. -- Extensible through plugins and extensions. -- Cross-platform, works on Windows, macOS, and Linux. +Thank you for contributing positively to the dw-code community. Together, we can create an environment that fosters learning, collaboration, and creativity for everyone. From d3e87905f8a4d03c4c99540310d4e31d42a481a8 Mon Sep 17 00:00:00 2001 From: jainankit0811 <115169073+jainankit0811@users.noreply.github.com> Date: Wed, 4 Oct 2023 22:48:05 +0530 Subject: [PATCH 10/17] Create CONTRIBUTING.md --- CONTRIBUTING.md | 65 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..6f09291 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,65 @@ +## Contributing + +We welcome contributions from the community to help improve "dw-code." Whether it's bug fixes, feature enhancements, documentation improvements, or new features, your contributions are highly appreciated. Please follow these guidelines to contribute: + +### How to Contribute + +1. *Fork* the repository to your GitHub account. + +2. *Clone* your forked repository to your local machine: + + ``` + git clone https://github.com/rohitagr0310/dw-code.git + cd dw-code + ``` + +3. Star the repositry + + +4. Create a new branch for your contribution: + + ``` + git checkout -b feature-or-fix-branch + ``` + + Use a descriptive branch name that reflects the nature of your contribution (e.g., fix-bug-123, add-autocompletion-feature, etc.). + +5. Make your changes or additions to the codebase. + +6. *Test* your changes thoroughly to ensure they work as expected. + +7. *Commit* your changes with a clear and concise commit message: + + ``` + git commit -m "Brief description of your changes" + ``` + +8. *Push* your changes to your fork on GitHub: + + ``` + git push origin feature-or-fix-branch + ``` + + +9. Create a *Pull Request* (PR) from your branch to the main branch of the original repository. + +10. Provide a descriptive *title* and *description* for your PR, explaining what the changes accomplish. + +11. Our team will review your PR and may provide feedback or request changes. Please be responsive to any comments or suggestions. + +12. Once your PR is approved and passes all checks, it will be merged into the main codebase. + +### Code Style and Guidelines + +Please follow these coding conventions when contributing to "dw-code": + +- Use consistent code formatting (e.g., PEP 8 for Python). +- Write clear and concise code comments and documentation. +- Ensure that your code is well-documented, especially for new features or complex changes. +- Test your code thoroughly and include appropriate test cases. + +### Report Issues + +If you encounter bugs, have feature requests, or need assistance, please open an [issue](https://github.com/rohitagr0310/dw-code/issues) on our GitHub repository. Provide detailed information about the problem or request, including steps to reproduce the issue. + +Thank you for your contributions and for helping make "dw-code" better for everyone! From dff0c8777de5eda0282cdbae6f58549de3803c1c Mon Sep 17 00:00:00 2001 From: Anshika Jain <115166105+jain-anshika@users.noreply.github.com> Date: Wed, 4 Oct 2023 22:49:28 +0530 Subject: [PATCH 11/17] Update README.md --- README.md | 31 ++----------------------------- 1 file changed, 2 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index b4e7f58..4599cdb 100644 --- a/README.md +++ b/README.md @@ -50,37 +50,10 @@ To get started with "dw-code," follow these steps: ```bash python main.py ``` - + ## Contributing -We welcome contributions from the community to help improve "dw-code." Whether it's bug fixes, feature enhancements, documentation improvements, or new features, your contributions are highly appreciated. Please follow these guidelines to contribute: - -### How to Contribute - -1. **Star** the repository. - -2. **Fork** the repository to your GitHub account. - -3. **Clone** your forked repository to your local machine: - - ```bash - git clone https://github.com/rohitagr0310/dw-code.git - cd dw-code - ``` - -4. Create a new branch for your contribution: - - ```bash - git checkout -b feature-or-fix-branch - ``` - -5. **Test** your changes thoroughly to ensure they work as expected. - -6. Create a **Pull Request** (PR) from your branch to the `main` branch of the original repository. - -7. Provide a descriptive **title** and **description** for your PR, explaining what the changes accomplish. Better share screenshots of changes. - -8. Once your PR is approved and passes all checks, it will be merged into the main codebase by maintainers. +Contributions are welcome! If you'd like to contribute to "dw-code," please check out our [contribution guidelines](CONTRIBUTING.md). ## Support From 33eb45717159af57e51a3c4997e6e31fddad55d2 Mon Sep 17 00:00:00 2001 From: Anshika Jain <115166105+jain-anshika@users.noreply.github.com> Date: Wed, 4 Oct 2023 23:28:10 +0530 Subject: [PATCH 12/17] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4599cdb..f358f15 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,8 @@ "dw-code" is an open-source Integrated Development Environment (IDE) designed to provide the style and look of Visual Studio Code (VS Code) while offering the power and functionality of popular C/C++ IDEs like Dev C++ and Code::Blocks. It's built using Python and the tkinter library. This repository is open for **Hacktoberfest 2023!!** - +## TODO: +Before opening any issue refer to [TODO.md](https://github.com/rohitagr0310/dw-code/TODO.md ## Features - VS Code-inspired user interface. From 9faa9fb70979c2b6df1ec179f86667bcdfb48c78 Mon Sep 17 00:00:00 2001 From: Anshika Jain <115166105+jain-anshika@users.noreply.github.com> Date: Wed, 4 Oct 2023 23:31:25 +0530 Subject: [PATCH 13/17] Create TODO.md --- TODO.md | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 TODO.md diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..151b262 --- /dev/null +++ b/TODO.md @@ -0,0 +1,110 @@ +## TODO: + +Designing a full-fledged C/C++ IDE with all the mentioned features is a complex and time-consuming task. However, I can provide you with an outline of how you can approach building such an IDE: + +1. **User Interface (UI) Design:** + - Create a UI layout similar to Visual Studio Code (VS Code) with a menu bar, toolbar, code editor area, sidebar, and status bar. + - Implement theming functionality to allow users to customize the IDE's appearance. + +2. **Custom Controls:** + - Depending on your platform (e.g., Windows, macOS, Linux), you may need to create custom controls or use third-party libraries to mimic the VS Code interface. + +3. **Menu Bar and Toolbar:** + - Create a menu bar with common options like "File," "Edit," "View," "Tools," and "Help." + - Add toolbar buttons for actions like opening files, saving, compiling, and running code. + +4. **Code Editor Area:** + - Implement a code editor with features like syntax highlighting, code folding, and auto-completion. You can consider using existing code editor libraries like CodeMirror, Monaco Editor, or building your own. + +5. **Sidebar:** + - Create a sidebar for project management, file navigation, and other functionalities. Include options to expand or collapse the sidebar to maximize the code editor area. + +6. **Status Bar:** + - Add a status bar at the bottom of the window to display information like build status, line/column numbers, etc. + +7. **Keyboard Shortcuts:** + - Implement keyboard shortcuts for common actions to enhance user productivity. + +8. **Theming Engine:** + - Develop a theming engine to support different themes for the IDE's appearance. + +9. **Accessibility:** + - Ensure your IDE is accessible by following accessibility guidelines and making it screen reader-friendly. + +10. **User Preferences:** + - Allow users to customize settings such as font size, font family, indentation, and other preferences. + +11. **Testing and User Feedback:** + - Thoroughly test your IDE for usability and responsiveness on different screen sizes and resolutions. + - Gather user feedback to make improvements continually. + +12. **Code Intelligence:** + - Implement code completion, navigation, refactoring, linting, and static analysis features. + +13. **Debugger Integration:** + - Integrate a debugger with breakpoints, watch windows, and call stack support. + - Enable variable inspection and modification during debugging. + - Integrate with popular debuggers like GDB or LLDB. + +14. **Version Control:** + - Integrate Git with features like commit, push, pull, and branch management. + - Provide visual diff and merge tools for resolving conflicts. + +15. **Project Management:** + - Offer project templates for various C/C++ project types. + - Implement dependency management for libraries and packages. + - Integrate with build systems like CMake. + +16. **Multi-Language Support:** + - Extend support to other programming languages like Python or Rust with syntax highlighting and language-specific tooling. + +17. **Extensions and Plugins:** + - Develop an extension system for users to customize their IDE experience. + - Create a marketplace for users to discover and install extensions. + +18. **Customization:** + - Allow users to customize the UI by rearranging panels, tabs, and views. + - Support user-defined themes and color schemes. + +19. **Collaboration Features:** + - Consider implementing real-time collaborative coding and integration with collaboration platforms like Microsoft Teams or Slack. + +20. **Performance Optimization:** + - Include code optimization tools, profilers, and support for parallel compilation. + +21. **Documentation Integration:** + - Integrate with documentation generators and APIs for quick access to documentation. + - Provide contextual help and tooltips for functions and APIs. + +22. **Error Handling and Diagnostics:** + - Implement real-time error checking with detailed error messages. + - Offer suggestions for fixing common programming errors. + +23. **Deployment and Packaging:** + - Provide tools for packaging and distributing C/C++ applications. + - Support cross-compilation to target different platforms. + +24. **Unit Testing:** + - Integrate with unit testing frameworks for C/C++. + - Offer test result visualization and debugging support. + +25. **Profiling and Performance Analysis:** + - Include profiling tools for identifying code bottlenecks and memory usage analysis. + +26. **Integration with Cloud Services:** + - Integrate with cloud-based development and storage services like Azure, AWS, or Google Cloud. + +27. **Code Metrics and Analytics:** + - Offer code complexity analysis, code coverage analysis, and security vulnerability scanning. + +28. **Cross-Platform Support:** + - Extend your IDE to work on multiple platforms (Windows, macOS, Linux). + +29. **Internationalization and Localization:** + - Support multiple languages and locales. + - Localize the user interface. + +30. **Continuous Integration/Continuous Deployment (CI/CD) Integration:** + - Integrate with CI/CD pipelines for automated testing and deployment. + +Building such an IDE is a significant undertaking that requires a dedicated team of developers and designers. It's essential to prioritize features based on your target audience and continuously iterate based on user feedback and emerging trends in software development. From b6d0aa57ca7986abb7f02611cc21235c57ecb80a Mon Sep 17 00:00:00 2001 From: Rohit Agarwal <110839621+rohitagr0310@users.noreply.github.com> Date: Wed, 4 Oct 2023 23:38:40 +0530 Subject: [PATCH 14/17] Create python-app.yml --- .github/workflows/python-app.yml | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/python-app.yml diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml new file mode 100644 index 0000000..f3d4fca --- /dev/null +++ b/.github/workflows/python-app.yml @@ -0,0 +1,39 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: Python application + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +permissions: + contents: read + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: | + pytest From e2766a2a9bbaf16e86f9ed5afc7a012c18b1b40d Mon Sep 17 00:00:00 2001 From: Anshika Jain <115166105+jain-anshika@users.noreply.github.com> Date: Wed, 4 Oct 2023 23:39:26 +0530 Subject: [PATCH 15/17] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f358f15..bcd0c36 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,8 @@ "dw-code" is an open-source Integrated Development Environment (IDE) designed to provide the style and look of Visual Studio Code (VS Code) while offering the power and functionality of popular C/C++ IDEs like Dev C++ and Code::Blocks. It's built using Python and the tkinter library. This repository is open for **Hacktoberfest 2023!!** ## TODO: -Before opening any issue refer to [TODO.md](https://github.com/rohitagr0310/dw-code/TODO.md +Before opening any issue refer to TODO.md file. + ## Features - VS Code-inspired user interface. From 20271034180849b94e28d234a44974bfbf218458 Mon Sep 17 00:00:00 2001 From: Anshika Jain <115166105+jain-anshika@users.noreply.github.com> Date: Wed, 4 Oct 2023 23:45:08 +0530 Subject: [PATCH 16/17] Create requirements.txt --- requirements.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ + From 88552172a55515def60b67e58c5f4a51c6c61053 Mon Sep 17 00:00:00 2001 From: qaidjoharj53 Date: Thu, 5 Oct 2023 00:37:45 +0530 Subject: [PATCH 17/17] documentation update --- README.md | 66 +++++++++++++++------------ __pycache__/menu_bar.cpython-311.pyc | Bin 2119 -> 2126 bytes base_window.py => main.py | 0 3 files changed, 36 insertions(+), 30 deletions(-) rename base_window.py => main.py (100%) diff --git a/README.md b/README.md index f358f15..9b559c9 100644 --- a/README.md +++ b/README.md @@ -10,48 +10,54 @@ "dw-code" is an open-source Integrated Development Environment (IDE) designed to provide the style and look of Visual Studio Code (VS Code) while offering the power and functionality of popular C/C++ IDEs like Dev C++ and Code::Blocks. It's built using Python and the tkinter library. This repository is open for **Hacktoberfest 2023!!** ## TODO: -Before opening any issue refer to [TODO.md](https://github.com/rohitagr0310/dw-code/TODO.md + +Before opening any issue refer to [TODO.md](https://github.com/rohitagr0310/dw-code/blob/main/TODO.md) + ## Features -- VS Code-inspired user interface. -- Powerful code editing capabilities. -- Built-in menu bar for easy access to common functions. -- Syntax highlighting for multiple programming languages. -- Support for code autocompletion. -- Integrated file management and project organization. -- Extensible through plugins and extensions. -- Cross-platform, works on Windows, macOS, and Linux. +- VS Code-inspired user interface. +- Powerful code editing capabilities. +- Built-in menu bar for easy access to common functions. +- Syntax highlighting for multiple programming languages. +- Support for code autocompletion. +- Integrated file management and project organization. +- Extensible through plugins and extensions. +- Cross-platform, works on Windows, macOS, and Linux. ## Getting Started To get started with "dw-code," follow these steps: -1. Clone the repository: +1. Star the repository ⭐ + +2. Fork the repository 🍴 + +3. Clone the repository: + + ```bash + git clone https://github.com/yourusername/dw-code.git + cd dw-code + ``` - ```bash - git clone https://github.com/yourusername/dw-code.git - cd dw-code - ``` +4. Create a virtual environment (optional but recommended): -2. Create a virtual environment (optional but recommended): + ```bash + python -m venv venv + source venv/bin/activate # On Windows, use `venv\Scripts\activate` + ``` - ```bash - python -m venv venv - source venv/bin/activate # On Windows, use `venv\Scripts\activate` - ``` +5. Install dependencies: -3. Install dependencies: + ```bash + pip install -r requirements.txt + ``` - ```bash - pip install -r requirements.txt - ``` +6. Run the application: -4. Run the application: + ```bash + python main.py + ``` - ```bash - python main.py - ``` - ## Contributing Contributions are welcome! If you'd like to contribute to "dw-code," please check out our [contribution guidelines](CONTRIBUTING.md). @@ -62,8 +68,8 @@ If you encounter any issues or have questions, please open an [issue](https://gi ## Acknowledgments -- Thanks to the Python community for creating and maintaining tkinter. -- Special thanks to the VS Code and C/C++ IDE communities for inspiration. +- Thanks to the Python community for creating and maintaining tkinter. +- Special thanks to the VS Code and C/C++ IDE communities for inspiration. --- diff --git a/__pycache__/menu_bar.cpython-311.pyc b/__pycache__/menu_bar.cpython-311.pyc index ac87da3d1b7d4031ec173e28523015e126f26b74..571ec7a9e4183e00c3fbfeffdeb8e6950313417e 100644 GIT binary patch delta 106 zcmX>ua87`GIWI340}#w#BfF7XjnT-}*(xTqIJKxarZ6!xB`d}yKe;qFHLs*N#yzvd zqckbTBQd!oKPj~+Ew#8r*T}%gcyj_{6dPm5na9n_UIWI340}$~1lG(_u#;EV)Y!wq)oLW>IQ