Entfernen von nicht verwendeten Usings
Mit der Option Nicht verwendete Usings entfernen der Benutzeroberfläche von Visual Studio werden using-Direktiven, using-Aliase und extern-Aliase, die nicht im Quellcode verwendet werden, entfernt. Es gibt zwei Möglichkeiten, die Operation aufzurufen:
Hauptmenü - Zeigen Sie im Menü Bearbeiten auf IntelliSense, dann auf Usings organisieren, und klicken Sie dann auf Nicht verwendete Usings entfernen.
Kontextmenü - Klicken Sie mit der rechten Maustaste in den Code-Editor, zeigen Sie auf Organisieren Usings, und klicken Sie dann auf Nicht verwendete Usings entfernen.
Tipp
Wenn Sie den Befehl Nicht verwendete Usings entfernen für Quellcode ausführen, der nicht erstellt werden kann, werden möglicherweise einige erforderliche using-Direktiven entfernt.
Im folgenden Beispiel ist das Ergebnis dargestellt, dass beim Ausführen von Nicht verwendete Usings entfernen für den Quellcode erzielt wird.
Vorher |
Nachher |
---|---|
|
|
Im vorangehenden Beispiel wird im Quellcode später nur System verwendet. Die anderen using-Direktiven, einschließlich der doppelten System-Using-Direktive, werden entfernt.
Hinweise
Bedingte Präprozessordirektiven
Nicht verwendete Usings entfernen entfernt nur nicht verwendete Direktiven und Aliase, die sich im aktiven Block befinden. Dieses Verhalten wird im folgenden Beispiel veranschaulicht:
Vorher |
Nachher |
---|---|
#define DEBUG #if DEBUG using System; using System.Collections.Generic; using System.Linq; #else using System.Text; #endif namespace ConsoleApplication1 { class Program { static void Main(string[] args) { List<int> myList = new List<int> { 1, 2, 3 }; Console.WriteLine(myList); } } } |
#define DEBUG #if DEBUG using System; using System.Collections.Generic; #else using System.Text; #endif namespace ConsoleApplication1 { class Program { static void Main(string[] args) { List<int> myList = new List<int> { 1, 2, 3 }; Console.WriteLine(myList); } } } |
Im vorangehenden Beispiel werden System.Text und System.Linq nicht verwendet. Es wird jedoch nur System.Linq entfernt, da sich System.Text nicht im aktiven Block befindet.
Kommentare
Mit Nicht verwendete Usings entfernen wird nur dann ein Kommentar entfernt, wenn sich der Kommentar zwischen den Token einer Direktive oder eines Alias befindet, die bzw. der entfernt wird. Davor oder dahinter aufgeführte Kommentare sind davon nicht betroffen. Dieses Verhalten wird im folgenden Beispiel veranschaulicht:
Vorher |
Nachher |
---|---|
using System; /* Comment before remains */ using /* Comment between removed */ System.Linq; // Comment after remains namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("My Example"); } } } |
using System; /* Comment before remains */ // Comment after remains namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("My Example"); } } } |
Im vorhergehenden Beispiel wird System.Linq entfernt. Nur die Kommentare zwischen den Token der Direktive werden entfernt.
Siehe auch
Referenz
Erweitert, C#, Text-Editor, Dialogfeld "Optionen"