C# 控制代码模型';s代码输出格式:在命名空间声明之间放置行
我正在用VisualStudio的代码模型做一些实验。我尝试通过VS的代码模型创建一个包含两个名称空间的文件: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
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);
我不确定这是否会把线放在你想要的地方,但想法是得到编辑点,然后用它来插入线