Cursorless: außerirdische Magie aus der Zukunft
- Cadey erwähnt, dass vor dem Arbeitsbeginn im neuen Job Symptome von RSI (Repetitive Strain Injury) auftraten.
- Die RSI-Symptome waren bereits erwartet worden, und die Person befindet sich derzeit auf dem Weg der Besserung.
- Als RSI früher auftrat, wurde mit technischem Schreiben darauf reagiert, diesmal wird jedoch Programmierfähigkeit benötigt.
- Cadey nutzt normalerweise emacs, verwendet diesmal aber Visual Studio Code – wegen einer Erweiterung namens „Cursorless“.
Die magischen Funktionen von Cursorless
- „Cursorless“ ist ein Plugin, das mit Sprachsteuerungssoftware integriert ist und Codebearbeitung auf AST-Ebene per Sprache ermöglicht.
- Der magischste Teil von „Cursorless“ ist das Konzept von individuellen Ankern im Dokument, den „Targets“, und von Positionen relativ zu diesen Zielen, den „Destinations“.
- Für jedes Token im Dokument werden farbige Hüte über den Zeichen angezeigt, sodass Befehle auf Basis der Position, des Ziels und des Pfads dazwischen gegeben werden können.
- Zum Beispiel kann das Wort „function“ als „green urge“ referenziert werden, um dieses Wort zu löschen oder zu verschieben.
Die wahre Stärke von Cursorless
- „Cursorless“ kann nicht nur einfache Bearbeitungsaktionen ausführen, sondern versteht auch den AST und kann daher Operationen über ganze Funktionen hinweg durchführen.
- Zum Beispiel wird das Refactoring einer Funktion zu einer asynchronen Funktion mit „Cursorless“ deutlich einfacher.
- Cadey beschreibt, dass sich die Befehle durch die wiederholte Nutzung von „Cursorless“ allmählich wie eine zweite Natur anfühlen.
Eigene Befehle schreiben
- Mit „Cursorless“ und „Talon“ ist es möglich, eigene Befehle zu schreiben.
- „Talon“-Befehle bestehen aus Patterns (gesprochene Wörter) und Captures (das, was extrahiert werden soll).
- Anhand der komplexesten „Talon“-Regel wird erklärt, wie man in Go Methoden deklariert.
Ein neuer Versuch, das Pointer-Konzept zu erklären
- Cadey experimentiert mit den Begriffen „raising“ und „lowering“, um das Pointer-Konzept in Go zu erklären.
- Als Alternative zur C-ähnlichen Pointer-Syntax von Go wird untersucht, wie sich der Wechsel zwischen Pointer-Werten und normalen Werten mit „raising“ und „lowering“ ausdrücken lässt.
Die Meinung von GN⁺
- Der wichtigste Punkt dieses Artikels ist, dass die Erweiterung „Cursorless“ die Zugänglichkeit des Programmierens durch Sprachsteuerung verbessert und auch Menschen mit Verletzungen wie RSI das Coden ermöglicht, wenn Tippen schwierig ist.
- Besonders interessant ist „Cursorless“, weil es eine innovative Methode bietet, Code per Sprache zu bearbeiten, und damit neue Möglichkeiten für die Zukunft der Softwareentwicklung eröffnet.
1 Kommentare
Hacker-News-Kommentare
Überraschung des Autors und Teilen seines experimentellen Talon-Repositoriums
Code-Manipulation mit Talon und der Nutzen von Sprachbefehlen
Vergleich mit avy, das statt Sprache die Tastatur nutzt
Link zu einer Demo zum Programmieren per Sprache und Ausdruck der Begeisterung
Strange-Loop-Vortrag mit Überblick über Cursorless und praktischen Anwendungsbeispielen
Unterstützung für die Entwicklung von Cursorless und Gefühl einer persönlichen Nutzungshürde
Neugier auf die Auswahl bestimmter Sprachbefehle
Frage nach der Möglichkeit, die Cursorposition mit Eye-Tracking anzupassen
Geteilte Erfahrung mit RSI und Verbesserung durch Änderung des Tippstils