【问题标题】:How to extend IntelliSense items?如何扩展 IntelliSense 项?
【发布时间】:2012-02-03 18:49:18
【问题描述】:

我想通过各种项目手动扩展 IntelliSense 列表。我想负责由项目触发的操作(即代码完成和工具提示信息)。什么物品都无所谓。

这可以通过 VisualStudio 插件、ReSharper / DXCore 或任何其他插件实现吗?

背景:

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

编辑:

另一个interesting post

【问题讨论】:

  • 我猜你想要做的事情的范围没有被扩展方法解决? msdn.microsoft.com/en-us/library/bb383977.aspx 我想问一下,只是为了确保...
  • 如果您希望更改 IDE 的行为,那么您肯定在寻找插件。如果你想做的事情可以在 R# 插件框架内完成,那会比自己写 VS 插件更容易,但后者肯定是可行的。

标签: visual-studio-2010 resharper dxcore


【解决方案1】:

writing a ReSharper plugin 绝对很容易做到这一点。

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

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • @Fraser,这就是为什么它只是一个建议,而不是具体的解决方案。我让他看一看再决定。如果您确定 sn-ps 完全没用,您可以编辑我的答案并删除该链接。或者你可以告诉我你确定,我可以删除链接。谢谢。
    • 建议他应该看一些完全不相关的东西,这就是为什么我给了-1,这就是投票的目的,标记不正确的答案并表明缺乏努力@987654325 @如果您阅读了您提供的链接,那对您来说很明显,不是吗?
    • @Fraser,你可以做任何你认为正确的事情。顺便说一句,我在答案中提供的其他链接呢?这些还好吗?
    • 这里是分步教程如何为您的 html wyndhamhudson.com/adding-custom-intellisense-to-visual-studio-2添加自定义自动完成功能
    【解决方案3】:

    也许 ReSharper 的 Live Templates 可以帮助您(ReSharper->Live Templates...)。

    【讨论】:

      猜你喜欢
      • 2013-01-29
      • 1970-01-01
      • 2023-01-29
      • 2012-06-29
      • 2011-11-15
      • 1970-01-01
      • 2016-02-01
      • 1970-01-01
      • 2022-01-14
      相关资源
      最近更新 更多