问题标签 [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.
visual-studio-2008 - 注册 Visual Studio 2005/2008 包
我有一个现有的 VSPackage,它最初是在 Visual Studio 2005 中开发的。从那时起,该包已转换为 Visual Studio 2008 项目,但仍保持与 Visual Studio 2005 的兼容性。
我遇到的问题是,当我运行 regpkg 时,它会抱怨以下错误:
regpkg : error : 没有一个包定义一个注册表根。
但我已经定义了一个注册表根,如下所示:
要转换项目,我记得按照此处的说明进行操作。
有任何想法吗?
我要做的就是将注册信息导出到 .reg 文件中,以便我可以将其包含在安装程序中。
谢谢,艾伦
c# - VSPackage 中的 ToolStripContainer
我有一个 VSPackage,里面有几个工具窗口。如您所知,工具窗口派生自一个名为 WindowPane 的类,该类与标准 Form 类完全不同。
在我的工具窗口中,我在 ToolStripContainer 中托管了一个 ToolStrip。我想做的是保留 ToolStrip 相对于其父 ToolStripContainer 的位置信息。我查看了 ToolStripManager.SaveSettings 和 ToolStripManager.LoadSettings,但这些都需要一个 Form 作为参数。
有没有其他人尝试过这样做?
谢谢,艾伦
wpf - Visual Studio 2010:在 VSPackage 工具窗口中使用 winforms 用户控件
在使用工具窗口创建简单的 VSPackage 时,会创建一个示例 WPF 用户控件并将其添加到工具窗口。这个用户控件必须是 WPF 的吗?我有一个 winforms 用户控件,当将其添加到工具窗口时,它没有显示出来。尝试在 WPF 中托管它但没有成功。有没有这样做的标准方法?
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 本身(不是命令行)清理项目/重建/构建
c# - Visual Studio - 移动光标而不失去焦点
我的包中有一些工具窗口,当用户在工具窗口中执行某些操作时,我想将文档中的特定点显示在视图中。
我试过以下代码:
它做了我想做的事,但不幸的是,它把焦点放在了 Visual Studio 代码编辑器上,把它从我的工具窗口中拿走了。如果用户在我的工具窗口中键入并且它突然将焦点转移到编辑器,这并不好。
有没有另一种方法可以做到这一点而不会失去焦点?
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
创建。
c# - 通过 DTE 在 VS 扩展中添加菜单项不会触发 Click 处理程序
我正在尝试使用 VS 包(扩展)中的菜单项动态填充解决方案右键菜单。
我有一个名为“MyMenuName”的扩展菜单,我正在那里添加菜单项。
这是我使用的代码:
菜单项已成功添加,但它的 Click 处理程序永远不会执行。有任何想法吗?
编辑:我在这里挖掘了一些代码:https ://netrepo.svn.codeplex.com/svn/trunk/AssemblyFactoryAddin/AssemblyFactoryAddin/GUIButton.cs 看来我的代码应该是正确的(假设他们的代码有效)
visual-studio-2010 - 通过添加上下文菜单项来操作选定的文本来扩展 Visual Studio 2010 编辑器
我想为 Visual Studio 创建一个扩展,允许某人在编辑器中选择任何文本,右键单击以获取上下文菜单,然后通过单击我的自定义菜单项对文本执行一些操作。
例如,假设我的自定义菜单项称为“电子邮件...”。编辑器的新上下文菜单可能如下所示:
断点
运行到光标
剪切
复制
粘贴
电子邮件...
大纲
我还想添加一个带有选项的弹出窗口(装饰?)。在这种情况下,它可能是 、 和字段之类To
的Subject
东西CC
。
我认为其中一些可以通过使用编辑器扩展的MEF来完成,例如弹出窗口和用于触发电子邮件的实际代码。但看起来我需要VSPackage
添加上下文菜单项。从我读过的内容来看,我可以将 MEF 部分捆绑VSPackage
在一起。
这就是我卡住的地方。我需要详细的参考资料来实现这两个部分,但我还需要有关如何集成它们的信息。MSDN让我绕圈子。
是否有任何好的、可靠的示例代码或文档(甚至书籍)可供我学习?
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
visual-studio-2010 - 为 Visual Studio 2010 VsPackage 制作全局异常处理程序
在 Visual Studio 的早期版本中,扩展(更具体地说,是插件)只有一个入口点,即OnConnect
方法。从那里可以执行所有 Visual Studio 操作,例如添加菜单项和设置全局异常处理程序,以优雅地处理未处理的异常。
在 Visual Studio 2010 的 VsPackage 中,事情的工作方式有所不同 - 应用程序的许多部分(例如IWpfTextView
)由 MEF 组成并在没有显式控制包的情况下加载,这使得处理来自那些异常的任何异常都非常困难。
如果不将所有此类组件显式包装在try..catch
它们自己的组件中,我如何才能有效地为我的 VsPackage 中的(非关键)异常实现全局处理程序?同样,目标是拥有类似 ReSharper 的异常对话框,它可以在其中处理全局异常而不会导致 Visual Studio 崩溃。