Es heißt, “Atom and all repositories under Atom will be archived on December 15, 2022”. Denn der von GitHub entwickelte, editierbare Editor für das 21st Jahrhundert sei über die letzten Jahre nicht signifikant weiterentwickelt worden. Darum werde dieser Editor in den Ruhestand geschickt — zugunsten von “Microsoft Visual Studio Code. Und das, wo ich Atom so geliebt habe. Besonders mit VI-Mode! Was also tun?
Dass Microsoft GitHub im Jahr 2018 gekauft hat, dürfte diese vernünftige Entscheidung erleichtert haben: Denn ein Sponsor sollte seine Kräfte nicht auf zwei identische Produkte aufteilen — auch wenn ich mich dadurch wieder einmal auf einem toten Pferd wiederfinde. Also muss ich ein lebendiges umsteigen. Visual Studio Code ist mir ja schon oft genug von meinen Kollegen empfohlen worden. Aber es sollte mir dann auch all das ermöglichen, was ich in den letzten Jahren mit Atom machen konnte.
2. Was stimmt nicht mit Visual Studio Code?
“Microsoft Visual Studio Code” sei Open-Source-Software, heißt es. Doch die Situation ist kompliziert:
- Ja, der Kern von “Visual Studio Code” — genannt Code-OSS — wird als Freie Software unter der MIT-Lizenz angeboten.
- Aber zuletzt macht MS damit mehr: Es nimmt den Kern, reichert ihn an und bettet ihn in sein eigenes Produktbiotop ein: *VS Code sei eine von Microsoft lizenzierte Distribution von *Code-OSS*, die Microsoft-eigene Elemente wie die Integration des Visual Studio Marketplace und das Telemetriesystem enthalte, die in Code-OSS nicht verfügbar seien. Dem entsprechend wird “VS Code” unter den Bedingungen einer spezifischen Microsoft-Lizenz vertrieben.
- Auch wenn man das Senden der Telemetriedaten unterbinden kann, bleibt der eigentliche Stein des Anstoßes bestehen: Die Funktionalität von VSCode kann durch Extensionen aus dem Visual Studio Marketplace erweitert werden. Allerdings seien diese Erweiterungen — wie es in den Nutzungsbedingungen des Microsoft Visual Studio Marketplace} heißt — nur für die Verwendung mit “In-Scope” Produkten und Diensten bestimmt (§1.b), wobei der Begriff In-Scope Produkte definiert ist als Produkte und Dienste […], die von uns [Microsoft] und GitHub […] angeboten würden (§0/Opening).
Selbst wenn also “VSCode” an sich Open Source ist und MS mit der Basis Code-OSS macht, was erlaubt ist, dürfen die von MS bereitgestellten Erweiterungen dennoch nicht in Code-OSS-Varianten anderer Anbieter verwendet werden, auch wenn diese Erweiterungen ihrerseits freie Software sind.
Rechtlich mag das in Ordnung sein, aber es müffelt. Also habe ich nach einer Alternative gesucht. Hier das Ergebnis meiner Bemühungen:
3. Was stimmt nicht mir VSCcodium?
VSCodium will die Lizenzprobleme von VSCode lösen und liefert Binaries […] lizenziert unter der MIT-Lizenz (mit deaktivierter) Telemetrie […]. Folglich gehört VSCodium zu den Varianten, die Extensionen aus dem Visual Studio Marketplace gerade nicht installieren dürfen, selbst wenn das technisch möglich ist.
Um das Problem zu entschärfen, wurde ein anderer Marktplatz mit Extensionen für VS Code kompatible Editoren eingerichtet: OPEN VSX. Damit ist allerdings eine andere Herausforderung verbunden: Da (Open VSX) ein recht neues Projekt ist, werden wahrscheinlich einige Erweiterungen fehlen, die man aus dem ‘VS Code Marketplace’ kennt.
Es braucht also ein wenig Gehirnschmalz, Freude am Ausprobieren und Offenheit für Alternativen, um seine VSCodium-Instanz genauso zum Laufen zu bringen wie zuvor die Instanz von Atom.
4. Was konnte mein Atom-Editor?
Meine Atom-Instanz bot mir
- [x] die Textbearbeitung mit Vim-Befehlen
- [x] Syntax-Hervorhebung für
- [x] Markdown-Dateien (mit GitHub-Flavor)
- [x] LaTeX-Dateien
- [x] LilyPond-Dateien
- [x] Javascript, CSS, HTML
- [x] eine Markdown-Vorschau
- [x] die Konvertierung von Markdown-Dateien ins PDF-Format
- [x] eine Rechtschreibungprüfung, sogar in mehrsprachigen Dokumenten
- [x] eine Einrückung mit Blanks statt Tabs
Außerdem gab es viele weitere Optionen. Aber dies waren die, die ich regelmäßig benutzte.
5. VSCodium als Ersatz für Atom
5.1 VSCodium unter Ubuntu 22.04 installieren
Der folgende Abschnitt folgt einem Artikel von linuxcapable.com((Stand 2023-07-21 leider nicht mehr engboten)):
- Aktualisiere Deine Installation mit
sudo apt update && sudo apt upgrade
- Installiere einen speziellen Layer per
sudo apt install apt-transport-https gnupg2 -y
- Integriere den VSCodium-Schlüssel in Dein Schlüsselbund mit
wget -O- https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | sudo gpg --dearmor | sudo tee /usr/share/keyrings/vscodium.gpg
- Integriere das VSCodium-Repository in Deine Quellenliste per
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
- Aktualisiere den jetzt zugänglichen Paketbestand per
sudo apt update
- Installiere VSCodium mit
sudo apt install codium -y
5.2 VSCodium anpassen
Eins vorab: VSCodium ist von sich aus mit dem OPEN VSX Marketplace verknüpft. So kann frau installieren, was sie will, ohne die Microsoft-Regeln zu verletzen
5.2.1 VSCodium konfigurieren
Als Erstes sollte frau VSCodium mit den vorhandenen Mitteln konfigurieren, indem sie File/Preferences/Settings
aufruft und die folgenden Werte einträgt
Text-Editor: Tab Size => 2
(keine Platzverschwendung)Text-Editor: Insert Spaces => true
(Gleiches Erscheinungsbild in verschiedenen Editoren)Text-Editor: Word Wrap => on
(keine manuell eingefügten Zeilenumbrüche in Absätzen)Text-Editor: Bracket Pair Colorization => true
(verirre Dich nicht in Deinem Code)Text-Editor: Code Lense => true
(erlaube Kontextinformationen)
Für die folgende Schritte rufe dann File/Preferences/Extensions
auf, suche im Marketplace nach den folgenden Erweiterungen und drücke dort install
:
5.2.2 Ein guter VIM-Modus
Der Open VSX Marketplace bietet einige VIM-Erweiterungen an. Ich persönlich empfand einen großen Unterschied zwischen dem ursprünglichen Verhalten von vim
und dem von denjenigen, die behaupten, vim
zu emulieren: einige davon beschränken sich auf Syntax-Highlighting, andere implementieren die :
-Befehle nicht (angemessen). Letztendlich landete ich bei VSode Neovim. Diese Erweiterung erfordert jedoch eine Vorbereitung auf Ubuntu-Ebene:
- Öffne eine Linux-Shell und gib
sudo apt-get remove vim
undsudo apt-get install neovim
ein. - Öffne in VSCodium
File/Preferences/Extensions
, gib vim in das Suchfeld ein und installiere VSCode Neovim
5.2.3 Eine gute Markdown-Umgebung
- Öffne in VSCodium
File/Preferences/Extensions
, gib Markdown ins Suchfeld ein und installiere - Markdown All in One (yzhang)
- Markdown Checkbox (PKief)
- Markdown Converter (manuth)
Die Vorschaufunktionalität erreichst Du über
- über das Fenstersymbol in der oberen rechten Ecke oder
- über
View/Command Palette
und den Suchtext>Markdown preview
Um das md-Dokument nach PDF zu konvertieren, nutze View/Command Palette
und den Suchtext >Markdown convert
Beim ersten Mal wirst Du aufgefordert, eine ‘chromium Instanz’ in den Extensionordner laden zu lassen. Wenn das bei Dir nicht geht, kannst Du ersatzweise in den Settings/Extensions/MarkdownConverter-Options
die Variable Chromium Executable Path mit dem Pfad zum Deinem Chromium belegen
5.2.4 Eine gute LaTeX-Umgebung
VSCodium hat ein eingebautes Syntaxhighlighting für LaTeX. (Es gibt zwar noch eine explizite Erweiterung für die LaTeX-Sprachunterstützung, aber die ist nur für ältere VSCodium-Versionen relevant)
Für die Konvertierung von LaTeX-Dateien nach PDF (usw.) verwende ich die Mittel und Werkzeuge auf Ubuntu-Ebene.
5.2.5 Eine gute Lilypond-Umgebung
- Öffne in VSCodium
File/Preferences/Extensions
, gib LilyPond ins Suchfeld ein und installiere LilyPond Syntax (jeandeaual)
5.2.6 Eine gute Web-Entwickler-Umgebung
VSCodium bringt ein eingebautes Syntaxhighlighting für HTML, Javascript und CSS mit
5.2.7 Eine gute Rechtschreibprüfung für LaTex, Markdown usw.
- Öffne
File/Preferences/Extensions
in VSCodium, gib LTeX ein und installiere LTeX LanguageTool … (valentjn) [Hinweis: LTeX ist kein Tippfehler!] - Öffnen
File/Preferences/Settings/Extensions/LTeX
und trageLTeX:Language => de-DE
ein oder welche Sprache Du auch immer bevorzugst. - Wenn Du ein Dokument in einer anderen Sprache schreiben willst, lasse es mit einem entsprechenden magischen Kommentar beginnen:
- in LaTeX:
% LTeX:Sprache=en-US
- in Markdown:
<!-- LTeX:Language=en-US -->
- Wenn Du dann einen fremdsprachigen Abschnitt in Dein Dokument einbinden willst, füge den entsprechenden magischen Kommentar oberhalb dieses Textes eine Zeile danach den entsprechenden ‘Reset-Kommentar’ ein.
5.2.8 Einige andere hilfreiche Erweiterungen
- Auto Close Tag (formulahendry) (Automatisches Hinzufügen eines HTML/XML-Close-Tags,)
- Auto Rename Tag (formulahendry) (Automatisches Umbenennen gepaarter HTML/XML-Tags)
- Better Comments (aaron-bond) (Einfärben und Klassifizieren Ihrer Kommentare: Wichtig, TODO, …)
- CodeSnap (adpyke) (Schöne Screenshots vom Code über das erweiterte Kontextmenü)
- File Utils (sleistner) (Umbenennen, Verschieben, … von Dateien über das erweiterte Kontextmenü)
- Prettier (esbenp) (Lasse Deine Dokumente einheitlich formatieren)
- Scheme (jeandeaual) ) (Umgang mit den in Lilypond verwendeten ‘Scheme’-Dokumenten)
- TODO Highlight (wayou) (Hervorhebung der TODOs in einem Dokument)
vscode-pdf (tomoki1207) (Anzeige von PDFs innerhalb von VSCodium) - YAML (redhat) (Umgang mit YAML-Dateien)
- YAML & JSON (hilleer) (Konvertiere YAML nach JSON und umgekehrt)
Im Übrigen: Männer sind mitgemeint.
Und in welchem größere Zusammenhang …
… steht dieser Text? Nun, mein Leben ist eingebettet in freie Software, Natur und Musik. Manchmal finde ich da abseitigere Wege und Tools, die es trotzdem wert sind, geteilt zu werden. Und sei es nur mit meinem vergesslichen zukünftigen ‘ich’. Dem ich gerne immer wieder einmal ein Strato über die Shell ans Herz lege. Oder passend erweiterte Editoren. Oder uralte Vorarbeiten. Manchmal möchte ich dieses ‘ich’ aber auch nur an Haltungen, Standpunkte und Einstellungen erinnern. Damit ich nicht hinter mich zurückfalle. Denn gesagt ist gesagt. Darum geht es auch in hier.
Im Übrigen: Männer sind mitgemeint.