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

时间:2016-08-29 08:35:44

标签: tfs azure-devops azure-pipelines azure-pipelines-build-task

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

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

3 个答案:

答案 0 :(得分:4)

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

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

然后,发布您的扩展并在本地运行它。什么,你应该有本地发展。可能需要更多的试验和错误,让我知道是否有任何我缺少的步骤。

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

答案 1 :(得分:2)

不,如果不将扩展部署到VSTS,则无法调试扩展代码,必须在调试代码之前将扩展部署到VSTS。

答案 2 :(得分:0)

初始部署后,您可以使用Fiddler直接从磁盘using FiddlerScript or the AutoResponder feature返回文件。