问题标签 [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.
c# - 如何从 VSPackage 获取当前解决方案目录?
以下是如何从加载项获取当前解决方案目录:
您将如何通过 VSPackage 执行此操作?
我正在将 Visual Studio 加载项迁移到 VSPackage,因为我打算添加一些需要与 IDE 进行更深入集成的用户控件。
我发现了一些关于加载项与集成包的相对优点的很好参考,例如: http: //nayyeri.net/visual-studio-addin-vs-integration-package-part-1
还有一些关于 VSPackages 上 msdn 的好教程,例如:http: //msdn.microsoft.com/en-us/library/cc138589.aspx
我还没有找到很好的参考资料(在 msdn 或其他方面)关于加载项(例如 DTE)中的更高级别接口如何映射到 VSPackages 中的更低级别接口。
有什么好的参考资料可以帮助从加载项接口到 VSPackage 接口的一般映射?
c# - 如何通过 VSPackage 取消 ToolWindowPane 或 Visual Studio IDE 关闭操作?
我有一个VSPackage
包含表单数据的可停靠工具窗口。如果此表单中有未保存的更改,如果用户在关闭前单击取消保存更改,我想取消关闭工具窗口和 Visual Studio IDE。我可以在关闭时执行保存测试,但我没有看到任何事件处理程序方法或其他选项来实际取消关闭。
这是包装中的一些简介:
还有一些来自ToolWindowPane
实现的简介IVsWindowFrameNotify3
:
OnClose
and方法在WindowClosing
预期时触发,但我没有找到取消关闭的方法。我错过了什么?取消关闭是否需要不同的事件?
c# - 如何从自定义 ToolWindowPane 访问当前打开的文件
我已经使用 VSPackage 创建了 ToolWindowPane(VS2008 的工具栏),但我无法访问用户当前打开的文件。有没有办法做到这一点?我编写了以下代码,该代码遍历项目并找出打开的解决方案中的所有元素。
EnvDTE.DTE dte = (EnvDTE.DTE)Microsoft.VisualStudio.Shell.Package.GetGlobalService(typeof(EnvDTE.DTE));
但是无法获得用户对打开文件的引用,我还希望每次用户将焦点从一个文件更改为另一个文件时,我的工具栏都应该刷新。
提前致谢
envdte - 通过 DTE 按类型名称查找 ProjectItem
给定类型名称,是否可以使用 DTE 找到该类型所在的 ProjectItem?类似于Navigate To...
Visual Studio 2010 中对话框的工作方式。
我能找到的最接近的是Solution.FindProjectItem
,但这需要一个文件名。
谢谢!
vspackage - VSPackage 在干净的机器上未通过 PLK 验证,但在设置 /noVSIP 时在 Dev 机器上通过
我认为标题几乎说明了一切。但为了安全起见...
我在我的主机上开发了一个 VSPackage,上面安装了 VS2008 SDK SP1。在实验性配置单元中调试时,一切正常。我得到了一个 PLK,应用了它,并按照说明测试 PLK(即在命令行中传入 /noVSIP),并且包正确加载。
我现在已经用 WiX 编写了一个安装程序(因为 regpkg 会输出 WiX XML)并尝试在 VM 中运行的 Visual Studio 2008 Pro 版本上安装 VSPackage。但我得到 PLK 验证失败。注册表中的 4 个重要位(CompanyName、ProductName、ProductVersion、VSVersion)与我生成 PLK 的内容相匹配。没有空格,没有隐藏字符等。这些位也与代码中 PLK 属性上的内容相匹配。
由于 /noVSIP 有效,我不知道如何调试这个加载问题。想法?
vsx - 2005/2008/2010 的 Visual Studio 包?
我们希望将我们开发的内部工具变成一个 Visual Studio 包,我们将出售给其他开发人员。该工具将影响自定义编辑器和/或自定义语言。Visual Studio 2010 重新设计了 API 以简化这些类型的集成所涉及的大部分工作,但我们面临的关键问题是: 新 Visual Studio 版本的典型采用速度是多少?是否有任何关于基于历史的采用率的信息?有多少店铺还在使用2005?
这将帮助我们考虑是使用新的 API 仅针对 2010 年,还是尝试返回并支持 2008 年(可能是 2005 年)并继续测试它。
visual-studio-2010 - 在 2010 年取消“无可用源”窗格
精氨酸!我有一个运行我的类库项目的自定义“线束”可执行文件。每次我进入线束的代码时,都会弹出“无可用源”窗格。据我所知,没有可用的资源,而且这是完全可以预料的,我不希望每次都弹出这个非常侵入性和无用的窗格。我怎样才能完全压制它?
我至少可以通过使该窗口成为另一个较小窗格集的一部分来使其更小,例如手表/本地人。它会记住每次运行的位置,但它仍然无用。
这个问题可能有一个更一般的答案 - 我怎样才能完全禁止显示任何特定的窗格/窗口?我有一个 VSX 包,最初是为 VS 2008 构建的(并且必须保持这种兼容性),但我只是不知道要运行什么命令来完成它。(我委托了包裹,所以我有来源,但没有诀窍。这似乎是一个/两个班轮)。
谢谢!
visual-studio - 如何部署和注册支持多个版本的 Visual Studio(2005、2008、2010)的 VSPackage?
我有一个开源 VSPackage,我想发布它以支持 Visual Studio 2005、Visual Studio 2008 和 Visual Studio 2010。我试图弄清楚如何创建安装程序以及如何执行每个版本的包注册的 Visual Studio。
我所做的部署研究表明,对于安装程序,我最好的选择是 MSI 中的 VSIX。
我所做的注册研究不太清楚。每个版本的 VSPackage 注册似乎都不同(VS2005 使用 regpkg,VS2008 使用 pkgdef,VS2010 使用 VSIX)。
任何人都可以分享他们的经验和/或向我指出有关针对多个版本的 Visual Studio 的最佳方法的任何信息吗?我正在寻找最简单的实现,如果合理可行,最好将其保存在单个安装程序中。
任何帮助将不胜感激!
app-config - 更改 Visual Studio 包中的配置文件
我正在构建一个 Visual Studio 包并与之关联,我有一个 app.config 文件(其中包含一些有关连接到 WCF 服务的信息)。
据我所知,这个包实际上是连接到 devnev.exe.config 配置文件(如果我使用 AppDomain.CurrentDomain.SetupInformation.ConfigurationFile),它将检索到 devnev.exe.config 的路径
首先,这是正确的吗?包不应该自动获取 app.config 文件吗?如果是这种情况,那么我怎样才能让项目使用 app.config 文件?
我正在运行 VS2010 Ultimate,用 C# 编程。
visual-studio - VSPackage 加载顺序 - 在另一个 VSPackage 之前加载?
如何创建一个依赖于另一个 VSPackage 中的功能的 VSPackage?换句话说,如果我有 VSPackage A 导出了我在 VSPackage B 中需要的某个功能,我如何确保首先加载 VSPackage B?
谢谢马特