Visual Studio Code Editor

Updated 10-Feb-2021

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

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

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.