如何扩展IntelliSense项目?

时间:2012-02-03 18:49:18

标签: visual-studio-2010 resharper dxcore

我想通过各种项目手动扩展智能感知列表。我想对项目触发的操作负责(即代码完成和工具提示信息)。哪个项目无关紧要。

使用VisualStudio加载项,ReSharper / DXCore或任何其他插件是否可以实现这一目标?

背景

你们中的一些人可能知道FOP(面向功能的编程)。 FOP需要对智能感知和编辑器行为进行各种更改。

修改

另一个interesting post

3 个答案:

答案 0 :(得分:16)

writing a ReSharper plugin非常容易实现这一点。

  • 首先实施ICodeCompletionItemsProvider,它将提供额外的智能感知项目。最简单的方法是继承ItemsProviderOfSpecificContext<TContext>(如果您对C#代码完成感兴趣,则TContextCSharpCodeCompletionContext

  • 您的提供商会在AddLookupItems()的实施中添加其他项目。您有机会在此处提供ILookupItem的自定义实现:当用户在完成弹出窗口中选择项目时,将调用此接口的Accept()方法。您有机会执行所需的代码。

请注意,此信息适用于R#6.1 / 7.0。我不认为它在以前的版本中有很大的不同。显然,您必须启用ReSharper IntelliSense而不是Visual Studio IntelliSense才能使其正常工作。

答案 1 :(得分:3)

可以通过将自定义的xsd文件放在C:\Program Files\Microsoft Visual Studio 10.0\Xml\Schemas文件夹中来添加针对VS2010 XML编辑器的自定义智能帮助,但我想您正在寻找更多内容。

您应该查看Creating and Using IntelliSense Code Snippets并确定它是否正是您要找的。 programmers.stockexchange上的这个question也可能会有所帮助。此question似乎也相似,表明CSharpIntellisensePresenter(免费)。

答案 2 :(得分:0)

也许ReSharper的实时模板可以为您提供帮助(ReSharper-&gt; Live Templates ...)。