问题标签 [visual-studio-package]

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 投票
2 回答
920 浏览

c# - 如何确定 EnvDTE.Project 对象是否代表 C/C++ 项目?

我有一个Project实例,但我不明白如何找出项目类型/语言。具体来说,我需要检查一个 C/C++ 项目。

文档似乎缺乏。

以前,另一个人在我的开源 VS 扩展中添加了以下魔法,它在 VS2013-2015 中有效:

但它不再适用于 VS 2017 RC。我很乐意摆脱这种运行时反射魔法和无类型objectdynamic而不是Project- 代码已经因此变得无法维护。

0 投票
1 回答
66 浏览

c# - 如何在 Visual Studio 扩展中获取选定的源文件?

我正在写有一个视觉工作室扩展。

我想要做的是运行一个菜单选项(好的,这样做),它选择我使用源代码管理资源管理器选择的文件并使用它。

有什么想法可以让我得到这个文件吗?我真的需要文件本身和 TFS 路径 $/....

这不是“解决方案资源管理器”中选择的文件。

感谢期待。

0 投票
4 回答
882 浏览

c# - 如何使用 Package 对象中的参数调用 ToolWindowPane 构造函数?

我正在创建一个带有需要显示的工具窗口的 Visual Studio 包扩展。我有一个代表我的工具窗口的类,它扩展了ToolWindowPane

MyControl要在工具窗口中托管的 WPF 对象在哪里。Package调用方法时从类中调用此无参数构造函数Package.CreateToolWindow

ToolWindowPane所以问题是,有没有办法从对象中调用 a 的非无参数构造Package函数?

0 投票
1 回答
235 浏览

visual-studio - 从 IDE 启动开始,在 VSIX 扩展中接收来自 VS 服务的事件

我正在尝试创建一个关闭最近最少使用的文档的 Visual Studio 扩展。为了实现这一点,我需要能够跟踪文档上次使用的时间。我这样做的方式是在 Package::Initialize 方法中注册一个 RDT 表侦听器 (AdviseRunningDocTableEvents)。但是,这只在我第一次运行“清理”命令时才会执行。

有没有办法为 RDT 表注册一个侦听器,该表将直接从 VS 启动接收事件?请记住,我需要访问 VS 服务,此类代码的合适位置在哪里?

0 投票
1 回答
1003 浏览

visual-studio - 特定文件的 Visual Studio 自定义编辑器

语境:

我正在为 Visual Studio 2017 创建自定义项目模板,效果很好。在这个项目模板中,我发出了一个名为“ manifest.json ”的文件。

我需要为“ manifest.json ”文件创建自定义编辑器\设计器,当用户在“解决方案资源管理器”中双击此文件时,它会打开我的自定义编辑器。

我已经在 Microsoft Doc 上找到了几篇文章(例如Create custom editors and Designers),并找到了一些关于创建自定义编辑器和自定义设计器的 GitHub 示例(例如Editor_With_ToolboxSingleFileGeneratorWPFDesigner_XMLSnippet Designer)。

问题:

  • 大多数文章、示例和文档都解释了如何将自定义编辑器与特定文件扩展名相关联(在我的情况下,我想将编辑器与特定项目中的特定文件“ manifest.json ”相关联)。
  • 与单个文件生成器相关的文章,它们不适合我的解决方案,因为它们谈到了在设计器中编辑了一个文件,而在解决方案中发出了另一个文件(如 Windows 窗体设计器)。

概括:

我想实现仅针对我的自定义项目模板中的特定文件运行的 Visual Studio 自定义编辑器\设计器。如何做到这一点?

笔记:

  • 要在自定义编辑器中关联的文件必须命名为“ manifest.json ”。
  • 如果在其他项目类型中有一个名为“ manifest.json ”的文件,则应该执行标准编辑器而不是我的自定义编辑器。
0 投票
1 回答
99 浏览

visual-studio-2012 - 使用包管理器在 .NET 2.0 项目上安装 Saxon 9.5 时出错

我正在尝试在 Visual Studio 2012 Professional 上安装 Saxon 9.5 HE(这是 .NET 2.0 支持的最后一个版本,您可以在其官方文档中看到)。这就是我得到的。

(我确实从意大利语翻译了这条痕迹)

我也尝试安装 9.4 和 9.3,但我得到了同样的错误。正如我所说,从 9.6 到最新版本需要 .NET 4.0,旧版本应该适合 2.0。

0 投票
1 回答
1237 浏览

visual-studio - 安装包 Visual Studio “检测到依赖循环”

我想在我的项目中引用旧版本的newtonsoft.json,但包管理器告诉我有一个“循环”。我已经卸载了newtonsoft.json,它确认我不再拥有它。

依赖循环

编辑:我的解决方案中有 2 个项目。我想在项目 B 中添加一个旧版本的 9.0。

项目 A 引用 Newtonsoft.Json 9.0

项目 B 引用项目 A

更新 2:包管理器 UI 为我提供了最新的 UI,这就是我尝试使用控制台的原因。

谁能分享一下这里真正发生的事情?谢谢!

0 投票
1 回答
328 浏览

visual-studio-2019 - “运行代码分析”不运行我的代码分析器

我已经编写了一个代码分析器作为我的 Visual Studio 包的一部分。

这与此页面上的说明相对应,只是它是我现有包的一部分而不是独立分析器。

分析器注册自身以分析 SyntaxNode 类型 StringLiteralExpression 和 InterpolatedStringExpression。

如此处所述

默认情况下,实时代码分析仅针对 Visual Studio 中打开的文件执行分析器。

这是对的。我的分析器在打开的文件上运行。

同一页面继续:

手动运行代码分析

  • 在解决方案资源管理器中,单击该项目。

  • 在分析菜单上,单击对项目名称运行代码分析。

代码分析将在后台开始执行。您应该在左下角的 Visual Studio 状态栏中看到消息 Running code analysis for ...。代码分析完成后,状态消息将更改为Code analysis completed for。错误列表将很快刷新所有代码分析诊断

在这种情况下,我的分析不会运行。

我在构造函数、SupportedDiagnostics 属性 get、Initialize 函数和分析函数本身中放置了断点。如果我通过“分析”菜单(或通过解决方案资源管理器中的上下文菜单)手动启动代码分析,则不会输入任何内容。

是否需要一些额外的条件来激活代码分析器以进行手动代码分析?

0 投票
1 回答
210 浏览

vsix - 在 vsix 安装中,什么会导致“值不能为空,Uristring”?

在 Visual Studio 的最新版本 16.6.2051 中,不再可以安装我的 Visual Studio 包。

我得到错误

该安装在以前版本的 Visual Studio 中运行(可能在最新版本中)。我确信 Visual Studio 中发生了一些变化。

但是,这并不意味着我的安装不包含错误。

这是日志文件的最后一部分(我认为这是最有趣的)

我已在给 Microsoft的错误报告中包含完整的日志

有谁知道错误可能指的是什么 uriString 以及我如何解决它?

0 投票
0 回答
8 浏览

visual-studio - 如何在 VSPackage 中为 EmbeddeResource 设置 LogicalName 属性

在我的 Visual Studio 包中,我想将资源文件添加到项目中,并设置 LogicalName 属性,以便它出现在项目文件中,如下所示:

Microsoft Form 中的这个问题表明这是不可能的,但答案是从 2014 年开始,从那时起 Visual Studio 发生了很大变化。

有没有办法从 Visual Studio 包中添加这个属性?

还是我必须直接编辑项目文件(这很不好玩)。