[英]Generate Code from a Visual Studio Extension
我有一个项目,基于元数据生成文本(表示一个接口和一个类)。 我想采用这个生成的代码并将其作为新类和接口直接插入到特定项目和目录下当前打开的解决方案中。 我将创建将生成类的菜单工具,但我不知道该怎么做是从我的自定义Visual Studio扩展中获取对以下项的访问:
编辑 - 澄清我需要打开一个新文件(例如右键单击一个项目 - >添加 - >新类)并从我的自定义Visual Studio扩展中插入文本。
谢谢
要从Visual Studio扩展(ToolWindowPane)创建新文件,请首先使用GetService方法:
// Get an instance of the currently running Visual Studio IDE
DTE dte = (DTE)GetService(typeof(DTE));
其次,确保解决方案当前处于打开状态,如果没有打开解决方案,则文件生成将无效:
string solutionDir = System.IO.Path.GetDirectoryName(dte.Solution.FullName);
第三,从DTE对象生成新文件:
dte.ItemOperations.NewFile(@"General\Visual C# Class", "ObjectOne", EnvDTE.Constants.vsViewKindTextView);
创建新文件后,使用以下代码访问该文件的文本并将其替换为生成的文本:
TextSelection txtSel = (TextSelection)dte.ActiveDocument.Selection;
TextDocument txtDoc = (TextDocument)dte.ActiveDocument.Object("");
txtSel.SelectAll();
txtSel.Delete();
txtSel.Insert("Hello World");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.