【发布时间】:2019-06-03 05:15:48
【问题描述】:
背景: 我正在为 Azure DevOps 构建自定义构建任务。
- 此任务需要一个输入参数 param1
- 它是用 VS Code (v1.30.1) 和 TypeScript (tsc --version state: v3.2.2) 编写的
问题 当我尝试调试我的任务时,我无法为 param1 传递变量值。中断点被击中,因此该部分正在工作。
一些代码: index.ts
import tl = require('azure-pipelines-task-lib/task');
async function run() {
try {
let param1: string = tl.getInput('param1', true);
if (param1 === null || param1 === undefined) {
console.log('Should not be here...');
}
}
catch (err) {
tl.setResult(tl.TaskResult.Failed, err.message);
}
}
run();
当我使用 tsc;node index.js 从控制台运行它时效果很好,但是当使用 VS Code 调试器运行时,我似乎永远无法将值传递给 param1,因此它在内部崩溃'getInput' 方法。
我的启动.json
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "TaskName",
"program": "${workspaceFolder}/Extensions\\BuildTasks\\TaskName\\index.ts",
"outFiles": [
"${workspaceFolder}/Extensions\\BuildTasks\\TaskName\\**\\*.js"
]
}
]}
我也试过添加
"env": {
"param1": "thisBeString"
}
下输出文件,但没有成功。
无奈之下我也尝试过使用
"args": {
"--param1": "thisBeString"
}
预期结果(失败...)
我还在我的 tasks.json 中使用了输入但没有成功 (according to this SO Q&A)
所以问题是在 VS Code 中调试 Azure DevOps 扩展时如何传入变量值。
【问题讨论】:
-
this 有帮助吗?
-
@Matt 对我没有帮助,但可能是我在 VS Code+Typescript 方面的经验不足。但是我不能将“args”添加到我的tasks.json,类型是打字稿。可能可以通过使用外壳(节点)类型来修复,但我无法让它工作:(
标签: typescript visual-studio-code azure-devops azure-pipelines-build-task vscode-debugger