2010-05-16 19 views
1

我正在用Visual Studio的CodeModel做一些實驗。我試圖創建一個文件中有兩個名字空間通過VS的代碼模型:控制CodeModel的代碼輸出格式:在名稱空間聲明之間放置行

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 { 
} 

感謝

回答

1

聲明codeModel.AddNamespace將返回CodeNamespace的對象。 您可以使用您的第一個名稱空間找到名稱空間的EditPoint,然後插入一行像這樣。

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

我不確定這是否會將行放在您想要的位置,但想法是獲取EditPoint,然後使用它插入行。

相關問題