About Dead and Living Horses: Atom vs. VSCod[e|ium]

The Atom page mean­while says: “Atom and all repos­i­to­ries under Atom will be archived on Decem­ber 15, 2022″. The respec­tive sun­set­ting doc­u­ment adds, that Atom — “the hack­able text edi­tor for the 21st Cen­tu­ry”, devel­oped by GitHub“[…] had not had sig­nif­i­cant fea­ture devel­op­ment for the past sev­er­al years” and that GitHub has there­fore “[…] decid­ed to retire Atom” in favor for “Microsoft Visu­al Stu­dio Code”

That “Microsoft had bought GitHub in 2018 might have facil­i­tat­ed that rea­son­able deci­sion: A spon­sor should not to split his forces between two iden­ti­cal prod­ucts — even if I, as a result, find myself again rid­ing a dead horse. Thus, I have to change onto a liv­ing horse like Visu­al Stu­dio Code, often rec­om­mend­ed by my col­leagues. But it should allow me to do, what I could do with Atom dur­ing the last years.

1. What’s wrong with the Editor Visual Studio Code

“Microsoft Visu­al Stu­dio Code” is told to be open source soft­ware. Nev­er­the­less, the sit­u­a­tion is com­pli­cat­ed:

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 exten­sions: Exten­sions pro­vid­ed by MS must not be used / installed in any oth­er Code-OSS pro­gram pro­vid­ed by any oth­er dis­trib­u­tor, even if these exten­sions them­selves most­ly are free soft­ware.

This may be legal­ly okay, but it smells a lit­tle. Thus, I looked for an alter­na­tive. Here are the results of my efforts:

2. What’s wrong with the Editor VSCcodium

VSCodi­um is intend­ed to be the “Free/Libre Open Source Soft­ware Bina­ries of VS Code”: It wants to solve the license issues of VSCode and deliv­ers “bina­ries […] licensed under the MIT license (with dis­abled) Teleme­try […]”. Con­se­quent­ly, using VSCodi­um legal­ly excludes the instal­la­tion of exten­sions, offered by the Visu­al Stu­dio Mar­ket­place, even it is tech­ni­cal­ly pos­si­ble

To alle­vi­ate this prob­lem, anoth­er free Mar­ket­place for “Exten­sions for VS Code Com­pat­i­ble Edi­tors” has been set up: OPEN VSX. But there is still an open issue: “Since (Open VSX) is a rather new project, you will like­ly miss some exten­sions you know from the VS Code Mar­ket­place”.

Thus, it needs a lit­tle brain pow­er, joy in try­ing things out and open­ness to alter­na­tives to get your instance of VSCodi­um run in the same man­ner as your instance of Atom did.

3. What Could My Atom Instance Do?

My Atom instance offered me

  • [x] text edit­ing with vim com­mands
  • [x] syn­tax high­light­ing for
  • [x] mark­down files with GitHub fla­vor
  • [x] LaTeX files
  • [x] Lily­Pond files
  • [x] Javascript, CSS, HTML
  • [x] a mark­down pre­view
  • [x] a con­ver­sion of GitHub fla­vored mark­down files to PDF
  • [x] a spell check­er even for mul­ti­lin­gual doc­u­ments
  • [x] inden­ta­tion with blanks instead of tabs

It offered many more options, but these are those I need­ed.

4. VSCodium as Replacement for Atom

4.1 Installing VSCodium in Ubuntu 22.04

The fol­low­ing sec­tion fol­lows an arti­cle of linuxcapable.com:

  1. Update your instal­la­tion by sudo apt update && sudo apt upgrade
  2. Install a required lay­er by sudo apt install apt-transport-https gnupg2 -y
  3. Inte­grate the VSCodi­um 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
  4. Inte­grate the VSCodi­um repos­i­to­ry in your envi­ron­ment 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
  5. Let the list of sources be update by sudo apt update
  6. Install VSCodi­um by sudo apt install codium -y

4.2 Customizing VSCodium

One thing in advance: VSCodi­um is auto­mat­i­cal­ly linked to the OPEN VSX Mar­ket­place. Hence, you can install, what you want with­out vio­lat­ing the Microsoft Rules

4.2.1 Configure VSCodium

Before installing exten­sions, con­fig­ure the exist­ing options by call­ing File/Preferences/Settings and insert­ing the fol­low­ing val­ues

  1. Text-Editor: Tab Size => 2 (no waste of space)
  2. Text-Editor: Insert Spaces => true (The same struc­ture image on dif­fer­ent edi­tors)
  3. Text-Editor: Word Wrap => on (no man­u­al­ly insert­ed line breaks in para­graphs)
  4. Text-Editor: Bracket Pair Colorization => true (don’t get lost in your code)
  5. Text-Editor: Code Lense => true (per­mit con­text infor­ma­tion)

Then call File/Preferences/Extensions, search in the Mar­ket­place for the fol­low­ing exten­sions and press install:

4.2.2 A VIM Mode

The Open VSX Mar­ket­place offers some VIM exten­sions. Per­son­al­ly, I felt a great dif­fer­ence between the orig­i­nal behav­ior and that of those who claimed to emu­late it: some of them lim­it them­selves to Syn­tax High­light­ing, while oth­ers do not imple­ment the : commands. In the mean­time, I end­ed up with NeoVim once. But the han­dling of the cur­sor drove me crazy. Thus, I switched back to the stan­dard exten­sion vscode­vim.

4.2.3 Get Your Markdown Environment

  • Open File/Preferences/Extensions in VSCodi­um, insert Markdown in the search field and install
  • Mark­down All in One (yzhang)
  • Mark­down Check­box (PKief)
  • Mark­down Con­vert­er (manuth)

You reach the pre­view via

  • select­ing the win­dow sym­bol in the upper right cor­ner for get­ting the pre­view or
  • open­ing View/Command Palette and insert >Markdown preview

For con­vert­ing the md-doc­u­ment to PDF, open View/Command Palette and insert >Markdown convert

At your first con­ver­sion order, you will be asked to per­mit the down­load of a chromi­um instance into the exten­sion direc­to­ry. If that does not fit the pol­i­cy of your machine, you can con­fig­ure the Chromium Path in Settings/Extensions/MarkdownConverter-Options

4.2.4 Get Your LaTeX Environment

VSCodi­um has a built-in syn­tax high­light­ing for LaTeX. (There is still an exten­sion LaTeX lan­guage sup­port, but that’s rel­e­vant only for elder VSCodi­um ver­sions)

For con­vert­ing LaTeX Files into PDF (etc.), I use the means and tools on the Ubun­tu lev­el.

4.2.5 Get Your Lilypond Environment

  • Open File/Preferences/Extensions in VSCodi­um, insert LilyPond and install Lily­Pond Syn­tax (jean­deaual)

4.2.6 Get Your Web-Developer Environment

  • VSCodi­um has a built-in syn­tax high­light­ing for HTML, Javascript and CSS.

4.2.7 A good Spell-Checker Environment for LaTex, Markdown etc.

  • Open File/Preferences/Extensions in VSCodi­um, insert LTeX and install LTeX Lan­guage­Tool … (valen­tjn) [Note: LTeX is not a typo!]
  • Open File/Preferences/Settings/Extensions/LTeX in VSCodi­um and set LTeX:Language => de-DE or what­ev­er your pre­ferred lan­guage is.
  • If you are going to write a doc­u­ment in anoth­er lan­guage, open it with a respec­tive mag­ic com­ment
  • in LaTeX: % LTeX:Language=en-US
  • in Mark­down: <!-- LTeX:Language=en-US -->
  • If you want to add a piece of for­eign text into your doc­u­ment, insert the respec­tive mag­ic com­ment above this text and the respec­tive reset­ting com­ment a line after it.

4.2.8 Some Other Helpful Extensions

  • Auto Close Tag (for­mu­la­hendry) (Auto­mat­i­cal­ly add HTML/XML close tag,)
  • Auto Rename Tag (for­mu­la­hendry) (Auto­mat­i­cal­ly rename paired HTML/XML tag)
  • Bet­ter Com­ments (aaron-bond) (Col­orize and rank your com­ments: Impor­tant, TODO, …)
  • CodeSnap (adpyke) (Take beau­ti­ful screen­shots of your code via expand­ed con­text menu )
  • File Utils (sleist­ner) (Rename, move, … files via expand­ed con­text menu)
  • Pret­ti­er (esbenp) (Let your doc­u­ments con­sis­tent­ly be for­mat­ted)
  • Scheme (jean­deaual) (Deal with ‘Scheme’ doc­u­ments used in Lily­oond)
  • TODO High­light (way­ou) (Let the TODOs in a doc­u­ment be high­light­ed)
  • vscode-pdf (tomoki1207) (View PDFs inside of VSCodi­um)
  • YAML (red­hat) (Deal with YAML files)
  • YAML & JSON (hilleer) (con­vert YAMl 2 JSON and vice ver­sa)
To top