Updated 28-Jun-2024
Visual Studio Code Editor -- aka vscode, code -- is my current editor of choice. I used the venerable Atom editor for a number of years. Both use Electron as the platform for development, aka node/js/css. Atom was a Facebook project which has since been abandoned. It is very similar, and not difficult to switch to. In the past I've looked at, and used, quite a few editors, but vscode is the best for a desktop operating system. For something like browser-only or a mobile OS (e.g., ChromeOS, Android), then something horribly limited like Caret is an option, though I prefer the Android app QuickEdit Pro.
Other Articles on Editors
- Visual Studio Code Editor
- Multiplatform Text Editors and the Cloud
- Node.js and Coffeescript for Publishing
- Best Editors of 2014 - Updated
Use Case and Competitors
The main use case for this device is an open-source, cross-platform, desktop application with widespread use and support. There are few options here, and VS Code is the top of the list. Another option is Brackets, which is an Adobe product. Sublime Text is one of the forerunners of this kind of editor, but it is not open source, and has a horrible bug that makes it unusable due to lack of support for Indic Fonts aka South/Southeast Asian Fonts (e.g., Myanmar, Thai, Lao, Khmer, and dozens of Indian languages). Also there are just too many warts on that toad, and the developers simply do not have the same goals.
There are two main use cases, which are writing books and writing code. For both of these, the integration of git is nice.
Avoid Public Clouds
In the past, a browser / javascript-based editor and cloud access was seen as a great option and made cross-platform support easy. In the new age of privacy and social hacking, anything accessible by public cloud and social media companies is beyond suspect. Syncthing is the solution to multi-device, multi-platform access to files, and the use of Android and Linux applications makes a synchronized private cloud easy to use and manage.
VSCode Tips and Tweaks
- Multi-root Workspaces
- VS Code User and Workspace Settings
> File > Preferences > Settings > Window
Restore Windows: all- To open a new window (and hence workspace) drop down into command prompt, navigate to the directory, then type
code .
- Use Code Spell Checker extension for spelling, and soft link the hunspell directory as in:
ln -s /usr/share/hunspell ~/.config/Code/Dictionaries
- Add the following to the
> Preferences > Settings > Edit file in .json
:
,
"files.eol": "\n",
"files.insertFinalNewline": true
}
For VSCode and markdown-its
extensions there are things like Markdown+Math which embeds KaTeX for math rendering, and Markdodwn Extended that includes a number of popular extensions in a bundle. There is also things like the Graphviz Markdown Preview extension.
ChromeOS as Converging Platform
ChromeOS with its Android and Linux support is enabling single device multi-platform application support. Because of issues with allowing Google to control the security on the system, what this really means is that cheap and functional devices are now available which will allow native Linux to run unfettered. The end-result of ChromeOS should actually be Linux on the laptop.
This means of course that vscode
will be able to run on the linux subsystem, or natively if booting into linux on a chromebook.