如何在Visual Studio Intellisense中添加按钮

35

我想在Visual Studio的IntelliSense返回的选项列表顶部添加一个按钮。当用户点击该按钮时,将执行我的自定义代码(其中包括弹出窗口等其他操作)。

我称其为“按钮”,因为当用户单击该项时,我希望弹出一个窗口,而不是完成用户输入的正常IntelliSense操作。

例如,当我们在文本编辑器中输入类名时,通常会在IntelliSense中显示静态属性和静态方法。但我想在该列表顶部添加另一项。

无论何时触发IntelliSense,该项都应出现在IntelliSense列表的顶部。该项将永远不会更改。

这是否可能?如果是,请指导我如何实现。


6
这看起来是一个不错的开端。https://dev59.com/Pmox5IYBdhLWcg3wjE5i - Sepster
3
我已经根据你的评论更新了你的问题。如果你对这个编辑满意,请删除你的评论。否则,可以撤销这个编辑。 - Sepster
1
不认为使用官方API是可能的,因为Completion类http://msdn.microsoft.com/library/microsoft.visualstudio.language.intellisense.completion.aspx仅支持文本或图标信息。 - Simon Mourier
2
您可以使用Visual Studio SDK实现IIntellisensePresenterProvider。请查看此Codeplex项目以获取示例。 此文章还描述了一个类似的扩展。 - Eli Arbel
2
如果可以通过一个按钮完成,那么可能也可以通过任何控件完成。我更喜欢使用颜色选择器。 - King King
显示剩余5条评论
2个回答

1

1)在C#或VB项目中,打开一个代码文件并将光标放置在您想要插入代码片段的位置。

2)有三种方法之一打开代码片段菜单:

    Press CTRL+K, CTRL+X.

    On the Edit menu, point to IntelliSense, and then click Insert Snippet.

    Right-click the mouse and then select the Insert Snippet command on the shortcut menu.

3) 从代码片段插入器中选择代码片段,然后按TAB或ENTER键,或双击该片段。


0
在 IntelliSense 属性页面中,清除您不需要的 IntelliSense 功能的文本框选项或复选框选项:
Show completion list after a character is typed

Committed by typing the following characters

Committed by pressing the space bar

IntelliSense pre-selects most recently used members applies to IntelliSense for Most Recently Used Members

更多信息,请参见 IntelliSense、C#、文本编辑器、选项对话框。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接