我想通过各种项目手动扩展智能感知列表。我想对项目触发的操作负责(即代码完成和工具提示信息)。哪个项目无关紧要。
使用VisualStudio加载项,ReSharper / DXCore或任何其他插件是否可以实现这一目标?
背景
你们中的一些人可能知道FOP(面向功能的编程)。 FOP需要对智能感知和编辑器行为进行各种更改。
修改
另一个interesting post。
答案 0 :(得分:16)
writing a ReSharper plugin非常容易实现这一点。
首先实施ICodeCompletionItemsProvider
,它将提供额外的智能感知项目。最简单的方法是继承ItemsProviderOfSpecificContext<TContext>
(如果您对C#代码完成感兴趣,则TContext
为CSharpCodeCompletionContext
。
您的提供商会在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并确定它是否正是您要找的。 strike> programmers.stockexchange上的这个question也可能会有所帮助。此question似乎也相似,表明CSharpIntellisensePresenter(免费)。
答案 2 :(得分:0)
也许ReSharper的实时模板可以为您提供帮助(ReSharper-&gt; Live Templates ...)。