问题标签 [vspackage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
382 浏览

visual-studio-2008 - 注册 Visual Studio 2005/2008 包

我有一个现有的 VSPackage,它最初是在 Visual Studio 2005 中开发的。从那时起,该包已转换为 Visual Studio 2008 项目,但仍保持与 Visual Studio 2005 的兼容性。

我遇到的问题是,当我运行 regpkg 时,它会抱怨以下错误:

regpkg : error : 没有一个包定义一个注册表根。

但我已经定义了一个注册表根,如下所示:

要转换项目,我记得按照此处的说明进行操作。

有任何想法吗?

我要做的就是将注册信息导出到 .reg 文件中,以便我可以将其包含在安装程序中。

谢谢,艾伦

0 投票
0 回答
191 浏览

c# - VSPackage 中的 ToolStripContainer

我有一个 VSPackage,里面有几个工具窗口。如您所知,工具窗口派生自一个名为 WindowPane 的类,该类与标准 Form 类完全不同。

在我的工具窗口中,我在 ToolStripContainer 中托管了一个 ToolStrip。我想做的是保留 ToolStrip 相对于其父 ToolStripContainer 的位置信息。我查看了 ToolStripManager.SaveSettings 和 ToolStripManager.LoadSettings,但这些都需要一个 Form 作为参数。

有没有其他人尝试过这样做?

谢谢,艾伦

0 投票
2 回答
821 浏览

wpf - Visual Studio 2010:在 VSPackage 工具窗口中使用 winforms 用户控件

在使用工具窗口创建简单的 VSPackage 时,会创建一个示例 WPF 用户控件并将其添加到工具窗口。这个用户控件必须是 WPF 的吗?我有一个 winforms 用户控件,当将其添加到工具窗口时,它没有显示出来。尝试在 WPF 中托管它但没有成功。有没有这样做的标准方法?

0 投票
5 回答
18714 浏览

visual-studio-2010 - “调用的目标已抛出异常。” 构建 Visual Studio 2010 VSPackage 时

我最近为一些 Visual Studio 扩展(菜单栏/命令)创建了几个 VSPackages。我昨天正确编译它们,检查到 TFS(我是唯一一个接触这个项目的人,仅供参考)。我已经安装了这些扩展并且工作正常。今天它没有编译!我收到以下错误:

调用的目标已引发异常。

这并没有告诉我任何事情,所以我使用以下命令启动了 Visual Studio:

devenv.exe /重建> out.log

在我的 out.log 中,我看到以下内容:

C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\VSSDK\Microsoft.VsSDK.targets(420,5): 错误:调用的目标已引发异常。

我已经坚持了几个小时,无法再构建这些 VSPackages。任何人?这真是令人沮丧。我已经尝试使用 Visual Studio 本身(不是命令行)清理项目/重建/构建

0 投票
1 回答
685 浏览

c# - Visual Studio - 移动光标而不失去焦点

我的包中有一些工具窗口,当用户在工具窗口中执行某些操作时,我想将文档中的特定点显示在视图中。

我试过以下代码:

它做了我想做的事,但不幸的是,它把焦点放在了 Visual Studio 代码编辑器上,把它从我的工具窗口中拿走了。如果用户在我的工具窗口中键入并且它突然将焦点转移到编辑器,这并不好。

有没有另一种方法可以做到这一点而不会失去焦点?

0 投票
0 回答
592 浏览

inversion-of-control - 在 Visual Studio 2010 插件中使用 MEF 解决与 Castle Windsor 的依赖关系

我想知道是否有关于将 Castle Windsor 与 Visual Studio 2010 插件一起使用的最佳实践,该插件在内部使用 MEF 来实例化其控件,例如IWpfTextView.

创建 VsPackage 时会注册所有依赖项。IWpfTextViewCreationListener当通过 MEF 创建时,我以后如何解决这些依赖关系?我应该将容器公开为单例并访问它,还是有更好的方法?

编辑这就是我想要完成的。创建 VsPackage 时,Windsor 正在连接所有的依赖项,这当然是它的优点。

我的插件是“编辑器装饰”类型的可扩展性,因此在加载解决方案并打开代码文件后,我会收到一个回调到我的类继承IWpfTextViewCreationListener(并[Export(typeof(IWpfTextViewCreationListener))]通过 MEF 导出(由 Visual Studio 自动完成)。

这发生在另一种情况下,即我无法从此类访问 VsPackage,并且我需要的任何依赖项都不会被初始化。所以在这一点上,我不确定如何获得以前由 Windsor 连接的那些依赖项。

希望这能让它更清楚。

(例如,您可以尝试使用File | New Project | Visual C# | Extensibility | Text Editor Adornment创建自己的可扩展性项目,以查看如何(以及何时)TextAdornment1Factory创建。

0 投票
1 回答
1295 浏览

c# - 通过 DTE 在 VS 扩展中添加菜单项不会触发 Click 处理程序

我正在尝试使用 VS 包(扩展)中的菜单项动态填充解决方案右键菜单。

我有一个名为“MyMenuName”的扩展菜单,我正在那里添加菜单项。

这是我使用的代码:

菜单项已成功添加,但它的 Click 处理程序永远不会执行。有任何想法吗?

编辑:我在这里挖掘了一些代码:https ://netrepo.svn.codeplex.com/svn/trunk/AssemblyFactoryAddin/AssemblyFactoryAddin/GUIButton.cs 看来我的代码应该是正确的(假设他们的代码有效)

0 投票
2 回答
10277 浏览

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

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

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

断点
运行到光标
剪切
复制
粘贴
电子邮件...
大纲

我还想添加一个带有选项的弹出窗口(装饰?)。在这种情况下,它可能是 、 和字段之类ToSubject东西CC

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

这就是我卡住的地方。我需要详细的参考资料来实现这两个部分,但我还需要有关如何集成它们的信息。MSDN让我绕圈子。

是否有任何好的、可靠的示例代码或文档(甚至书籍)可供我学习?

0 投票
2 回答
8071 浏览

visual-studio-2008 - 如何检索 vspackage 安装的 devenv.exe 路径?

我正在按照本教程http://msdn.microsoft.com/en-us/library/bb458038.aspx创建 VsPackage 设置。在创建安装程序类的部分中,会在注册表“SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\EnvironmentPath”中显示对此位置的引用,其中包含 devenv.exe 位置。我浏览了注册表,但该位置不存在。devenv.exe 路径的正确位置是什么?我正在使用 Visual Studio 2008

0 投票
1 回答
974 浏览

visual-studio-2010 - 为 Visual Studio 2010 VsPackage 制作全局异常处理程序

在 Visual Studio 的早期版本中,扩展(更具体地说,是插件)只有一个入口点,即OnConnect方法。从那里可以执行所有 Visual Studio 操作,例如添加菜单项和设置全局异常处理程序,以优雅地处理未处理的异常。

在 Visual Studio 2010 的 VsPackage 中,事情的工作方式有所不同 - 应用程序的许多部分(例如IWpfTextView)由 MEF 组成并在没有显式控制包的情况下加载,这使得处理来自那些异常的任何异常都非常困难。

如果不将所有此类组件显式包装在try..catch它们自己的组件中,我如何才能有效地为我的 VsPackage 中的(非关键)异常实现全局处理程序?同样,目标是拥有类似 ReSharper 的异常对话框,它可以在其中处理全局异常而不会导致 Visual Studio 崩溃。