Liebe Community,
in der alltäglichen Softwareentwicklung ist eine sogenannte Integrated Development Environment, kurz IDE, heutzutage kaum noch wegzudenken. Diese bietet auch für uns Screenreader-Nutzer wichtige Features, wie z.B. automatische Code-Vorschläge und Vervollständigung sowie das Schließen von Klammern und die Anzeige von Problemen. Derartige Funktionen sind zwar theoretisch im OpenSCAD-Editor verfügbar, für uns aber nicht vollumfänglich nutzbar und müssen deshalb schlimmsten Falls wie oben beschrieben sogar deaktiviert werden. Daher möchte ich nun darauf eingehen, wie ihr dennoch auf solch sinnvolle Funktionen zurückgreifen könnt. Dafür installieren wir die quelloffene IDE Microsoft Visual Code, kurz VSCode, und bereiten sie für OpenSCAD vor.
Voraussetzungen:
Auch wenn wir ab jetzt in VS Code programmieren, bleibt der Workflow zum Konvertieren in eine STL-Grafik und Slicen exakt der selbe, somit ist auch alle Software wie oben genannt erforderlich. ZUdem empfehle ich, einen Ordner für eure OpenSCAD-Dateien anzulegen, dann kann man diesen direkt in VSCode öffnen und hat schnellen Zugriff auf all seine Grafiken.
VSCode installieren
Wer sich in der Kommandozeile heimisch fühlt, der kann sich die schlanke IDE bequem mit folgendem Befehl über den Windows-eigenen Paketmanager installieren:
Bei der erstmaligen winget-Nutzung müsst ihr die Lizenzbedingungen in einer interaktiven Abfrage akzeptieren. Ansonsten beginnt der Download, ihr werdet lediglich einmal von Windows aufgefordert wie bei Installationen üblich alle nötigen Berechtigungen zu akzeptieren, der Rest geht automatisch.
Für alle, die lieber konventionell am Desktop arbeiten, hier der Download-Link:
https://code.visualstudio.com/download
Oben auf der Seite auf Windows Download klicken, dann den Installer herunterladen und ausführen.
VSCode für OpenSCAD vorbereiten
Im Gegensatz zu vielen verbreiteten IDEs wie Eclipse oder JetBrains IntelliJ bringt VSCode selbst keine Programmiersprachen-Unterstützung und Compiler mit, standardmäßig wird nur die Webentwicklung mit HTML, CSS und Javascript mitgeliefert. Jedoch liegt die Stärke des Programms in seiner Erweiterbarkeit: Ähnlich wie vom NVDA-Screenreader bekannt, lässt sich der Editor mit einer ganzen Reihe von Erweiterungen mächtiger und vielseitiger machen. Genau das nutzen wir für OpenSCAD.
Startet nun Visual Studio Code. Lasst euch von der eventuell beim ersten Start angezeigten Meldung zur Aktivierung des Screenreader-Supports nicht verunsichern, das konfigurieren wir im nächsten Schritt sowieso. IN dieser Anleitung werde ich ab jetzt von der englischen Spracheinstellung, welche in VSCode der Standard ist, ausgehen. Wer möchte, kann sich das deutsche Sprachpaket als Erweiterung installieren, siehe weiter unten.
Die Bedienung im Editor ist mit dem Webbrowser vergleichbar, technisch gesehen ist es auch einer. Offene Dateien werden in Tabs organisiert, zwischen denen man mit ctrl+tab bzw. ctrl+shift+tab wechseln kann. Einen Tab schließt man mit ctrl+w, genau wie in jedem Browser. Aber keine Sorge, mit diesem Shortcut schließt ihr nicht VSCode selbst, wenn ihr also sicher alle Dateien schließen wollt könnt ihr die Kombination beliebig oft drücken, bis nichts mehr passiert.
Beim ersten Start öffnet sich ein Tab mit einem Tutorial, den könnt ihr bedenkenlos direkt schließen.
In den Marketplace für Erweiterungen gelangt man durch Drücken von ctrl+shift+x (wie im Englischen extensions). Dort landet ihr direkt im Suchfeld, wo ihr openscad eingebt. Daraufhin meldet der Screenreader, wie viele Ergebnisse gefunden wurden. Zu den Suchergebnissen gelangt man durch zweimaliges Drücken der Tabulatortaste, vorbei am Button zum Löschen der Eingabe. Die Liste navigieren wir mit den Pfeiltasten hoch- und runter, um dort die Erweiterung "OpenSCAD Language support" vom publisher Leathong zu wählen. Von dort aus drückt man erneut Tab, um dann den install-button zu aktivieren. Ihr hört nun in regelmäßigen Abständen einen Sound, der wie ein Klopfen oder Klappern klingt. Das ist normal und das hörbare Signal von VCode, dass es arbeitet oder auf eine Eingabe wartet. In unserem Fall ist es letzteres, denn wir müssen dem Entwickler der Erweiterung vertrauen. Das gelingt, in dem man mit Tab so oft weiter geht, bis man beim Button "Trust Publisher & Install" ankommt. Ist der einmal gedrückt, wird die Erweiterung installiert. Der Info-Tab der sich automatisch geöffnet hat wird nun auch nicht mehr benötigt.
Wer einen deutschen Sprachsupport will, gibt im Suchfeld german ein und findet das language pack von Microsoft, da dies der offizielle Herausgeber ist muss man der Installation auch nicht extra vertrauen.
Übrigens: Mit der gleichen Kombination lässt sich die Erweiterungsansicht auch wieder schließen.
Nun wollen wir noch ein paar Einstellungen setzen: Als Einrückung soll das Braillezeilen-freundliche Tab statt zwei Spraces genutzt werden, und Dateien wollen wir automatisch speichern. Zudem muss sichergestellt sein, dass die Screenreader-Unterstützung aktiviert ist. Dafür drückt ihr F1, gebt user settings als zwei Wörter ein und aktiviert von dort den Befehl: Open user settings (JSON). Ihr landet dann in einem Editor, wo ihr mit ctrl+a gefolgt von ctrl+v den Inhalt (die leeren Klammern) durch folgende Konfiguration ersetzt:
Code: Alles auswählen
{
"editor.accessibilitySupport": "on",
"files.autoSave": "afterDelay",
"editor.tabSize": 2,
"editor.insertSpaces": false,
"explorer.compactFolders": false,
"scad-lsp.fmtIdent": "\t"
}
Die Datei mit ctrl+w schließen, eine mögliche Frage ob die Änderungen gespeichert werden sollen mit ja beantworten.
Mit OpenSCAD-Dateien arbeiten
Nun wollen wir unseren Ordner mit den OpenSCAD-Dateien öffnen. Dafür drückt ihr entweder ctrl+k gefolgt von ctrl+o oder wählt den entsprechenden Eintrag in der Menüleiste wie gewohnt aus dem File-Menu. Einmal geöffnet, bringt ctrl+shift+e euch in den VSCode-internen Dateiexplorer, wo ihr eine Datei wählen könnt. Anhand der .scad-Datei wird sie automatisch erkannt und die Sprachunterstützung für OpenSCAD geladen. Daher gilt im Umkehrschluss: Wenn ihr mit ctrl+n eine neue Datei erstellt, solltet ihr sie direkt mit ctrl+s als .scad-Datei speichern, dann funktionieren die Sprachfeatures.
Autovervollständigung
Wenn ihr nun anfangt, einen Funktionsnamen zu schreiben, geht eine Liste mit möglichen Vervollständigungen auf, die man mit den Pfeiltasten navigieren kann. Darin seht ihr sogar die möglichen Übergabe-Parameter der Funktion. Mit Tab oder Enter fügt man den aktuellen Listeneintrag ein. Falls sich ein Fehler in einer Zeile befindet, hört man das: NVDA schreibt error auf die Braillezeile, und VSCode spielt einen charakteristischen Fehlersound ab. Wenn ihr prüfen wollt, ob und wenn ja welche Fehler im Dokument sind, geht ihr mit ctrl+shift+m in die Liste der Probleme. Enter auf einem Problem bringt euch direkt in die entsprechende Zeile im Code.
Ist die Datei einmal fertig, öffnet man sie direkt durch Drücken von F5 in OpenScad, der Rest ist bekannt. Dank Autosave in VSCode haben wir hier auch immer die aktuelle Version. Trotzdem wäre es wichtig, OpenScad nach erfolgtem Rendering/Export wieder zu schließen. Dass VSCode automatisch speichert heißt nicht dass OpenSCAD die aktuelle Version immer lädt, im Zweifel würde man eine Versionsungleichheit oder sogar einen Verlust von Änderungen durch versehentliches Zurückspeichern einer alten Version riskieren, was sich so vermeiden lässt.
Übersicht der Tasten
Hier nochmal eine Auflistung der aus meiner Sicht wichtigsten Tastenbefehle für VSCode:
- `ctrl+shift+e: Explorer
- `ctrl+shift+x`: Erweiterungen
- `ctrl+shift+m`: Probleme
- Erneutes Drücken der obigen Tasten schließt die jeweilige Ansicht wieder und bringt euch zurück in die Datei
- `ctrl+f`: Suchen
- `ctrl+h`: Suchen und Ersetzen
[R*] `ctrl+shift+f`: Im ganzen geöffneten Ordner suchen
- `ctrl+s`: Speichern
- `ctrl+n`: Neue Datei
- `ctrl+w`: Tab schließen
- `f5`: Datei in OpenSCAD öffnen
- `f1`: Durchsuchbare Befehlspalette mit allen möglichen VSCode-Befehlen, beispielsweise bietet hier die Eingabe von OpenSCAD nicht nur das Öffnen der Datei, sondern auch die Anzeige des Cheatsheet
- `ctrl+space`: Autovervollständigung hier anfordern
Vielleicht hilft diese Anleitung dem ein oder anderen Leser hier im Forum beim Erstellen der eigenen Grafiken, der Kreativität sind nun keine Grenzen mehr gesetzt.