我试图添加一个任务来编译一个程序,但是设置环境变量有困难。我有这个:
{
// See https://go.microsoft.com/fwlink LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"label": "GnuCOBOL - Compile (single file)",
"type": "shell",
"options": {
"env": {
"PATH=c:\\gnucobol3\\bin"
"COB_CONFIG_DIR=c:\\gnucobol3\\config"
"COB_COPY_DIR=c:\\gnucobol3\\copy"
"COB_INCLUDE_PATH=c:\\gnucobol3\\include"
"COB_LIB_PATH=c:\\gnucobol3\\lib"
},
"command": "cobc",
"args": [
"-x",
"-std=mf",
"-tPROG.LST",
"BBCB.CBL"
]
},
} env条目的下面都有一些乱七八糟的线条,并显示了错误"Colon expected“。
我很感谢你的帮助。谢谢。
发布于 2019-05-19 05:43:41
文件路径用于基于Windows的操作系统(c:\ ...).如果您使用的是Linux,这些都是不正确的。
这种格式是JSON。
"env": { ... }采用键:值对(由大括号决定),因此您需要:
"PATH": "c:\\gnucobol3\\bin",冒号(:)分隔键和值,逗号(,)分隔键:值对。
不确定您是需要转义文件路径\\还是只转义\。
NB "args": [ ... ]接受一个字符串值数组(由方括号确定),这就是它与"env"不同的原因。
发布于 2019-05-19 09:51:03
env条目的下面都有一些乱七八糟的线条,并显示了错误"Colon expected“。
因为它需要一个包含的列表,其中应该包含冒号,并使用逗号分隔(与options变量相同)--注意:这实际上是一个json问题,使用该标记可能是合理的。见tasks.json模式。
另外,您的脚本有一些硬连接的文件名(这是一个特定于vscode的文件),您可能希望使用支持变量。
未经测试的结果:
{
// See https://go.microsoft.com/fwlink LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"label": "GnuCOBOL - Compile (single file)",
"type": "shell",
"options": {
"env": {
"PATH": "c:\\gnucobol3\\bin",
"COB_CONFIG_DIR": "c:\\gnucobol3\\config",
"COB_COPY_DIR": "c:\\gnucobol3\\copy",
"COB_INCLUDE_PATH": "c:\\gnucobol3\\include",
"COB_LIB_PATH": "c:\\gnucobol3\\lib",
},
"command": "cobc",
"args": [
"-x",
"-std=mf",
"-t${fileBasenameNoExtension}.LST",
"${file}"
]
},
} https://stackoverflow.com/questions/56204914
复制相似问题