Freigeben über


Definieren konsistenter Codierungsstile mit EditorConfig

Um konsistente Codierungsstile für alle Benutzer zu erzwingen, die in einer Codebasis funktionieren, können Sie Ihrer Projektmappe oder Ihrem Projekt eine .editorConfig Datei hinzufügen. EditorConfig-Dateieinstellungen entsprechen einer von EditorConfig.orgverwalteten Dateiformatspezifikation. Viele Code-Editoren und -Anwendungen unterstützen EditorConfig-Dateien, einschließlich Visual Studio. Da sich die Einstellungen in einer Datei befinden, begleiten sie Ihren Code und können sogar außerhalb von Visual Studio verwendet werden.

In Visual Studio haben EditorConfig-Dateieinstellungen Vorrang vor den verschiedenen globalen Text-Editor-Einstellungen, die unter Tools>Optionen>Text-Editor>C/C++>Codestil-verfügbar sind. Sie können eine EditorConfig-Datei verwenden, um jede Codebasis so anzupassen, dass für dieses Projekt spezifische Text-Editor-Einstellungen verwendet werden.

Sie können eine EditorConfig-Datei manuell auffüllen oder basierend auf den in Visual Studio ausgewählten Codeformateinstellungen automatisch generieren. Um eine neue .editorconfig-Datei basierend auf Ihren aktuellen Visual Studio-Einstellungen zu erstellen, wählen Sie im Hauptmenü von Visual Studio Extras>Optionen>Text-Editor>C/C++>Codeformat aus. Wählen Sie dann Generieren einer .editorconfig-Datei aus den Einstellungen aus. Wählen Sie den Ordner aus, in dem sich Ihr Projekt befindet, und klicken Sie dann auf Ordner auswählen, um die .editorconfig Datei zu speichern.

Wenn Sie eine EditorConfig-Datei verwenden, können Sie weiterhin ihre eigenen persönlichen Editoreinstellungen im Text-Editor von Visual Studio festlegen. Diese Text-Editor-Einstellungen gelten, wenn Sie in einer Codebasis ohne EditorConfig-Datei arbeiten oder wenn die EditorConfig-Datei eine bestimmte Einstellung nicht überschreibt. Ein Beispiel für eine solche Einstellung ist, ob für den Einzugsstil im Code Tabs oder Leerzeichen verwendet werden.

Wenn Sie Ihrem Projekt in Visual Studio eine EditorConfig-Datei hinzufügen, werden nur neue Codezeilen basierend auf den EditorConfig-Einstellungen formatiert. Die Formatierung des vorhandenen Codes wird nur geändert, wenn Sie einen der folgenden Befehle ausführen:

  • Codebereinigung.

    Wählen Sie Codebereinigung im Visual Studio-Editor aus, oder drücken Sie STRG+K, STRG+E. Dieser Befehl gilt für Leerzeicheneinstellungen, z. B. Einzugsformat und ausgewählte Codeformateinstellungen, z. B. Klammereinstellungen.

  • Dokument formatieren.

    Wählen Sie Bearbeiten>Erweitert>Dokument formatieren aus, oder drücken Sie STRG+K, STRG+D im Standardprofil. Dieser Befehl gilt nur für Leerzeicheneinstellungen, z. B. Einzugsformat.

Codekonsistenz

Mit EditorConfig-Dateieinstellungen können Sie konsistente Codierungsstile und -konventionen in einer Codebasis verwalten, unabhängig vom verwendeten Editor oder der verwendeten IDE. Einige Codierungsstile, die Sie steuern können, sind Einzugsstil, Tabbreite, Zeilenendezeichen und Codierung. Wenn Ihre C#-Codebasis beispielsweise eine Konvention aufweist, die fünf Leerzeichen einrückt, Dokumente UTF-8-Codierung verwenden und Zeilen mit CR/LF enden, können Sie eine EditorConfig-Datei so konfigurieren, dass diese Konvention verwendet wird.

EditorConfig-Dateien sind nützlich, wenn Codierungskonventionen, die Sie für Ihre persönlichen Projekte verwenden, von den Konventionen abweichen, die für die Projekte Ihres Teams verwendet werden. Sie bevorzugen möglicherweise, dass ein Einzug in Ihrem Code ein Tabulatorzeichen hinzufügt. Ihr Team bevorzugt jedoch möglicherweise, dass ein Einzug stattdessen vier Leerzeichen hinzufügt. EditorConfig-Dateien lösen dieses Problem, indem Sie eine Konfiguration für jedes Szenario haben können.

Da eine .editorconfig Datei in der Codebasis die EditorConfig-Einstellungen enthält, reisen sie zusammen mit dieser Codebasis. Solange Sie die Codedatei in einem EditorConfig-kompatiblen Editor öffnen, werden die Text-Editor-Einstellungen aktiviert.

Anmerkung

Konventionen, die Sie in einer EditorConfig-Datei festlegen, können in einer CI/CD-Pipeline nicht als Buildfehler oder Warnungen erzwungen werden. Alle Stilabweichungen werden nur im Visual Studio-Editor und in der Fehlerliste angezeigt.

Unterstützte Einstellungen

Der Editor in Visual Studio unterstützt die grundlegenden EditorConfig-Eigenschaften:

  • indent_style
  • indent_size
  • tab_width
  • Ende_der_Zeile
  • charset
  • trim_trailing_whitespace
  • insert_final_newline
  • wurzel

EditorConfig unterstützt alle von Visual Studio unterstützten Sprachen mit Ausnahme der EditorConfig-Editor-XML-Einstellungen.

EditorConfig unterstützt Codestil--Konventionen einschließlich Sprach-, Formatierung-und Benennung--Konventionen für C# und Visual Basic.

Hinzufügen und Entfernen von EditorConfig-Dateien

Wenn Sie Ihrem Projekt oder Ihrer Codebasis eine EditorConfig-Datei hinzufügen, formatiert Visual Studio alle neuen Codezeilen, die Sie gemäß den EditorConfig-Dateieinstellungen schreiben. Visual Studio konvertiert jedoch keine vorhandenen Stile in die neuen, bis das Dokument formatiert oder Codebereinigungausgeführt wird. Wenn in Ihrer Datei beispielsweise die Einzüge mit Tabstopps formatiert sind, und Sie eine EditorConfig-Datei hinzufügen, bei der die Einzüge mit Leerzeichen formatiert sind, werden die Einzugszeichen nicht automatisch in Leerzeichen konvertiert. Wenn Sie das Dokument formatieren (wählen Sie Bearbeiten>Erweitert>Formatdokument aus, oder drücken Sie STRG+K, STRG+D), werden die Leerzeicheneinstellungen in der EditorConfig-Datei auf vorhandene Codezeilen angewendet.

Wenn Sie eine EditorConfig-Datei aus Ihrem Projekt oder Ihrer Codebasis entfernen, müssen Sie alle geöffneten Codedateien für die globalen Editoreinstellungen schließen und erneut öffnen, um neue Codezeilen zu erzielen.

Hinzufügen einer EditorConfig-Datei zu einem Projekt

Führen Sie die folgenden Schritte aus, um ihrem Projekt oder Ihrer Projektmappe eine EditorConfig-Datei hinzuzufügen:

  1. Öffnen Sie ein Projekt oder eine Projektmappe in Visual Studio. Wählen Sie den Knoten „Projektmappe“ oder „Projekt“ aus, je nachdem, ob Ihre EditorConfig-Einstellungen für alle Projekte in der Projektmappe oder nur für ein Projekt gelten sollen. Sie können auch einen Ordner in Ihrem Projekt oder Ihrer Projektmappe auswählen, um die .editorconfig-Datei hinzuzufügen.

  2. Klicken Sie im Menü auf Projekt>Neues Element hinzufügen, oder drücken Sie STRG+UMSCHALTTASTE+A.

    Das Dialogfeld Neues Element hinzufügen wird geöffnet.

  3. Geben Sie im Suchfeld editorconfigein.

    In den Suchergebnissen werden zwei editorconfig File Elementvorlagen angezeigt.

    Screenshot mit EditorConfig-Dateielementvorlagen in Visual Studio.

  4. Wählen Sie die Vorlage editorconfig-Datei (leer) aus, um eine EditorConfig-Datei hinzuzufügen, die mit den Standard-EditorConfig-Optionen für Leerzeichen, Codestil und Benennungskonventionen ausgefüllt ist. Oder wählen Sie die editorconfig File (.NET) Vorlage aus, um eine EditorConfig-Datei hinzuzufügen, die mit standardmäßigen .NET-Leerzeichen, Codeformat und Namenskonventionenausgefüllt ist.

    Eine neue .editorconfig Datei wird im Projektmappen-Explorer angezeigt und im Editor als neue Registerkarte geöffnet.

    Screenshot: EDITORCONFIG-Datei im Projektmappen-Explorer und im Editor

  5. Bearbeiten Sie die Datei optional, und speichern Sie sie.

Weitere Möglichkeiten zum Hinzufügen einer EditorConfig-Datei

Es gibt eine Reihe weiterer Möglichkeiten, wie Sie Ihrem Projekt eine EditorConfig-Datei hinzufügen können:

Dateihierarchie und Rangfolge

Wenn Sie einem Ordner in Ihrer Dateihierarchie eine .editorconfig Datei hinzufügen, gelten die zugehörigen Einstellungen für alle anwendbaren Dateien auf dieser Ebene und niedriger. Sie können editorConfig-Einstellungen auch für ein bestimmtes Projekt, eine Codebasis oder einen Teil einer Codebasis außer Kraft setzen, sodass sie andere Konventionen als andere Teile der Codebasis verwendet. Dies kann nützlich sein, wenn Sie Code an einer anderen Stelle integrieren und die Konventionen nicht ändern möchten.

Befolgen Sie die folgenden Richtlinien:

  • Um einige oder alle EditorConfig-Einstellungen außer Kraft zu setzen, fügen Sie eine .editorconfig-Datei auf der Ebene der Dateihierarchie hinzu, auf die diese überschriebenen Einstellungen angewendet werden sollen. Die neuen EditorConfig-Dateieinstellungen gelten für Dateien auf derselben Ebene und Dateien in allen Unterverzeichnissen.

    Screenshot, der die EditorConfig-Hierarchie zeigt.

  • Wenn Sie einige, aber nicht alle Einstellungen außer Kraft setzen möchten, geben Sie nur diese Einstellungen in der .editorconfig Datei an. Nur die Eigenschaften, die Sie explizit in der Datei .editorconfig auf der niedrigsten Ebene auflisten, werden außer Kraft gesetzt. Andere Einstellungen von beliebigen .editorconfig Dateien auf höherer Ebene bleiben weiterhin angewendet.

  • Wenn Sie sicherstellen möchten, dass keine Einstellungen von dateien auf höherer Ebene .editorconfig auf diesen Teil der Codebasis angewendet werden, fügen Sie die root=true Eigenschaft der unteren .editorconfig Datei hinzu.

    # top-most EditorConfig file for this level
    root = true
    

EditorConfig-Dateien werden von oben nach unten gelesen. Wenn mehrere Eigenschaften mit demselben Namen vorhanden sind, hat die zuletzt gefundene Eigenschaft mit demselben Namen Vorrang.

Bearbeiten von EditorConfig-Dateien

Visual Studio 2022 stellt einen visuellen Editor für EditorConfig-Dateien bereit.

Nachdem Sie die EditorConfig-Datei bearbeitet haben, müssen Sie die Codedateien neu laden, damit die neuen Einstellungen wirksam werden.

Visual Studio unterstützt Sie beim Bearbeiten von EditorConfig-Dateien, indem Sie IntelliSense-Vervollständigungslisten bereitstellen. Zum Beispiel:

Screenshot, der intelliSense in einer EditorConfig-Datei zeigt.

Wenn Sie viele EditorConfig-Dateien bearbeiten, finden Sie möglicherweise die EditorConfig Language Service-Erweiterung hilfreich. Zu den Features dieser Erweiterung gehören Syntaxmarkierungen, verbesserte IntelliSense-, Validierungs- und Codeformatierungen.

Screenshot, der IntelliSense mit der Erweiterung des EditorConfig Language Service zeigt.

Beispiel

Im folgenden Beispiel werden die Einzüge eines C#-Codeausschnitts vor und nach dem Hinzufügen einer EDITORCONFIG-Datei zum Projekt gezeigt:

  1. Legen Sie im Dialogfeld Extras>Optionen die Einstellungen Text-Editor>C#>Registerkarten für den Text-Editor von Visual Studio fest, um vier Leerzeichen einzufügen, wenn Sie die TAB-Taste drücken.

    Screenshot: Einstellung der TAB-Taste für den Text-Editor

  2. Wie erwartet erfolgt der Einzug beim Drücken der TAB-Taste in der nächsten Zeile durch das Hinzufügen von vier Leerzeichen.

    Screenshot: Tab-Taste zeigt, die Leerzeichen im Code hinzufügt.

    Screenshot, der zeigt, wie die Tab-Taste Leerzeichen im Code hinzufügt.

  3. Verwenden Sie EditorConfig, um die Einstellung für Tabs so anzupassen, dass Tabs verwendet werden.

    Wählen Sie Tabs verwenden in der EditorConfig-Datei aus.

    Screenshot: Konfiguration der Verwendung von Tabs für die TAB-Taste.

    Fügen Sie dem Projekt eine neue Datei mit dem Namen .editorconfig mit dem folgenden Inhalt hinzu. Der Indikator [*.cs] bedeutet, dass diese Änderung nur für C#-Codedateien im Projekt gilt.

    # Top-most EditorConfig file
    root = true
    
    # Tab indentation
    [*.cs]
    indent_style = tab
    
  4. Wenn Sie die TAB-Taste drücken, werden jetzt Tabstoppzeichen anstelle von Leerzeichen angezeigt.

    Screenshot: Tab-Taste zeigt, die Tab-Zeichen im Code hinzufügt.

    Screenshot: Tab-Taste zeigt, die Tab-Zeichen im Code hinzufügt.

Fehlerbehebung bei EditorConfig-Einstellungen

Wenn eine EditorConfig-Datei an einer beliebigen Stelle in der Verzeichnisstruktur am oder über dem Speicherort Des Projekts vorhanden ist, wendet Visual Studio die Editoreinstellungen in dieser Datei auf Ihren Editor an. In diesem Fall wird möglicherweise die folgende Meldung in der Statusleiste angezeigt:

User preferences for this file type are overridden by this project's coding conventions.

Dies bedeutet, dass, wenn editor-Einstellungen in Tools>Optionen>Text-Editor- (z. B. Einzugsgröße und Formatvorlage, Registerkartengröße oder Codierungskonventionen) in einer EditorConfig-Datei unter oder oberhalb des Projekts in der Verzeichnisstruktur angegeben werden, die Konventionen in der EditorConfig-Datei überschreiben die Einstellungen in Text-Editor-.

Führen Sie die folgenden Schritte aus, um EditorConfig-Probleme zu beheben:

  1. Um die EditorConfig-Unterstützung für Visual Studio zu deaktivieren, deaktivieren Sie die Option Codierungskonventionen des Projekts befolgen in Extras>Optionen>Text-Editor.

    Screenshot, der die Einstellung für das Befolgen von Projektkodierungskonventionen zeigt.

  2. Um alle EditorConfig-Dateien in den übergeordneten Verzeichnissen Ihres Projekts zu finden, öffnen Sie eine Eingabeaufforderung, und führen Sie den folgenden Befehl aus dem Stamm des Datenträgers aus, der Ihr Projekt enthält.

    dir .editorconfig /s
    
  3. Um den Umfang Ihrer EditorConfig-Konventionen zu steuern, legen Sie die root=true-Eigenschaft in der .editorconfig Datei im Stammverzeichnis Ihres Repositorys oder im Verzeichnis fest, in dem sich Ihr Projekt befindet.

    Visual Studio sucht nach einer Datei mit dem Namen .editorconfig im Verzeichnis der geöffneten Datei und in jedem übergeordneten Verzeichnis. Die Suche endet, wenn sie den Stammdateipfad erreicht oder eine .editorconfig Datei mit root=true gefunden wird.