Skip to content
This repository has been archived by the owner on Nov 16, 2022. It is now read-only.

Sublime Text für Rust Entwicklung einrichten

Lukas Kalbertodt edited this page Nov 6, 2016 · 3 revisions

Intro und "Warum Sublime Text?"

Sublime Text 3 ist der Editor, den ich (Lukas) fast immer nutze. Warum?

  • Ausführungsgeschwindigkeit: Kein Ruckeln, schnelle Suche, kann riesige Dateien öffnen, ...
  • Hübsches, intuitives Nutzerinterface: Jeder der Word bedienen kann, kann auch mit Sublime umgehen.
  • Features für Profis: Zwar kann man als Word-Nutzer einsteigen, hat aber eine Vielzahl an Werkzeugen zur Verfügung, die ein extrem schnelles Arbeiten ermöglichen. Ob man nun vim-Profi, emacs-Profi oder Sublime-Profi ist: Bezogen auf die Arbeitsgeschwindigkeit spielt Sublime ganz oben mit. Die Bedienung dieser Profi-Features ist aber immer noch recht intuitiv und kommt besonders Nutzern entgegen, die schon in anderen grafischen Programmen viel mit Shortcuts gearbeitet haben.

Was mag ich an Sublime nicht so gerne? Es ist nicht Open Source und die Art, wie es entwickelt wird, gefällt mir nicht. Das wäre der Hauptgrund für mich, eine Alternative zu suchen. Auch schade ist allerdings, dass Sublime Text keine Programming Ligatures unterstützt...

Installation

Sublime kostet Geld, es kann aber eine kostenlose Probeversion installiert werden. Diese lässt nur alle x-mal Speichern ein Popup aufploppen, ist aber sonst funktionsfähig. Die neuste Version (unbedingt Version 3!) kann auf der offiziellen Website runtergeladen werden. Es ist sehr zu empfehlen, mindestens den Build 3126 zu installieren.

Einrichtung

Sublime Text hat Syntax Highlighting für Rust bereits eingebaut, allerdings lohnt es sich, ein bisschen Zeit in die optimale Einrichtung zu stecken.

Konfiguration

Die Sublime Konfiguration ist im JSON Format gespeichert und kann direkt editiert werden. Dazu klickt man auf 'Preferences' >> 'Settings'. Nun öffnet sich ein zweigeteiltes Fenster: Links ist die Standardkonfiguration zu sehen, rechts die Konfiguration des Nutzers, welche erstere überschreibt. In der Standardkonfiguration sind alle Werte recht gut in Kommentaren beschrieben und können so bearbeitet werden.

Hier ist ein Teil meiner derzeitigen Konfiguration mit Kommentaren, die begründen, warum ich eine Abweichung vom Standard für sinnvoll halte:

{
    // Zwar ist man gewöhnt mit <Enter> einen Vorschlag der Autovervollständigung
    // zu akzeptieren, allerdings hat das den Nachteil, dass es (1.) anders als
    // im Terminal ist und (2.) schwieriger ist, einen Zeilenumbruch zu erzeugen.
    // Um dieser Verwirrung vorzubeugen, sollte <Tab> zum Vervollständigen
    // benutzt werden. 
    "auto_complete_commit_on_tab": true,

    // Egal auf welchem Betriebssystem, man sollte Unix-Zeilenenden benutzen.
    // Diese sind nur '\n', ohne '\r' oder ähnliches. Die allermeisten Programmier-
    // projekte bestehen auf Unix-Zeilenenden. Das aktuelle Zeilenende kann man
    // am besten auch unten rechts im Fenster anzeigen lassen.
    "default_line_ending": "unix",
    "show_line_endings": true,

    // Die Begrenzung des Textes nach rechts ist aus diversen Gründen sinnvoll.
    // Um immer zu wissen wo die 80-Zeichen Grenze (soft limit) und die 100-Zeichen
    // Grenze (hard limit) ist, kann Sublime einem einfach zwei Striche anzeigen.
    "rulers":
    [
        80,
        100
    ],

    // Alle Tabs sind immer sichtbar
    "enable_tab_scrolling": false,

    // Warum nicht immer das Datei-Encoding anzeigen lassen? (Muss UTF-8 für Rust sein)
    "show_encoding": true,

    // In Rust rückt man mit 4 Spaces ein. Wichtig: Man kann immer noch die <Tab>
    // Taste benutzen. Sublime fügt nur eben 4 Spaces statt den '\t' character ein.
    "tab_size": 4,
    "translate_tabs_to_spaces": true,


    // Das war schon so. Das Package bringt Support für vim-Befehle, die die 
    // meisten eher nicht brauchen.
    "ignored_packages":
    [
        "Vintage"
    ]
}

Wichtige Shortcuts

Ein wichtiger Shortcut scheint manchmal (insb. unter Windows) nicht direkt zu funktionieren. Daher sollte man diesen durch klick auf 'Preferences' >> 'Key Bindings' noch einfügen:

[
   { "keys": ["ctrl+shift+7"], "command": "toggle_comment", "args": { "block": false } }
]

Styling

Wenn man auch auf das Aussehen seines Editors Wert legt, kann man noch ein paar weitere Einstellungen vornehmen. Das ist natürlich Geschmacksfrage, trotzdem hier einmal meine Konfiguration:

  • Theme: Material Theme (als Plugin installierbar, siehe unten)
  • Color Scheme: Solarized; meist Solarized Dark, für den Beamer Solarized Light ('Preferences' >> 'Color Scheme')
  • Font: Fira Code

Plugins

Package Control installieren

"Package Control" ist ein Plugin für Sublime, welches es sehr einfach macht, andere Plugins zu installieren und zu verwalten. Entsprechend sollte man "Package Control" direkt am Anfang installieren.

Dies kann über das Menü-Eintrag "Install Package Control" direkt in Sublime gemacht werden. Falls ihr den Eintrag nicht findet, folgt einfach diesen Anweisungen.

Nachdem Package Control installiert ist, kann man jederzeit einfach weitere Plugins installieren:

  • [Strg] + [Shift] + [P] zum Öffnen des Kommando-Panels drücken
  • Dort durch Eingabe von "Install" den Eintrag "Package Control: Install Package" markieren und Enter drücken
  • Kurz warten und in der nun zu sehenden Liste das gesuchte Plugin raussuchen

Rust Enhanced und TOML installieren

Das Plugin "Rust Enhanced" wird von den offiziellen Rust-Entwicklern verwaltet und bietet mehr Features, als Sublime vom Haus aus mitbringt. Dies kann einfach über Package Control installiert werden.

Das Plugin "TOML" bietet Syntax Highlighting für .toml Dateien (später für Cargo.toml) und kann ebenfalls durch Package Control installiert werden.

Whitespace installieren und einrichten

Das Plugin "Whitespace" hilft bei dem Umgang mit trailing newlines und trailing whitespace. Nachdem das Plugin installiert ist, muss man noch folgende Zeilen zur Nutzerkonfigurationsdatei hinzufügen:

    "remove_trailing_whitespace_on_save": true,
    "ensure_single_trailing_newline": true,

Benutzung

Um mit Sublime schnell programmieren zu können, kann man insb. viele Shortcuts nutzen. Listen aller Shortcuts findet man z.B. hier: Linux/Windows oder OSX.