Plugin zum Entfernen von nachgestellten Leerzeichen vor dem Speichern

Kurzversion: Mein Unternehmen erzwingt eine Codierungsrichtlinie, die verhindert, dass Code mit nachgestellten Leerzeichen gesendet wird.

Gibt es ein Plugin für Visual Studio, das nachgestellte Leerzeichen entfernt, wenn eine Datei gespeichert wird?

Lange Version:

Es gibt viele gute Gründe, nachgestellte Leerzeichen aus dem Quellcode zu entfernen:

  • Es braucht mehr Speicherplatz als nötig
  • Wenn Sie Endin einigen Editoren die Taste drücken, springt der Cursor nicht an die erwartete Stelle
  • Jeder mit Desktop-Publishing-Hintergrund hasst doppelte Leerzeichen und nachgestellte Leerzeichen, weil dies dazu führt, dass Text komisch bricht
  • Der Compiler benötigt mehr Zeit zum Kompilieren
  • Einige Editoren wenden aufgrund des zusätzlichen Zeichens möglicherweise einen Zeilenumbruch an, wenn die Zeichenbeschränkung erreicht wird
  • Es brichtvim
  • Einige Programmiersprachen wie Python können möglicherweise nicht mit Leerzeichen in mehrzeiligen Zeichenfolgen kompiliert werden
  • TCL kann nicht mit Leerzeichen kompiliert werden
  • Es kann das Diff durcheinander bringen

Obwohl einige der Gründe mit technischen Mitteln vermieden werden könnten, möchte ich die Codierungsrichtlinien respektieren. Trotzdem zögere ich, mit meinen Augen nach Leerzeichen zu suchen. Es ist so ... unsichtbar.

Das Plugin muss

  • Arbeit in VS 2015 und höher
  • Entfernen Sie irrelevante abschließende Leerzeichen
  • potenziell relevante Leerzeichen beibehalten (z. B. in mehrzeiligen Zeichenfolgen)

Idealerweise (optional, aber bevorzugt):

  • hebt während der Eingabe irrelevante und möglicherweise relevante Leerzeichen im Editor hervor
Python nit: Alles geht in einen mehrzeiligen String. Aber nachgestellte Leerzeichen nach einem expliziten Zeilenfortsetzungszeichen verursachen ein Problem.
Ich meine das nicht respektlos, aber sind Sie sicher, dass VS keine Einstellung dafür hat? Es ist eine sehr häufige Funktion in großen und kleinen Editoren. Die Option "Leerzeichen anzeigen" ist auch ziemlich verbreitet. Ich werde jedoch sagen, dass die Autotrim-Funktion praktisch immer (wenn nicht immer) implementiert wird, ohne sich bewusst zu sein, ob der Leerraum logisch relevant ist. Es geht nur durch physische Linien.

Antworten (1)

Nun, es fällt mir immer noch schwer zu glauben, dass einem ernsthaften Programmierer, geschweige denn einer voll ausgestatteten IDE, diese Funktion fehlt, aber wenn Sie sie wirklich brauchen, gibt es den Trailing Whitespace Visualizer , mit dem Sie Leerzeichen hervorheben und/oder trimmen können nachgestellter Leerraum beim Speichern (oder bei Bedarf). Es sagt, dass es mit VS 2013, 2015 und 2017 funktioniert.

Ich kann nicht sicher sein, dass dadurch logisch signifikante Leerzeichen erhalten bleiben. Aber ich kenne keinen Whitespace-Trimmer, der dies überprüft (wäre relativ kompliziert und abhängig von der Programmiersprache). Meiner Erfahrung nach gibt es nicht viel Code in freier Wildbahn, bei dem nachgestellte Leerzeichen erhalten bleiben müssen, selbst in mehrzeiligen Zeichenfolgen . (Wenn sie mehrzeilig sind, sollen sie normalerweise nur auf einem Bildschirm angezeigt werden, wo Leerzeichen entweder keine Rolle spielen oder automatisch entfernt werden. Wenn eine genaue Kontrolle der Leerzeichen erforderlich ist, ändern Sie Ihren Code so, dass er mehrere verkettete einzeilige Zeichenfolgen verwendet .)

Ältere Fragen, aber es lohnt sich auch, nach anderen Optionen zu suchen:

Funktioniert auch 2019. Die Version für 2022 befindet sich im Master-Zweig des Repositorys, wurde jedoch nicht veröffentlicht. Der CI-Build in AppVeyor ist mehr als einen Monat alt, daher wurde das resultierende Artefakt gelöscht. :-(
Ich konnte dieses Tool für VS2022 über eine Suche im Menü "Erweiterungen" finden.