Frage

Ich mache einige Experimente mit Visual Studio Codemodel.

: Ich habe versucht, dort durch VS-Kodex Modell eine Datei mit zwei Namensräumen zu schaffen
CodeModel 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

War es hilfreich?

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
scroll top