visual-studio – 有没有办法访问Visual Studio的CodeSnippet框架来以编程方式操作代码段?

我正在开发一个模板化程度很高的项目,但我正在创建的模板在未来的项目中也可以作为Visual Studio的CodeSnippets运行良好.

所以,我想知道,有没有办法访问Visual Studio的加载,解析和以任何方式,形状或形式显示CodeSnippets的系统?

例如,能够做这样的事情真的很光滑:

var snippet = LoadSnippet("~/path/to/code.snippet");
if (snippet != null)
{
    snippet.TryReplace("$token$", "Some Value");
    // and then do something with snippet.ToString(), or...
    Console.WriteLine(snippet.GetCSharpString());
}

我知道我可以将.snippet文件作为XML加载并手动操作它们,但在利用其他功能方面,例如填写默认标记值,执行函数来替换标记,或控制标记的可编辑性在片段文件中,如果我不需要,那比我想复制的工作更多.

想法?

谢谢!

最佳答案 您应该考虑一个“真正的”模板工具,如CodeSmith,或Visual Studio 2010的新功能.这些模板在执行期间支持“代码隐藏”.不确定Visual Studio工具集,但CodeSmith可以通过API执行.

片段要简单得多.不要试图让他们成为他们不是的东西.如果您希望使用片段,可以使用一些免费下载工具(Snippet Editor,http://www.codeplex.com/SnippetEditor)来帮助更好地设计它们,利用这些功能等,这样您就不会使用原始XML了.

点赞