The Atom page says: “Atom and all repositories under Atom will be archived on December 15, 2022″. 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”. What a disappointment for an Atom lover like me. So — what now?
That “Microsoft had bought GitHub” in 2018 might have facilitated that reasonable decision: A sponsor should not 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
People say “Microsoft Visual Studio Code” is open-source software. But we have to consider the situation thoroughly:
- Yes, the copyright owners distribute the core of ‘Visual Studio Code’ — called Code — OSS — under the terms of the MIT license.
- And, eventually, MS does with Code — OSS, what anyone else may 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, actually there is another stone of contention. We extend the functionality of VSCode by — surprise — extensions from 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, although ‘VSCode’ is open source software and MS does with the Code-OSS what it may do, MS restricts the use of the extensions. We may not use/install MS extensions provided by MS 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 if it is technically possible
To alleviate this problem, we can use another free Marketplace for “Extensions for VS Code Compatible Editors”: 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, we need joy in figuring things out. We must stay open to alternatives if our VSCodium shall run in the same manner as our 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
Atom had many more options, of course. But I only needed these over a long period.
4. VSCodium as Replacement for Atom
4.1 Installing VSCodium in Ubuntu 22.04
The following section follows an article from 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 updated by
sudo apt update
- Install VSCodium by
sudo apt install codium -y
4.2 Customizing VSCodium
One thing in advance: By default, VSCodium uses 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, the tool asks you 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 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 to 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)
And in what way is this …
… part of the overarching topic FOSS ? Well, my professional life is dominated by free software and open source compliance. But sometimes I find more offbeat tools that are still worth sharing — at least with my forgetful future ‘me’. To whom I like to recommend — for example — suitable, advanced editors. Or ancient preparatory work. Or some free music editors for compositoy work. But with some posts, I just want to remind my later ‘me’ of attitudes, points of view, and attitudes. So that I don’t fall behind myself. That’s what it’s about in here too.