Ele*_*ios 18 .net c# vb.net visual-studio visual-studio-sdk
在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
接口继承并创建匹配来实现IIntellisenseController
.可以在MSDN上找到完整的演练:
例:
确保使用属性使您的IQuickInfoSourceProvider
加载IQuickInfoSource
在默认加载之前 - 否则将不会显示默认值:Visual-Studio
Order
QuickInfo
[Order(Before = "Default Quick Info Presenter")]
Run Code Online (Sandbox Code Playgroud)在编写显示其签名的方法名称时显示的工具提示被调用,Signature Help
并且可以通过ISignatureHelpSource
以与QuickInfo
工具提示非常类似的方式继承来实现.可以在MSDN上找到完整的演练:
Code Snippets
- 这与你无关.
Statement Completions
- 这与你无关.
请注意,您需要IClassifier
在项目中创建要显示的工具提示,您还可以修改视图,以便根据Exceptions
需要以不同方式查看.MSDN指南.
另一方面,获取有关方法的信息取决于您.您可以使用外部手动源并在您使用它IQuickInfoSource
或从匹配的XML Comment
文档中读取它,方法是ITextStructureNavigator
使用Roslyn
您正在导航的代码文档分析读取的单词.
很抱歉,如果这是一个小小的抽象答案,但这是一个非常广泛的问题,有很多方法可以实现这样的扩展.
PS:我已经设法以低质量进行类似的扩展,以便研究这个领域,所以如果你有任何关于实现的问题,请随意询问.
归档时间: |
|
查看次数: |
1731 次 |
最近记录: |