问题标签 [vssdk]

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 回答
441 浏览

azure-devops - 发出会话令牌时出错:HostAuthorizationNotFound

我使用 Angular 开发 TFS 扩展,当我调试扩展时,我无法使用 VSS SDK 进行休息调用,它尝试向 WebPlatformAuth 发出请求,但它抛出异常:

“发出会话令牌时出错:HostAuthorizationNotFound”。

为了清楚起见,我可以使用 VSS 来获取 WebContext,例如 project.name 或 user.id。

(我通过在本地主机上运行 ng serve 来调试我的扩展并提供扩展清单“baseUri”字段)。

更新- 当我在没有 baseUri 的情况下部署扩展时也会发生这种情况 - 不是在调试模式下。

顺便提一下,我还开发了另一个仅使用 html 和 jquery 的简单扩展,它工作得很好,没有任何额外的配置。

0 投票
1 回答
830 浏览

azure-devops - 在 Azure DevOps 版本中检索多作业管道中特定构建任务的日志文件

我们有 Azure DevOps 扩展,其中我们用于从发布构建日志获取数据以显示在发布摘要选项卡中的构建任务之一。此构建任务非常适合单个代理作业管道,但我们遇到了一个场景,即有多个代理作业可用,一旦我们的构建任务添加到第二个或以后的代理作业,我们就无法检索数据。

在此处输入图像描述

下面是我们如何从任务日志中获取数据。但是,此方法仅遍历第一个作业,而不会访问第二个作业。我们正在使用 VSS SDK 中“ReleaseManagement/Core/RestClient”的发布管理客户端

根据 SDK 实现,有两种方法可用于检索日志

如您所见,在这些方法中没有指定代理作业的地方。

如果有人有这方面的经验,

  1. 是否可以从发布管道中的第二个或以后的作业中获取日志数据?样本/文档会很有帮助。
  2. 我试图从数组缓冲区获取数据,但是当我尝试将 ArrayBuffer 转换为字符串时,它最终超出了边界错误。

任何想法,建议高度赞赏

0 投票
0 回答
59 浏览

tfs - 使用 VSS SDK 订阅 tfs 扩展中的事件

我正在使用 VSS SDK 和 Angular 开发 TFS 扩展。我想订阅 TFS 中发生的事件,这样它将触发我的扩展中的一个函数。

例如,我想监听特定工作项的更新,并在该事件发生时在我的扩展中执行操作。

感谢您的帮助!

0 投票
0 回答
62 浏览

azure - 将设置或配置文件添加到 TFS 扩展开发

我正在使用 VSS SDK 为 Azure DevOps 2020 开发 tfs 扩展,我想使用环境变量、设置页面或配置文件(可能是扩展清单 json 文件)等概念来配置一些变量。是否可以从应用程序中读取,也许使用 tfs sdk,从而使扩展更加通用和动态?

0 投票
0 回答
33 浏览

c# - Visual Studio:打开文档并在修改时显示它

我正在尝试使用 Visual Studio 扩展过滤项目元素,我想加载文档可能对其进行编辑(这部分有效),然后在进行了一些修改时显示代码编辑器。

修改部分已在已打开的编辑器上进行了测试,但对于未打开的文件,我无法显示编辑器。我正在使用以下代码:

显然我错过了一些东西,我怎样才能让编辑器出现,或者我应该完全改变工作流程?

0 投票
1 回答
37 浏览

azure-devops - 如何将下拉菜单置于顶部

在此处输入图像描述

我没有在前面看到这个下拉列表,因为我创建了一个树行为的自定义控件组合。

0 投票
0 回答
23 浏览

c# - 如何通过 VS 插件/扩展更改 Visual Studio 解决方案资源管理器中的项目图标

我正在为 VS2019 开发一个插件,我想根据在某个 Git 提交后添加/修改它们的时间来修改解决方案资源管理器中某些选定项目的图标。基本上是根据我在插件中定义的一组类别来区分项目。

我根本无法找到任何 VS API 的文档,这些文档可以让我更改项目在解决方案资源管理器中的外观,或为这些项目设置自定义图标。Visual Studio 支持这个吗?

有关更多上下文,我正在尝试编写一个插件来扩展解决方案资源管理器中的解决方案过滤器。我开发了一个自定义过滤器,可以过滤掉不使用SolutionTreeFilterProvider. 我现在正在尝试对在我的过滤器应用于解决方案资源管理器后留下显示的文件进行分类。

0 投票
1 回答
106 浏览

visual-studio-2019 - 什么是 Microsoft.VisualStudio.Platform.WindowManagement.dll,我在哪里可以从 Microsoft 获得官方版本?

我正在寻找对上面提到的 DLL 中某些函数的访问。我不知道任何提供此 DLL 的 Nuget 包。所以我的问题是,我在哪里可以从 MS 获得这个 .dll 的最新版本,它们是否与针对 VS2019 及更高版本的插件兼容?

0 投票
0 回答
64 浏览

visual-studio - 如何在 Vsix 项目中访问 IWorkspace?

我正在使用 Visual Studio 2019 社区版并使用 Visual Studio SDK。我想构建一些工具,用户需要提供解决方案中存在的类名。我不想建立自己的搜索引擎,我想知道如何使用 VS 的“Go to Type”功能。正如我从https://docs.microsoft.com/en-us/visualstudio/extensibility/workspace-indexing?view=vs-2019意识到的那样,我需要使用可以从 Microsoft.VisualStudio.Workspace.IWorkspace 检索的 IIndexWorkspaceService。但是在 Vsix 项目中,我只能访问不是从 IWorkspace 派生的 Microsoft.CodeAnalysis.Workspace。这有点令人困惑。哪个类实现了 IWorkspace?来自https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.workspace。我只能看到只有 IWorkspace2 和 IWorkspace3 派生自 IWorkspace。对于如何在 Vsix 项目中访问 IIndexWorkspaceService 的任何指示,我将非常感激。

0 投票
0 回答
51 浏览

c# - 绑定到 MenuCommand 时,如何使上下文菜单按钮动态可见?

我正在为 VS 2019 开发 Visual Studio 扩展。我添加了一个菜单按钮,当我右键单击它时,它会出现在解决方案资源管理器中某个项目的上下文菜单中。

我想使用自定义 UI 上下文来切换它的可见性,推荐的方法是使用此处描述<VisibilityConstraint>的标签来实现.vsct

所以现在我的按钮在我激活 UI 上下文时可见,而当我以编程方式使上下文不活动时不可见。但是,我希望我的按钮执行命令,所以我添加了一个初始化 OleMenuCommand 的命令类,并绑定到我添加到.vsct文件中的按钮的命令 ID

我在我的 AsyncPackage 中初始化这个命令,就像下面的代码:

由于这个命令,附加到我的按钮,现在我的按钮总是可见的。如果我删除命令的初始化,我的 UI 上下文使我处于非活动状态,并且按钮在需要时被隐藏。

如何让可见性由自定义 UI 上下文(我定义的 guid 并使用IMoniterSelection服务切换)控制?以及如何在单击按钮后仍向按钮添加命令以执行某些操作?

我的.vsct文件看起来像这样

<VisibilityConstraints> <VisibilityItem guid="guidPackageCmdSet" id="CommandIdOfCommandSet" context="UICONTEXT_Switch" /> </VisibilityConstraints>