在C#或Vb.Net中,使用Visual Studio 2013 SDK,当显示成员信息时,如何在Intellisense上添加其他元素?
我的目的不是要添加完成/建议元素,我想在显示可能会抛出异常的成员的信息下方添加自定义其他信息,该成员可能会抛出方法,函数或属性(getter / setter),而不是关键字。
我读了一点Microsoft.VisualStudio.Language.Intellisense命名空间的成员,但是对此我没有任何明确的想法。
在可以得到的帮助下,我的目标是找到答案,以开发一个简单的扩展,该扩展将为成员添加(已记录)异常信息,如下所示:
我想在Visual Studio for C#中重新引入此有用的功能,并将其也添加到VB.Net中,然后,如果成功,我将像过去使用此有用的扩展程序一样,免费与所有用户共享它:
我只是评论一下,因为这样可以给我们所有人带来帮助!
除了我的问题,而且只有另外一个问题,如果有人可以开始指导我如何找到检索成员(<exception cref="Exception name">
)的Xml文档的方法,或者是一种简单的方法,我将不胜感激。
编辑:
关于Xml文档,我想到了使用Visual Studio对象浏览器来检查将由Intellisense列出的成员的异常的方法,而不是弄乱Reflection?获取异常信息。一旦我能弄清楚如何从SDK自动化对象浏览器,那可能是一种更好且可行的方法,但是我只是在评论,一旦解决了这个问题,也许这将是一个新问题,因为首先需要解决这一步骤,希望如此。
IntelliSence
对于以下每种情况,都需要使用几种类型的可扩展性点:
悬停文本元素时显示的工具提示称为QuickInfo
工具提示,您可以自己通过从IQuickInfoSource
interface继承并创建match来实现IIntellisenseController
。可以在MSDN上找到完整的演练:
例:
确保使用属性将您的IQuickInfoSourceProvider
负载设为默认负载IQuickInfoSource
之前的负载-否则将不会显示默认负载:Visual-Studio
Order
QuickInfo
[Order(Before = "Default Quick Info Presenter")]
编写表示其签名的方法名称时显示的工具提示将被调用,Signature Help
并且可以通过ISignatureHelpSource
与QuickInfo
工具提示非常相似的方式继承来实现。完整的演练可以在MSDN上找到:
Code Snippets
-与您无关。
Statement Completions
-与您无关。
请注意,您将需要IClassifier
在项目中制作一个以便显示工具提示,与此同时,您还可以修改视图,以便根据Exceptions
需要以不同的方式查看。MSDN上的指南。
另一方面,获取有关方法的信息则取决于您。您可以使用外部手册来使用它,也可以在您正在使用的手册中使用它,IQuickInfoSource
也可以通过在您正在浏览的代码文档中XML Comment
分析ITextStructureNavigator
的读词来从匹配的文档中阅读该手册Roslyn
。
抱歉,如果这是一个抽象的答案,但这是一个非常广泛的问题,并且有很多方法可以实现这种扩展。
PS:为了研究该领域,我设法对质量进行了类似的扩展,因此,如果您对实现本身有任何以下疑问,请随时提出。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句