我想通过各种项目手动扩展 IntelliSense 列表。我想对项目触发的操作负责(即代码完成和工具提示信息)。什么物品都无所谓。
这可以通过 VisualStudio 插件、ReSharper / DXCore 或任何其他插件实现吗?
背景:
你们中的一些人可能知道 FOP(面向特征的编程)。FOP 需要对智能感知和编辑器行为进行各种更改。
编辑:
另一个有趣的帖子。
我想通过各种项目手动扩展 IntelliSense 列表。我想对项目触发的操作负责(即代码完成和工具提示信息)。什么物品都无所谓。
这可以通过 VisualStudio 插件、ReSharper / DXCore 或任何其他插件实现吗?
背景:
你们中的一些人可能知道 FOP(面向特征的编程)。FOP 需要对智能感知和编辑器行为进行各种更改。
编辑:
另一个有趣的帖子。
这绝对可以通过编写 ReSharper 插件轻松实现。
首先实现ICodeCompletionItemsProvider
它将提供额外的 IntelliSense 项。最简单的方法是继承自ItemsProviderOfSpecificContext<TContext>
(如果您对 C# 代码完成感兴趣,可以继承)TContext
。CSharpCodeCompletionContext
您的提供者将在AddLookupItems()
. 您有机会在ILookupItem
此处提供自定义实现:Accept()
当用户在完成弹出窗口中选择项目时,将调用此接口的方法。这是您执行所需代码的机会。
请注意,此信息适用于 R# 6.1/7.0。我不认为它与以前的版本有很大不同。显然,您必须启用 ReSharper IntelliSense 而不是 Visual Studio IntelliSense 才能正常工作。
可以通过将自定义 xsd 文件放在C:\Program Files\Microsoft Visual Studio 10.0\Xml\Schemas
文件夹中来添加用于 VS2010 XML 编辑器的自定义 intelliSense,但我想您正在寻找更多内容。
您应该查看创建和使用 IntelliSense 代码片段并确定它是否是您要查找的内容。关于programmers.stockexchange 的这个问题也可能会有所帮助。这个问题似乎也很相似,这表明CSharpIntellisensePresenter (Free)。
也许 ReSharper 的 Live Templates 可以帮助您(ReSharper->Live Templates...)。