Controlling Codemodel Code Ausgabeformatierung: Linien zwischen Namespace-Deklarationen setzen
-
27-09-2019 - |
Frage
Ich mache einige Experimente mit Visual Studio Codemodel.
: Ich habe versucht, dort durch VS-Kodex Modell eine Datei mit zwei Namensräumen zu schaffenCodeModel codeModel = projItem.ContainingProject.CodeModel;
codeModel.AddNamespace("Namespaces.FirstNamespace", "namespacestest.cs");
codeModel.AddNamespace("Namespaces.SecondNamespace", "namespacestest.cs");
die Ausgabe eines solchen Codes ist:
//file namespacestest.cs
namespace Namespaces.FirstNamespace {
}
namespace Namespaces.SecondNamespace {
}
Welche ist fast , was ich suche. Der einzige Haken dabei ist, dass ich den Abstand steuern möchte: mindestens eine Linie zwischen dem ersten und dem zweiten Namensraum aufweist. Hat zufällig jemand weiß einen Weg, dies zu erreichen?
Das ist, was ich will:
//file namespacestest.cs
namespace Namespaces.FirstNamespace {
}
namespace Namespaces.SecondNamespace {
}
Danke
Lösung
Die Anweisung codeModel.AddNamespace
kehren Sie ein Objekt von Codenamespace.
Sie können die EditPoint des Namespace mit dem ersten Namespace und legen Sie eine Zeile wie diese finden.
CodeNamespace yournamespace = codeModel.AddNamespace(....);
EditPoint2 endEditPoint = yournamespace.GetEndPoint(vsCMPart.vsCMPartWhole).CreateEditPoint();
endEditPoint.InsertNewLine(1);
Ich bin nicht sicher, ob dies die Linie an der gewünschten Stelle setzen, aber die Idee ist, die EditPoint zu bekommen und es dann auf die Zeile einzufügen verwenden.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow