Desk
A light-weight ide for competitive programming. The editor uses ace-editor as syntax highlighter and electron that wraps up everything.
Features
- Auto Detect language from file extensions and configure its system commands accordingly. No need to setup build files, install and ready to go.
- There is a IO panel to quickly change inputs. Custom IO files are also supported.
- Keyboard shortcuts to compile/run/stop.
- Minimal design, dark theme.
Downloads
Instructions
- For executing Java files, please make sure that the class name that contains
main()
method is same as the filename. - In case of custom build paths, configure the ide in settings>build commands.
Important Keyboard Shortcuts
- Ctrl + 1 : Compile
- Ctrl + 2 : Start Execution
- Ctrl + 3 : Stop Execution
- Ctrl + I : Toggle I/O Panel
Running Locally
Prerequisites
Setup
-
Install electron globally
npm install electron -g
You might face installation issues. If the above fails, this should work:
npm install -g electron --unsafe-perm=true --allow-root
-
Clone the repository
git clone https://github.com/svr8/Desks.git
-
Install dependencies
cd
into cloned directory and execute:npm install
Run
- Run
npm start
Build
Please refer to the tutorial on electron-installer-debian and electron-packager.
Build Linux
electron-packager . --overwrite --asar=true --platform=linux --arch=x64 --icon=assets/icons/png/512x512.png --prune=true --out=release-builds
Build .deb using Build Linux
electron-installer-debian --src release-builds/Desk-linux-x64/ --arch amd64 --config debian.json
Mac Build
electron-packager . --overwrite --platform=darwin --arch=x64 --icon=assets/icons/mac/icon.icns --prune=true --out=release-builds
Windows Build
electron-builder --windows nsis:ia32
Contribution
Feel free to fork and send PRs or even open issues. Please send any feature requests as issues too. It would be great if you can help in adding support for more languages. Checkout Wiki for detailed information. Moreover, there is a custom source-code-editor in pre-alpha stage here.
Credits
Designed By : Divyakant Singh and Veer Singh
Developed By : Shikhar Vaish (MIT LICENSE)