C# 控制代码模型';s代码输出格式:在命名空间声明之间放置行

C# 控制代码模型';s代码输出格式:在命名空间声明之间放置行,c#,visual-studio,visual-studio-2010,vsx,c#-code-model,C#,Visual Studio,Visual Studio 2010,Vsx,C# Code Model,我正在用VisualStudio的代码模型做一些实验。我尝试通过VS的代码模型创建一个包含两个名称空间的文件: CodeModel codeModel = projItem.ContainingProject.CodeModel; codeModel.AddNamespace("Namespaces.FirstNamespace", "namespacestest.cs"); codeModel.AddNamespace("Namespaces.SecondNamespace", "namesp

我正在用VisualStudio的代码模型做一些实验。我尝试通过VS的代码模型创建一个包含两个名称空间的文件:

CodeModel codeModel = projItem.ContainingProject.CodeModel;
codeModel.AddNamespace("Namespaces.FirstNamespace", "namespacestest.cs");
codeModel.AddNamespace("Namespaces.SecondNamespace", "namespacestest.cs");
该代码的输出为:

//file namespacestest.cs
namespace Namespaces.FirstNamespace {
}
namespace Namespaces.SecondNamespace {
}
这几乎就是我要找的。这里唯一需要注意的是我想要控制间距:在第一个和第二个名称空间之间至少有一行。碰巧有人知道实现这一目标的方法吗

这就是我想要的:

//file namespacestest.cs
namespace Namespaces.FirstNamespace {
}

namespace Namespaces.SecondNamespace {
}

谢谢语句
codeModel.AddNamespace
将返回CodeNamespace的对象。 您可以使用第一个名称空间找到名称空间的编辑点,然后插入这样一行

CodeNamespace yournamespace = codeModel.AddNamespace(....);
EditPoint2 endEditPoint = yournamespace.GetEndPoint(vsCMPart.vsCMPartWhole).CreateEditPoint();
endEditPoint.InsertNewLine(1);

我不确定这是否会将该行放在您想要的位置,但想法是获取EditPoint,然后使用它插入该行。

语句
codeModel.AddNamespace
将返回CodeNamespace的对象。 您可以使用第一个名称空间找到名称空间的编辑点,然后插入这样一行

CodeNamespace yournamespace = codeModel.AddNamespace(....);
EditPoint2 endEditPoint = yournamespace.GetEndPoint(vsCMPart.vsCMPartWhole).CreateEditPoint();
endEditPoint.InsertNewLine(1);
我不确定这是否会把线放在你想要的地方,但想法是得到编辑点,然后用它来插入线