我正在使用Ubuntu操作系统,并已安装了VSC、Python和SCons。我还安装了Python语法插件及相关工具。
我正在编辑SConstruct文件,希望按下“F5”键时,能够启动SCons来执行我的项目文件。
如何进行配置?
如何进行配置?
{
"version": "2.0.0",
"tasks": [
{
"taskName": "SCons BuildVSDebug",
"command": "scons",
"type": "shell",
"group": "build",
"problemMatcher": "$msCompile" // Important to catch the status
}
]
}
我在任务中使用preLaunchTask
。默认情况下,如果问题匹配器报告了一些问题,VSCode不会启动可执行文件。当然,问题匹配器必须适合输出(在我的情况下是Visual Studio编译器cl.exe)。但是,可以定义自定义匹配器,可以显式检查SCons的状态使用正则表达式用于像“scons:由于错误而终止构建”的scons消息。还可以使用多个输出匹配器...
我的第二个解决方案是针对调试SCons构建脚本本身。它不会运行编译后的输出,但允许在F5上调试构建系统。
{
"version": "0.2.0",
"configurations": [
{
"name": "Scons Build System",
"type": "python",
"request": "launch",
"pythonPath": "<python 2.7 path>/python",
"program": "<python 2.7 path>/Scripts/scons.py",
"cwd": "${workspaceRoot}",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput"
],
...
},
...
]
}
窍门在于从软件包安装中启动SCons脚本.py。不能简单地编写 program: "scons"
- 这不会像在shell上那样被识别。
请注意,我没有指定SConstruct文件。它通过设置执行目录cwd
隐式找到。
我创建了一个名为 tasks.json
的文件,其内容如下:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"taskName": "Build wit SCons",
"command": "scons",
"type": "shell",
"group": "build"
}
]
}
它的集成功能还算不错,因为我可以使用Shift-Ctrl-B开始构建任务。不幸的是,这不是一个很好的解决方案,因为我还没有找到一种在 VS Code 中显示输出状态(成功/错误)的方法。
这是我计划很快为我的项目做的事情,但以前从未做过。我将开始查看scons doc,了解MSVSProject()、env.MSVSProject()、MSVSSolution()和env.MSVSSolution()。