Optionen, Text-Editor, C#, Erweitert

Mithilfe der Optionsseite Erweitert können Sie die Einstellungen für Formatierungen mithilfe des Editors, von Coderefactoring und XML-Dokumentationskommentaren für C# ändern. Wenn Sie auf die Optionsseite zugreifen möchten, klicken Sie auf Extras>Optionen und anschließend auf Text-Editor>C#>Erweitert.

Hinweis

Möglicherweise sind nicht alle Optionen hier aufgeführt.

Analyse

  • Ausführen der Hintergrundcodeanalyse für ...

    Wählen Sie eine der folgenden Optionen.

    Option Description
    Keine Alle Analysetools und die entsprechenden Codekorrekturen sind deaktiviert.

    Compilerdiagnosen und entsprechende Codekorrekturen sind für alle geöffneten Dokumente aktiviert.
    Aktuelles Dokument (Standard) Alle Analysetools werden nur für das derzeit aktive Dokument ausgeführt.

    Compilerdiagnosen sind für alle geöffneten Dokumente aktiviert.
    Geöffnete Dokumente Alle Analysetools und Compilerdiagnosen sind für alle geöffneten Dokumente aktiviert.
    Gesamte Projektmappe Alle Analysetools und Compilerdiagnosen sind für alle Dokumente in der Projektmappe aktiviert, unabhängig davon, ob sie geöffnet oder geschlossen sind.

Using-Direktiven

  • System-Direktiven beim Sortieren von Using-Direktiven an erster Stelle platzieren

    Wenn er ausgewählt wurde, sortiert der Befehl Remove and Sort Usings (Using-Anweisungen entfernen und sortieren) im Kontextmenü die using-Anweisungen und platziert die „System“-Namespaces ganz oben in der Liste.

    Vor dem Sortieren:

    using AutoMapper;
    using FluentValidation;
    using System.Collections.Generic;
    using System.Linq;
    using Newtonsoft.Json;
    using System;
    

    Nach dem Sortieren:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using AutoMapper;
    using FluentValidation;
    using Newtonsoft.Json;
    
  • Using-Direktivengruppen trennen

    Wenn ausgewählt, trennt der Befehl Using-Anweisungen entfernen und sortieren im Kontextmenü die using-Anweisungen, indem er eine leere Zeile zwischen Gruppen von Anweisungen einfügt, die den gleichen Stammnamespace aufweisen.

    Vor dem Sortieren:

    using AutoMapper;
    using FluentValidation;
    using System.Collections.Generic;
    using System.Linq;
    using Newtonsoft.Json;
    using System;
    

    Nach dem Sortieren:

    using AutoMapper;
    
    using FluentValidation;
    
    using Newtonsoft.Json;
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    
  • Using-Anweisungen für Typen in .NET Framework-Assemblys vorschlagen

  • Using-Direktiven für Typen in NuGet-Paketen vorschlagen

    Wenn diese Optionen ausgewählt wurden, ist eine Schnellaktion zum Installieren eines NuGet-Pakets und Hinzufügen einer using-Anweisung für nicht referenzierte Typen verfügbar.

    Quick Action to install NuGet package in Visual Studio

  • Beim Einfügen fehlende using-Direktiven hinzufügen

    Bei Auswahl dieser Option werden automatisch using-Direktiven zum Code hinzugefügt, wenn Sie einen Typ in eine Datei einfügen.

Markieren

  • Verweise auf Symbole unter dem Cursor markieren

    Wenn sich der Cursor innerhalb eines Symbols befindet, oder wenn Sie auf ein Symbol klicken, werden alle Instanzen dieses Symbols in der Codedatei hervorgehoben.

Gliedern

  • Beim Öffnen von Dateien in Gliederungsmodus wechseln

    Wenn diese Option aktiviert ist, wird die Codedatei automatisch gegliedert. Hierdurch werden reduzierbare Codeblöcke erstellt. Beim ersten Öffnen einer Datei werden #Region-Blöcke und inaktive Codeblöcke reduziert.

  • Zeilentrennzeichen zwischen Prozeduren anzeigen

    Der Text-Editor gibt den visuellen Bereich von Prozeduren an. In den CS-Quelldateien des Projekts werden an den in der folgenden Tabelle aufgeführten Positionen Linien gezeichnet:

    Position in der CS-Quelldatei Beispiel für die Linienposition
    Nach dem Schließen eines Blockdeklarationskonstrukts – Am Ende einer Klasse, einer Struktur, eines Moduls, einer Schnittstelle oder einer Enumeration
    – Nach einer Eigenschaft, Funktion oder Sub
    – Nicht zwischen den get- und set-Klauseln in einer Eigenschaft
    Nach mehreren Einzelzeilenkonstrukten – Nach Import-Anweisungen, vor einer Typdefinition in einer Klassendatei
    – Nach den in einer Klasse deklarierten Variablen, vor jeglichen Prozeduren
    Nach Einzelzeilendeklarationen (Deklarationen, die nicht auf Blockebene erfolgen) – Nach Importanweisungen, Inherits-Anweisungen, Variablendeklarationen, Ereignisdeklarationen, Delegatdeklarationen und Declare-Anweisungen für DLLs

Führungslinien für Blockstruktur

Aktivieren Sie diese Kontrollkästchen, um gestrichelte vertikale Linien zwischen geschweiften Klammern ( {} ) in Ihrem Code anzuzeigen. Dann können Sie leicht einzelne Codeblöcke für Ihre Deklarations- und Codeebenen erkennen.

Kommentare

  • XML-Dokumentationskommentare generieren für ///

    Bei Auswahl dieser Option werden die XML-Elemente für XML-Dokumentationskommentare eingefügt, wenn Sie die ///-Kommentareinführung eingegeben haben. Weitere Informationen über die XML-Dokumentation finden Sie unter XML-Dokumentationskommentare (C#-Programmierhandbuch).

Methode extrahieren

  • Don't put ref or out on custom struct (Nicht „ref“ oder „out“ auf benutzerdefinierte Struktur anfügen)

    Deaktivieren Sie dieses Kontrollkästchen, um ein unbeabsichtigtes Klonen von Strukturen zu vermeiden, indem Sie beim Extrahieren eines Ausdrucks in einen Methodenaufruf auf vorhandene Strukturobjekte verweisen.

    Beispiel

    Angenommen, in Ihrem Code sind die folgenden class- und struct-Objekte vorhanden:

    public struct CustomStruct
    {
        private int Count;
    
        public int Bump => ++Count;
    }
    
    public class CustomClass
    {
        public void DoIt()
        {
           CustomStruct cs = new CustomStruct();
           int i = 0;
    
           i += cs.Bump;   // select this line
        }
    }
    

    Wenn die Option „ref oder out nicht in benutzerdefinierter Struktur platzieren“ deaktiviert ist, generiert das Feature „Methode extrahieren“ folgende Ausgabe:

    public class CustomClass
    {
        public void DoIt()
        {
           CustomStruct cs = new CustomStruct();
           int i = 0;
    
           NewMethod(ref cs, ref i);
        }
    
        private static void NewMethod(ref CustomStruct cs, ref int i)
           => i += cs.Bump;
    }
    

    Wenn die Option „ref oder out nicht in benutzerdefinierter Struktur platzieren“ aktiviert ist, generiert das Feature „Methode extrahieren“ folgende Ausgabe:

    public class CustomClass
    {
        public void DoIt()
        {
           CustomStruct cs = new CustomStruct();
           int i = 0;
    
           i = NewMethod(cs, i);
        }
    
        private static int NewMethod(CustomStruct cs, int i)
        {
           i += cs.Bump;
           return i;
        }
    }
    

Inlinehinweise

  • Hinweise zu Inlineparameternamen

    Wenn diese Option ausgewählt ist, werden Hinweise zu Parameternamen für Literale, Umwandlungsliterale und Objektinstanziierungen vor jedem Argument in Funktionsaufrufen eingefügt.

    Inline Parameter Name Hints for CSharp

  • Inlinetyphinweise

    Wenn diese Option aktiviert ist, werden für Variablen mit abgeleiteten Typen und Lambdaparametertypen Typhinweise eingefügt.

    Inline Type Hints for CSharp

Vererbungsrand

  • Wenn diese Option aktiviert ist, werden an den Rändern Symbole hinzugefügt, die Implementierungen und Überschreibungen Ihres Codes darstellen. Wenn Sie am Vererbungsrand auf ein Symbol klicken, werden Vererbungsoptionen für die Navigation angezeigt, die Sie auswählen können.

    Inheritance Margin

Siehe auch