在VS代码和TypeScript中调试Azure DevOps自定义任务时如何设置输入变量
背景: 我正在为Azure DevOps构建自定义构建任务在VS代码和TypeScript中调试Azure DevOps自定义任务时如何设置输入变量,typescript,visual-studio-code,azure-devops,azure-pipelines-build-task,vscode-debugger,Typescript,Visual Studio Code,Azure Devops,Azure Pipelines Build Task,Vscode Debugger,背景: 我正在为Azure DevOps构建自定义构建任务 此任务需要输入参数param1 它是用VS代码(v1.30.1)和TypeScript(tsc——版本状态:v3.2.2)编写的 问题 当我尝试调试我的任务时,我不能为param1传递变量值。中断点被命中,因此部件工作 一些代码: 索引 当我使用tsc从控制台运行它时,它工作得很好;但是当使用VS代码调试器运行时,我似乎永远无法将值传递给param1,因此它在“getInput”方法中崩溃 My launch.json { "ver
- 此任务需要输入参数param1
- 它是用VS代码(v1.30.1)和TypeScript(tsc——版本状态:v3.2.2)编写的
{
"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中使用了输入,但没有成功(所以Q&A)
所以问题是在VS代码中调试Azure DevOps扩展时,如何传入变量值。作为环境变量传递的
任务
输入参数的名称必须以输入作为前缀
在您的示例中,您可以在启动环境中设置参数param1
,如下所示:
launch.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"
]
}
]}
您不需要在代码中重命名param1
,因为前缀会自动添加到对getInput()
的调用中
在运行时设置任务环境时,Azure DevOps管道也会添加前缀。这样做有助于降低与其他环境变量冲突的风险
有关Azure Pipelines任务SDK源参考,请参见此处:
有帮助吗?@Matt没有帮助我,但可能是我在VS代码+打字脚本方面缺乏经验。但是我不能将“args”添加到我的tasks.json中,类型为typescript。可能可以改为使用shell(节点)类型来修复,但我无法让它工作:(
"env": {
"INPUT_param1": "thisBeString"
}