gpt4 book ai didi

visual-studio-2010 - 通过添加上下文菜单项来操作所选文本来扩展 Visual Studio 2010 编辑器

转载 作者:行者123 更新时间:2023-12-03 20:06:06 26 4
gpt4 key购买 nike

我想为 Visual Studio 创建一个扩展,它允许某人在编辑器中选择任何文本,右键单击以获取上下文菜单,然后通过单击我的自定义菜单项对文本执行一些操作。

例如,假设我的自定义菜单项称为“电子邮件...”。编辑器的新上下文菜单可能如下所示:

Breakpoint
Run to Cursor
Cut
Copy
Paste
Email...
Outlining



我还想添加一个带有选项的弹出窗口(装饰?)。在这种情况下,它可能类似于 To , Subject , 和 CC领域。

我认为其中一些可以通过 MEF 来完成。使用编辑器扩展,例如弹出窗口和用于触发电子邮件的实际代码。但看起来我需要一个 VSPackage添加上下文菜单项。根据我的阅读,我可以将 MEF 片断和 VSPackage 捆绑在一起。一起。

这就是我卡住的地方。我需要详细的详细引用来实现这两个部分,但我还需要有关如何集成它们的信息。 MSDN 让我兜兜转转。

有什么好的、可靠的示例代码或文档(甚至是书籍)可以学习?

最佳答案

1) 您可以在扩展中创建始终获取对 EnvDTE 的引用。

m_dte = (EnvDTE.DTE)this.GetService(typeof(EnvDTE.DTE));

2) 直接在扩展范例中添加菜单项。您只需要修改“.VSCT”文件。首先,在菜单组中定义菜单命令。在 VSCT 文件中,生成的组定义如下所示:
<Group guid="guidCodeBlogCmdSet" id="MyMenuGroup" priority="0x0600">
<Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS"/>
</Group>

要将“电子邮件”菜单项移动到上下文菜单,我们需要做的就是使用标识符 IDM_VS_CTX_CODEWIN 将代码窗口上下文编辑器指定为菜单组的父级:
<Group guid="guidCodeBlogCmdSet" id="MyMenuGroup" priority="0x0600">
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_CODEWIN"/>
</Group>

我基于一个简洁的教程中的示例,该教程关于如何从 Visual Studio 自动推特或博客代码片段: http://solutions.developer.com/ms/web-dev/visual-studio/codeblog-writing-a-blogging-extension-for-visual-studio-2010.html

关于visual-studio-2010 - 通过添加上下文菜单项来操作所选文本来扩展 Visual Studio 2010 编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6240543/

26 4 0