Gibt es eine Möglichkeit der langen Liste von usings an der Spitze meiner CS-Dateien loswerden?

StackOverflow https://stackoverflow.com/questions/62219

Frage

Wie ich immer mehr Namespaces in meiner Lösung zu erhalten, die Liste der Anweisungen an dem Anfang meiner Dateien immer länger werden. Dies ist insbesondere der Fall in meinen Unit-Tests, wo für jede Komponente, die ich brauche, um umfasse die Verwendung für die Schnittstelle, die IoC-Container, und die konkreten Art genannt werden könnten.

Mit nach oben von 17 Linien von usings in meiner Integrationstest-Dateien seines immer nur geradezu chaotisch. Weiß jemand, ob eine Möglichkeit, Theres einen Makro für meine Basis mit Aussagen zu definieren? Alle anderen Lösungen?

War es hilfreich?

Lösung

genießen Einige Leute die usings in einem #region versteckt. Ansonsten denke ich, kein Glück. Es sei denn, Sie wollen auf alle Ihre referents den Namensraum setzen.

Andere Tipps

Ich weiß, ich sollte das nicht laut sagen, aber vielleicht überdenken Ihr Design.

17 usings in 1 file = eine Menge Kopplung (auf der Namensraum-Ebene).

Kann es nicht ertragen ReSharper mich. Aber ich kann auch nicht chaotisch mit Aussagen steht. Ich benutze den Strombefehle Add-in für VS, die ein handliches hat ‚entfernen und Sortieren‘ mit Aussagen Befehl (unter anderem guten Dingen).

Es gibt vier mögliche Probleme hier;

Die Namensräume im Code sind Dividieren Ihre Klassen zu fein , wenn Sie zum Beispiel;.

using MyCompany.Drawing.Vector.Points;
using MyCompany.Drawing.Vector.Shapes;
using MyCompany.Drawing.Vector.Transformations;

Sehen Sie sie an den einzelnen MyCompany.Drawing.Vector Namensraum kollabiert. Sie gewinnen wahrscheinlich nicht durch zu viel geteilt wird. Visual Studio-Code-Analyse / FxCop hat eine Regel dafür, die Anzahl der Klassen in einem Namensraum zu überprüfen. Zu wenige und es wird Sie warnen.

Sie sind zu viele Tests in der gleichen Klasse setzen Wenn Sie verweisen System.Data, System.Drawing und System.IO in der gleichen Klasse, sollten mehr Atomtests zu schreiben -. Einige, die auf Datenbanken zugreifen, einige der zeichnen Bilder, und einige, die das Dateisystem zugreifen. Dann teilen Sie jede Art über drei Testklassen.

Sie schreiben Tests, die zu viel zu tun. Wenn Sie eine Menge von Namensräumen verweisen, können die Tests auch zusammen viele Funktionen Kopplung werden. Diese Art der Kopplung kann oft fehlerhaft, so versuchen, große, weit reichende Funktionen in kleinere Teile zu brechen, und testet diese in separaten Dateien.

Viele sind überflüssig. Sind sie alle verwendet werden, oder werden sie von anderen Dateien kopieren kleistert einfach. Rechtsklick auf dem Code-Editor und wählen Sie aus dem ‚Organisieren Mit‘ Optionen nicht verwendete Aussagen zu entfernen.

  

Wer weiß, wenn eine Art und Weise Theres   ein Makro für meine Basis definieren mit   Aussagen?

Sie meinen, dass Namespaces Sie häufig verwenden, sind auf jede neue Klasse automatisch hinzugefügt? Wenn ja, kann ReSharper das auch tun. Additionaly hat es eine Funktion, um die usings in einem Bereich auf Code clean-up zu setzen. ReSharper kann der Weg zu gehen (Sie werden es nicht regrett, wie ich aus eigener Erfahrung sagen kann).

VS2008 hinzugefügt, um ein „Organisieren Usings“ Kontextmenü, das eine Art hat, entfernen, und auf „Entfernen und Sortieren“ Option, die das tun, was Sie wollen pro Datei. Der Visual Studio Power-Befehle Add-In fügt ein Kontextmenü in der Lösung Explorer für Projekte und Lösungen, die ein „Entfernen und Sortieren“ für alle Dateien im Projekt und alle Projekte in der Lösung ist.

Wenn Sie die Standard-using-Anweisungen geändert werden soll, die getan werden, wenn Sie eine neue Datei erstellen, werfen Sie einen Blick in das Verzeichnis C: \ Programme \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \-Code \ 1033-Verzeichnis . Es enthält eine Reihe von Zip-Dateien, die Sie ändern können die Vorlagen für Code-Dateien zu ändern (natürlich die Verzeichnisstruktur nach oben in anderen Sprachen oder andere Arten von Dateien zu ändern).

Siehe hier für weitere Informationen.

Es kann helfen, um Aliasing zu verwenden. Nicht sicher, dass es es lohnt sich, aber statt:

using System.Web.UI;
using System.Web.Mail;
using System.Web.Security;
... Control ...
... MailMessage ...
... Roles ... 

Sie verwenden können:

using W = System.Web;
... W.UI.Control ...
... W.Mail.MailMessage ...
... W.Security.Rolse ...

ReSharper - die Add-in für Visual Studio -. Hat eine Funktion, die nicht verwendete Usings aus einer Datei Streifen, aber ich weiß nichts, das tut ganz das, was Sie beschreiben,

In VS2008 können Sie einen Rechtsklick auf die CS-Datei und wählen Sie ‚Organisieren Usings‘. Es wird der Streifen nicht verwendete verwenden und sortieren sie auch für Sie. Abgesehen davon, würde ich nur #region verwenden. Auch STRG + M + O kollabieren alle Regionen Funktionen, etc. zur Entwurfszeit. Ich benutze diese Abkürzung A LOT!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top