2017-07-26 6 views
1

Ich lerne F # und ich suche nach einer IDE oder Editor, der automatische Einzug und einige Hotkey unterstützt, um nach dem Schreiben einer Funktion einrücken. Ich verwende momentan Visual Studio 2017 für Mac und es wird automatisch eingezogen, aber wenn ich die Funktion verlassen möchte, muss ich 3 oder 4 Mal rückwärts gehen, um zur Ausgangsspalte zurückzukehren, um die Funktion zu beenden. Nur ein bisschen Schmerz im tuchus. Jeder hat einen Ratschlag (außer saugen Sie es).Auto Einrückung & Einrückung für F #

+2

Es gibt keinen Editor, der das automatisch erledigt, aber vim und andere Editoren haben Einrückkürzel. –

+0

Ich stimme mit John Palmer nicht überein: Die meisten vernünftigen Editoren haben einen Schlüssel zum Einrücken, wenn man mit Leerzeichen tippt, obwohl das Aufrufen eines "Hotkeys" ein bisschen schwierig ist, da es Backspace ist. Die Tatsache, dass Visual Studio dies NICHT tut, ist für mich ein bisschen ein WTF-Moment, ehrlich gesagt. Es ist so ein grundlegendes Feature, dass ich gobsmacked, dass Visual Studio es nicht enthält: VS Code tut. Um jedoch ein sinnvolles Backspace-Verhalten in Visual Studio zu erhalten, hilft https://marketplace.visualstudio.com/items?itemName=jedmao.TabSanity-10817#review-details. – rmunn

+1

Außerdem würde ich [VS-Code] (https://code.visualstudio.com/) für F # work empfehlen: Installiere die Ionide-Plugin-Suite und du wirst eine sehr schöne F # -Versionsumgebung haben. Ionide hat insgesamt drei Plugins: Ionide-fsharp ist das wichtigste, dann gibt es Ionide-FAKE und Ionide-Paket, um eine bessere Integration mit den FAKE- und Paket-Tools zu ermöglichen. – rmunn

Antwort

1

Wie in den Kommentaren erwähnt, haben verschiedene Editoren verschiedene Tastaturkürzel, mit denen Sie schneller zum vorherigen Einrückungslevel zurückspringen können als durch viermaliges Drücken der Rücktaste.

Für dies automatisch zu tun, ich denke, das ist möglicherweise schwierig (vor allem für die Einrückung), weil der Editor keine Hinweise, wenn Sie mit dem Schreiben einer Funktion fertig sind. Zum Beispiel sagen Sie gerade eingegeben haben:

let range lo hi = 
    [ lo .. hi ] 

Nachdem Sie nach dem schließenden eckigen Klammer die Eingabetaste drücken, können Sie entweder wollen eine andere Funktion Unindent und zu schreiben, oder Sie können wie mit etwas weiter gegliederten wollen:

let range lo hi = 
    [ lo .. hi ] 
    |> List.map formatNumber 

Also, tun dies automatisch ist etwas, das sehr viel Sinn für geschweiften Klammer Sprachen macht, aber es ist nicht so offensichtlich für Sprachen wie F #, wo Vertiefung Angelegenheiten.

+0

Ich nehme jetzt Ihren Pluralitätskurs! –

+0

@Zee Fantastisch, ich bin froh, dass der Kurs neuen Leuten hilft, sich für F # zu interessieren! –