我想手动扩展IntelliSense列表的各种项目。 我想负责由该项目触发的操作(即代码完成和工具提示信息)。 无论是哪些项目都可以。
这是否可能通过VisualStudio插件,ReSharper / DXCore或任何其他插件实现?
背景:
你们中的一些人可能知道FOP(功能导向编程)。 FOP需要对Intellisense和编辑器行为进行各种更改。
编辑:
另一篇有趣的帖子。
我想手动扩展IntelliSense列表的各种项目。 我想负责由该项目触发的操作(即代码完成和工具提示信息)。 无论是哪些项目都可以。
这是否可能通过VisualStudio插件,ReSharper / DXCore或任何其他插件实现?
背景:
你们中的一些人可能知道FOP(功能导向编程)。 FOP需要对Intellisense和编辑器行为进行各种更改。
编辑:
另一篇有趣的帖子。
通过编写 ReSharper 插件,这是非常容易实现的。
首先,实现ICodeCompletionItemsProvider
,它可以提供额外的智能提示项。最简单的方法是继承自ItemsProviderOfSpecificContext<TContext>
(如果您想要C#代码提示,则TContext
应该是CSharpCodeCompletionContext
)。
在AddLookupItems()
实现中,您的提供程序将添加额外的项目。您有机会在此处提供ILookupItem
的自定义实现:当用户选择完成弹出窗口中的项时,将调用此接口的Accept()
方法。这是您执行所需代码的机会。
请注意,此信息适用于R#6.1 / 7.0。尽管如此,我认为在以前的版本中并没有太大区别。显然,您必须启用 ReSharper IntelliSense 而不是 Visual Studio IntelliSense 才能使其起作用。
或许ReSharper的Live Templates可以帮助你(ReSharper->Live Templates...)。