Beenden Sie den Texteditor von Visual Studio mit dem automatischen Verschieben von Kommentarzeilen

1044
john_m

Gibt es eine Möglichkeit, den Texteditor (2015 oder 2017) von Visual Studio daran zu hindern, die Kommentarzeilen automatisch zu verschieben, wenn Sie Strg + K, D oder den entsprechenden Tastenanschlag (Strg + E, D - gesamtes Dokument) drücken?

Ich möchte, dass meine Kommentare an der Position bleiben, unabhängig von der Code-Position oben oder unten.

Wenn Sie beispielsweise einen Kommentar in eine neue Zeile schreiben , beginnen Sie in Spalte 60 wie folgt :

code line  |-------- white space ----------| //... comment .. <-- comment is auto shifted left  code line 

Damit er den unten und oben stehenden Code nicht stört, wird der Kommentar beim Drücken von Strg + K und D nach links verschoben, um ihn an den umgebenden Code anzupassen.

Wenn dagegen ein Kommentar nach einer Codezeile eingefügt wird, wie folgt :

|--code line --|- white space -| //..1st comment line..  |------white space ------------| //..2nd comment line.. <-- comment is properly auto aligned 

Ein eventuell zweiter Kommentar zu einer neuen Zeile bleibt an der obigen Zeile ausgerichtet. Dies bedeutet, dass der Editor die Position der Kommentarzeilen anhand bestimmter Kriterien anpassen kann.

Ich möchte klarstellen, dass ich den Rest der Funktionalität von Strg + K, D erhalten möchte.

Edit: Ich befürchte, dass alle Richtlinien, die im Abschnitt zur Verwaltung von Code-Formatierungen von Seth beschrieben werden, lediglich die Anwendung der Anweisungen erzwingen, die bereits im Texteditor für jede bestimmte Sprache (und insbesondere c #) für beabsichtigten Text festgelegt sind.

Selbst wenn einige Tabulatoren oder Leerzeichen vor dem Kommentar eingefügt werden, werden sie automatisch gelöscht, wenn Strg + K, D angewendet wird. Dies liegt einfach daran, dass in bestimmten Konstrukten keine relevanten Anweisungen zum Umgang mit Leerzeichen vorhanden sind Regel wird angewendet.

Ich glaube, dass eine einfache, zum Texteditor hinzugefügte Anweisung, wie "Leerzeichen oder Tabulatoren vor Kommentaren beibehalten", das Problem lösen würde (wie es tatsächlich der Fall ist, aber nur, wenn ein Kommentar dem Code folgt).
Es wäre nur eine Verbesserung eines bereits bestehenden, wenn auch nicht dokumentierten Verhaltens (soweit ich es gesucht habe).

1
[Verwalten der Code-Formatierung] (https://msdn.microsoft.com/de-de/library/999b219z (v = vs.71) .aspx) kann relevant sein. Abgesehen davon ist es wahrscheinlich (zumindest) nicht einfach. Was würde schließlich passieren, wenn die Quelle so schlecht formatiert wird, wenn alle zusätzlichen Leerzeichen eingerückt werden? Plötzlich würden sie sich wieder "einmischen". Seth vor 6 Jahren 0
@Seth - Vielen Dank, aber bitte sehen Sie meine Bearbeitung john_m vor 6 Jahren 0
Verwandte Themen: [Automatische Einrückung von Kommentaren mit Visual Studio 2015 deaktivieren] (https://stackoverflow.com/questions/43899505/disable-auto-indent-of-comments-with-visual-studio-2015) john_m vor 6 Jahren 0

2 Antworten auf die Frage

1
Mick Bruno

Wenn Sie ReSharper haben (ein großartiges Werkzeug, das aus vielen Gründen verwendet werden kann), hat das Formatierungsmodul dieses Problem nicht. Gehen Sie zu VS> Tools> Anpassen> Tastatur ...> Befehle anzeigen, die "FormatDocument" enthalten, und entfernen Sie alle Tastenzuordnungen . Jetzt zeigen Sie Befehle, die "Reformat" enthalten, und fügen Sie dem Befehl "ReSharper " die Verknüpfung Strg-KD hinzu .

Voila, nicht zusammenhängende Kommentare werden nicht aneinandergereiht, nur weil sie in aufeinanderfolgenden Zeilen stehen. Sie können auch einfach den R # -Befehl Ctrl-Alt-Enter anstelle von Ctrl-KD verwenden. Letzteres ist jedoch, was meine Finger nach jahrelangem Training automatisch tun. Daher ist das Überschreiben dieser Tastenkombination meine bevorzugte Lösung.

Wenn Sie möchten, dass ein Kommentar einen zusätzlichen Einzug erhält, können Sie "// // Comment ..." verwenden, der möglicherweise nicht genau das ist, was Sie möchten, aber nicht so schlimm ist.

Danke Mick für deine Antwort, aber leider benutze ich ReSharper nicht. Daher weiß ich nicht, ob diese Antwort für die gestellte Frage als richtig markiert werden könnte. Vielleicht könnte hier ein Moderator helfen .... john_m vor 5 Jahren 0
Ja, das bedeutete nicht, dass dies die "Antwort" war, nur eine mögliche Problemumgehung. Als jemand, der nicht für ReSharper arbeitet, aber seit zehn Jahren ein begeisterter Benutzer ist, versuchen Sie, Ihren Arbeitgeber (wenn Sie als Programmierer arbeiten) dazu zu bringen, es für Sie zu kaufen. Auf ihrer Website gibt es einige großartige Kosten-Nutzen-Dokumente, die mich wirklich zu einem besseren Programmierer gemacht haben. Mick Bruno vor 5 Jahren 1
-1
Angelo Mascaro

Dies ist eine "halbe Lösung", aber ich habe nichts Besseres gefunden. In vielen Fällen folgt die Ausrichtung der Kommentare einer Benutzeraktion. In diesem Fall haben CTRL-Z (Undo) die Kommentare an die Position gesetzt, die sie vor dem Alignment hatten. Um die Benutzeraktion rückgängig zu machen, ist eine andere STRG-Z erforderlich. Wie gesagt, es ist keine Lösung, aber es ist der schnellste Weg, den Code so zu halten, wie wir wollen. Ich hoffe, MS hatte eine Option zum Deaktivieren der Ausrichtung von Kommentaren.