如何在不部署到VSTS服务的情况下调试VSTS扩展构建摘要选项卡?

Ban*_*ara 6 tfs azure-devops azure-pipelines-build-task azure-pipelines

我需要为VSTS构建摘要选项卡开发一个相当复杂的UI.我正在使用VS Code作为代码编辑器.以下url描述了如何使用Edge浏览器进行调试,但是这种方法需要不断打包和部署VSTS扩展,这使得它非常耗时. https://www.visualstudio.com/en-us/docs/integrate/extensions/test/debug-in-browser

我尝试使用View In Browser扩展程序直接加载.html(摘要选项卡),并在浏览器控制台中显示以下消息,

No handler found on any channel for message: 
{"id":1,"methodName":"initialHandshake","instanceId":"VSS.HostControl","params":[{"notifyLoadSucceeded":true,"vssSDKVersion":2}],"jsonrpc":"2.0","handshakeToken":"4234q23rqfafaf23r"}
Run Code Online (Sandbox Code Playgroud)

开发时有没有更好的方法来调试应用程序?

jpo*_*luk 5

您可以在本地开发。由于 VSTS 使用iframe来显示扩展的内容,因此您可以运行本地服务器并在vss-extension.json清单中引用它。

首先,在 中vss-extension.json,将baseUri属性设置为您在本地运行项目的位置,例如https://localhost:8889. 您需要像httpsVSTS一样运行它来提供内容,否则您将收到“混合内容”错误并且 VSTS 将拒绝显示您的扩展程序的内容。

然后,发布您的扩展并在本地运行它。Wha-la,你应该有本地发展。可能需要更多的反复试验,如果我遗漏了任何步骤,请告诉我。

如果链接仍然有效(你知道 Interent 是怎样的),这个入门项目是一个很好的开始:https : //github.com/Microsoft/vsts-extension-multivalue-control

  • 你说*你可以在本地开发*,但接着是*然后,发布你的扩展并在本地运行*..这是否意味着我们需要先发布我们的应用程序?有没有办法完全不发布应用程序?例如,当我们处于开发的早期阶段时,所以我们只想调试应用程序而不发布它,并且不会收到“在任何渠道上都找不到消息处理程序”错误。 (2认同)

sta*_*SFT 2

不,您可以在不将扩展部署到 VSTS 的情况下\xe2\x80\x99t 调试扩展代码,在调试代码之前必须将扩展部署到 VSTS。

\n