Stoppen Sie den Visual Studio-Texteditor, um Kommentarzeilen automatisch zu verschieben


2

Gibt es eine Möglichkeit, den Visual Studio-Texteditor (2015 oder 2017) daran zu hindern, die Kommentarzeilen automatisch zu verschieben, wenn Strg + K, D oder ein relevanter Tastendruck (Strg + E, D - Formatieren des gesamten Dokuments) gedrückt wird?

Ich möchte, dass meine Kommentare an der angegebenen Position bleiben, unabhängig von der Code-Position darüber oder darunter.

Wenn Sie beispielsweise einen Kommentar zu einer neuen Zeile schreiben , beginnen Sie mit Spalte 60 wie folgt :

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

so daß es nicht mit dem Code unter oder über interferieren , wenn Strg + K drücken, D wird der Kommentar links verschoben, mit dem umgebenden Code auszurichten.

Auf der anderen Seite, wenn ein Kommentar nach einer Codezeile platziert wird , wie folgt :

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

Ein eventueller zweiter Kommentar in einer neuen Zeile bleibt an dem obigen ausgerichtet , was darauf hinweist, dass der Editor die Position von Kommentarzeilen basierend auf bestimmten Kriterien anpassen kann.

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

Bearbeiten: Ich befürchte, dass alle Richtlinien, die in den unten von Seth bereitgestellten Anweisungen zum Verwalten der Codeformatierung erwähnt werden , lediglich die Anwendung der Anweisungen erzwingen, die bereits im Texteditor für jede bestimmte Sprache (und insbesondere c #) bezüglich des beabsichtigten Texts festgelegt wurden.

Auch wenn einige Tabulatoren oder Leerzeichen vor dem Kommentar eingefügt werden, werden sie automatisch gelöscht, wenn Strg + K, D angewendet wird, einfach weil es keine relevanten Anweisungen zum Umgang mit Leerzeichen in bestimmten Konstrukten und damit im Allgemeinen gibt Regel wird angewendet.

Ich glaube, dass eine einfache Anweisung, die zum Texteditor hinzugefügt wurde, 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 existierenden, wenn auch nicht dokumentierten Verhaltens (soweit ich gesucht habe).


Das Verwalten der Code-Formatierung kann relevant sein. Davon abgesehen ist es wahrscheinlich (zumindest) nicht einfach. Was würde schließlich passieren, wenn die Quelle so schlecht formatiert wäre, wenn alle zusätzlichen Leerzeichen eingerückt wären? Plötzlich würden sie sich wieder "einmischen".
Seth,

@Seth - Vielen Dank, aber bitte sehen Sie meine Edit
john_m

Antworten:


1

Wenn Sie ReSharper haben (ein großartiges Tool, das aus vielen Gründen zu haben ist), hat seine Formatierungs-Engine dieses Problem nicht. Gehen Sie zu VS> Extras> Anpassen> Tastatur ...> Befehle mit "FormatDocument" anzeigen und entfernen Sie alle Tastenzuordnungen . Jetzt zeigen Befehle „Reformiert“ , Verknüpfung hinzufügen Ctrl-KD zum ReSharper Befehl.

Voila, nicht verwandte Kommentare werden nicht in eine Reihe gebracht, nur weil sie in aufeinanderfolgenden Zeilen stehen. Sie können auch einfach den R # -Befehl Strg-Alt-Enter anstelle von Strg-KD verwenden. Letzteres tun meine Finger nach jahrelanger Übung automatisch. Das Überschreiben dieser Tastenkombination ist meine bevorzugte Lösung.

Wenn Sie möchten, dass ein Kommentar eine zusätzliche Einrückung erhält, können Sie "// // Kommentar ..." verwenden, was möglicherweise nicht genau Ihren Wünschen entspricht, aber nicht allzu schlimm ist.


Vielen Dank, Mick, für deine Antwort, aber leider verwende ich keinen ReSharper. Daher weiß ich nicht, ob diese Antwort als die richtige für die gestellte Frage markiert werden kann. Vielleicht könnte ein Moderator hier behilflich sein ...
john_m

1
Ja, ich wollte nicht, dass dies "die" Antwort ist, sondern nur eine mögliche Problemumgehung. Aber als jemand, der nicht für ReSharper arbeitet, sondern seit einem Jahrzehnt ein begeisterter Benutzer ist, versuchen Sie, Ihren Arbeitgeber (wenn Sie als Programmierer arbeiten) dazu zu bewegen, ihn für Sie zu kaufen. Es gibt einige großartige Kosten / Nutzen-Dokumente auf ihrer Website, und es hat mich wirklich zu einem besseren Programmierer gemacht.
Mick Bruno

-1

Dies ist eine "halbe Lösung", aber ich habe nichts Besseres gefunden. In vielen Fällen folgt die Kommentarausrichtung einer Benutzeraktion. In diesem Fall hat STRG-Z (Rückgängig machen) die Kommentare an die Position gebracht, die sie vor der Ausrichtung hatten. Um die Benutzeraktion rückgängig zu machen, ist ein weiteres STRG-Z erforderlich. Wie gesagt, es ist keine Lösung, auf jeden Fall ist es der schnellste Weg, den Code so zu belassen, wie wir es wollen. Ich hoffe, dass MS die Option hatte, die Ausrichtung der Kommentare zu deaktivieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.