The Atom page meanwhile says: “Atom and all repositories under Atom will be archived on December 15, 2022″. The respective sunsetting document adds, that Atom — “the hackable text editor for the 21st Century”, developed by GitHub — “[…] had not had significant feature development for the past several years” and that GitHub has therefore “[…] decided to retire Atom” in favor for “Microsoft Visual Studio Code”
That “Microsoft had bought GitHub” in 2018 might have facilitated that reasonable decision: A sponsor should not to split his forces between two identical products — even if I, as a result, find myself again riding a dead horse. Thus, I have to change onto a living horse like Visual Studio Code, often recommended by my colleagues. But it should allow me to do, what I could do with Atom during the last years.
1. What’s wrong with the Editor Visual Studio Code
“Microsoft Visual Studio Code” is told to be open source software. Nevertheless, the situation is complicated:
- Yes, the core of ‘Visual Studio Code’ — called Code — OSS — is offered as Free Software licensed under the MIT license.
- But, eventually MS does with Code — OSS, what anyone else is allowed to do: it takes the core, enriches it and embeds it into its own product biotope: “VS Code is a Microsoft licensed distribution of ‘Code – OSS’ that includes Microsoft proprietary assets and features like Visual Studio Marketplace integration and telemetry system that are not available in Code-OSS”. Accordingly, “VS Code” is distributed under the terms of specific Microsoft License.
- Even if you can stop the telemetry data from being sent, the actual stone of contention is this: The functionality of VSCode is extended by — surprise — extensions, offered by the Visual Studio Marketplace. But these extensions are — as the Microsoft Visual Studio Marketplace Terms of Use say — “[…] intended for use only with In-Scope Products and Services” (§1.b) where the term In-Scope Products is defined as “products and services […] offered by us [Microsoft] and GitHub […]” (§0/Opening).
So even if the ‘VSCode’ is open source and MS does with the Code-OSS what it is allowed to do, it restricts the use of the extensions: Extensions provided by MS must not be used / installed in any other Code-OSS program provided by any other distributor, even if these extensions themselves mostly are free software.
This may be legally okay, but it smells a little. Thus, I looked for an alternative. Here are the results of my efforts:
2. What’s wrong with the Editor VSCcodium
VSCodium is intended to be the “Free/Libre Open Source Software Binaries of VS Code”: It wants to solve the license issues of VSCode and delivers “binaries […] licensed under the MIT license (with disabled) Telemetry […]”. Consequently, using VSCodium legally excludes the installation of extensions, offered by the Visual Studio Marketplace, even it is technically possible
To alleviate this problem, another free Marketplace for “Extensions for VS Code Compatible Editors” has been set up: OPEN VSX. But there is still an open issue: “Since (Open VSX) is a rather new project, you will likely miss some extensions you know from the VS Code Marketplace”.
Thus, it needs a little brain power, joy in trying things out and openness to alternatives to get your instance of VSCodium run in the same manner as your instance of Atom did.
3. What Could My Atom Instance Do?
My Atom instance offered me
- [x] text editing with vim commands
- [x] syntax highlighting for
- [x] markdown files with GitHub flavor
- [x] LaTeX files
- [x] LilyPond files
- [x] Javascript, CSS, HTML
- [x] a markdown preview
- [x] a conversion of GitHub flavored markdown files to PDF
- [x] a spell checker even for multilingual documents
- [x] indentation with blanks instead of
tabs
It offered many more options, but these are those I needed.
4. VSCodium as Replacement for Atom
4.1 Installing VSCodium in Ubuntu 22.04
The following section follows an article of linuxcapable.com:
- Update your installation by
sudo apt update && sudo apt upgrade
- Install a required layer by
sudo apt install apt-transport-https gnupg2 -y
- Integrate the VSCodium key into your keyring by
wget -O- https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | sudo gpg --dearmor | sudo tee /usr/share/keyrings/vscodium.gpg
- Integrate the VSCodium repository in your environment by
echo deb [signed-by=/usr/share/keyrings/vscodium.gpg] https://download.vscodium.com/debs vscodium main | sudo tee /etc/apt/sources.list.d/vscodium.list
- Let the list of sources be update by
sudo apt update
- Install VSCodium by
sudo apt install codium -y
4.2 Customizing VSCodium
One thing in advance: VSCodium is automatically linked to the OPEN VSX Marketplace. Hence, you can install, what you want without violating the Microsoft Rules
4.2.1 Configure VSCodium
Before installing extensions, configure the existing options by calling File/Preferences/Settings
and inserting the following values
Text-Editor: Tab Size => 2
(no waste of space)Text-Editor: Insert Spaces => true
(The same structure image on different editors)Text-Editor: Word Wrap => on
(no manually inserted line breaks in paragraphs)Text-Editor: Bracket Pair Colorization => true
(don’t get lost in your code)Text-Editor: Code Lense => true
(permit context information)
Then call File/Preferences/Extensions
, search in the Marketplace for the following extensions and press install
:
4.2.2 A VIM Mode
The Open VSX Marketplace offers some VIM extensions. Personally, I felt a great difference between the original behavior and that of those who claimed to emulate it: some of them limit themselves to Syntax Highlighting, while others do not implement the : commands
. In the meantime, I ended up with NeoVim once. But the handling of the cursor drove me crazy. Thus, I switched back to the standard extension vscodevim.
4.2.3 Get Your Markdown Environment
- Open
File/Preferences/Extensions
in VSCodium, insertMarkdown
in the search field and install - Markdown All in One (yzhang)
- Markdown Checkbox (PKief)
- Markdown Converter (manuth)
You reach the preview via
- selecting the window symbol in the upper right corner for getting the preview or
- opening
View/Command Palette
and insert>Markdown preview
For converting the md-document to PDF, open View/Command Palette
and insert >Markdown convert
At your first conversion order, you will be asked to permit the download of a chromium instance into the extension directory. If that does not fit the policy of your machine, you can configure the Chromium Path
in Settings/Extensions/MarkdownConverter-Options
4.2.4 Get Your LaTeX Environment
VSCodium has a built-in syntax highlighting for LaTeX. (There is still an extension LaTeX language support, but that’s relevant only for elder VSCodium versions)
For converting LaTeX Files into PDF (etc.), I use the means and tools on the Ubuntu level.
4.2.5 Get Your Lilypond Environment
- Open
File/Preferences/Extensions
in VSCodium, insertLilyPond
and install LilyPond Syntax (jeandeaual)
4.2.6 Get Your Web-Developer Environment
- VSCodium has a built-in syntax highlighting for HTML, Javascript and CSS.
4.2.7 A good Spell-Checker Environment for LaTex, Markdown etc.
- Open
File/Preferences/Extensions
in VSCodium, insertLTeX
and install LTeX LanguageTool … (valentjn) [Note: LTeX is not a typo!] - Open
File/Preferences/Settings/Extensions/LTeX
in VSCodium and setLTeX:Language => de-DE
or whatever your preferred language is. - If you are going to write a document in another language, open it with a respective magic comment
- in LaTeX:
% LTeX:Language=en-US
- in Markdown:
<!-- LTeX:Language=en-US -->
- If you want to add a piece of foreign text into your document, insert the respective magic comment above this text and the respective resetting comment a line after it.
4.2.8 Some Other Helpful Extensions
- Auto Close Tag (formulahendry) (Automatically add HTML/XML close tag,)
- Auto Rename Tag (formulahendry) (Automatically rename paired HTML/XML tag)
- Better Comments (aaron-bond) (Colorize and rank your comments: Important, TODO, …)
- CodeSnap (adpyke) (Take beautiful screenshots of your code via expanded context menu )
- File Utils (sleistner) (Rename, move, … files via expanded context menu)
- Prettier (esbenp) (Let your documents consistently be formatted)
- Scheme (jeandeaual) (Deal with ‘Scheme’ documents used in Lilyoond)
- TODO Highlight (wayou) (Let the TODOs in a document be highlighted)
- vscode-pdf (tomoki1207) (View PDFs inside of VSCodium)
- YAML (redhat) (Deal with YAML files)
- YAML & JSON (hilleer) (convert YAMl 2 JSON and vice versa)