如何配置Visual Studio Code来编译SCons?

8
我正在使用Ubuntu操作系统,并已安装了VSC、Python和SCons。我还安装了Python语法插件及相关工具。 我正在编辑SConstruct文件,希望按下“F5”键时,能够启动SCons来执行我的项目文件。
如何进行配置?
3个回答

6
我有两种可行的解决方案。第一种基于mat的解决方案:
{
    "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隐式找到。


4

我创建了一个名为 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 中显示输出状态(成功/错误)的方法。


0

这是我计划很快为我的项目做的事情,但以前从未做过。我将开始查看scons doc,了解MSVSProject()、env.MSVSProject()、MSVSSolution()和env.MSVSSolution()。


你所提到的是针对Visual Studio的,这有点令人困惑,因为它是与Visual Studio Code完全不同的产品。 - Drew Dormann

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接