如何使用 FileCodeModel 与 VS2010 中的 using 语句进行交互
我正在尝试构建一个 Visual Studio 2010 vsix 附加组件来更改(从添加和删除开始)使用 ac# 文档中的语句。在当前 ProjectItem 上使用 FileCodeModel 我可以看到如何添加类、结构等,但不使用指令。有人可以就此给我建议吗?
I'm trying to build a Visual Studio 2010 vsix add on to alter (to start with just add and delete) using statements in a c# document. Using the FileCodeModel on the current ProjectItem I can see how to add classes, structs etc, but not using directives. Can anyone advise me on this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
检查 FileCodeModel2 位于 http://msdn.microsoft.com /enus/library/envdte80.filecodemodel2.addimport(VS.80).aspx
Check FileCodeModel2 at http://msdn.microsoft.com/enus/library/envdte80.filecodemodel2.addimport(VS.80).aspx
我已经解决了这个问题。我可以递归地分析 FileCodeModel 上的 CodeImports,这为我提供了当前使用指令的列表。不幸的是,我在 FileCodeModel 中找不到任何 AddCodeImport 方法,因此假设它不存在。因此,当我插入 using 指令时,我必须执行获取与最后一个 CodeImport(在当前命名空间范围内)关联的 TextPoints 并将 using 指令作为文本插入其中。
这工作正常,但我不太明白为什么没有 AddCodeImport 方法。
I've solved the problem. I can recursively analyze for CodeImports on the FileCodeModel which gives me a list of the current using directives. Unfortunately I can't find any AddCodeImport method in FileCodeModel and so presume it doesn't exist. As a result when I'm inserting using directives I've had to perform get the TextPoints associated with the last CodeImport (within the current namespace scope) and insert the using directive as text there.
This works fine, but I don't quite understand why there is no AddCodeImport method.