vscode makefile:有没有办法在按 F5 时运行 makefile?

问题描述 投票:0回答:1

我在 VSCode 中安装了 C/C++ 的 makefile 扩展,在 makefile 侧面板中,我可以按 makefile 构建按钮,它就可以工作了。

我想知道是否有办法在按 F5 时运行 makefile? 我猜我需要向我的 launch.json 添加一个命令,但我不知道该怎么做。 我看到启动配置有一个名为“preLaunchTask”的设置,也许我可以创建一个任务来启动 makefile?

这是我的makefile配置


    "makefile.configurations": [
        {
            "name":"Make main"
        }
    ],
    "makefile.buildBeforeLaunch": true,
    "makefile.clearOutputBeforeBuild": true,
    "makefile.launchConfigurations": [
        {
            "cwd": "c:\\Users\\sferr\\OneDrive\\Desktop\\dev",
            "binaryPath": "c:\\Users\\sferr\\OneDrive\\Desktop\\dev\\main",
            "binaryArgs": []
        }
    ],
visual-studio-code makefile launch
1个回答
0
投票

我从这篇文章中弄清楚了,使用 Visual Studio Code 任务自动化多个文件夹中的 C makefiles

我花了两天时间才弄清楚如何做到这一点,所以我将在此处发布步骤。

  1. 下载 vscode 并安装 makefile 扩展,如本文所示,https://earthly.dev/blog/vscode-make/

  2. 在文件夹的根目录中创建一个 makefile。 我的很简单,看起来像这样。

all: build run clean

build: main.o loop.o utility.o
    gcc main.o loop.o utility.o -o main

main.o: main.c src/manager/manager.h
    gcc -c main.c

loop.o: src/loop/loop.c src/loop/loop.h
    gcc -c src/loop/loop.c 

utility.o: src/utility/utility.c src/utility/utility.h
    gcc -c src/utility/utility.c

run:
    ./main.exe

clean:
    rm *.o
  1. 您的项目应该有一个“.vscode”文件夹,其中包含 settings.json、tasks.json 和 launch.json 文件。

  2. 在settings.json 文件中放入此内容。

    "makefile.configurations": [
        {
            "name":"Make main"
        }
    ],
    "makefile.buildBeforeLaunch": true,
    "makefile.clearOutputBeforeBuild": true,
    "makefile.launchConfigurations": [
        {
            "cwd": "c:\\Users\\sferr\\OneDrive\\Desktop\\dev",
            "binaryPath": "c:\\Users\\sferr\\OneDrive\\Desktop\\dev\\main",
            "binaryArgs": []
        }
    ],
  1. 在tasks.json文件中放入这个。
        {
            "label": "build",
            "type": "shell",
            "command": "",
            "args": [
                "make",
                "--directory=${workspaceFolder};"
            ],
            "group":  {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "reveal":"always"
            },
            "problemMatcher": "$msCompile"
        }
  1. 并将其放入 launch.json 文件中。
    "configurations": [
        {
            "name": "Run",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}\\main.exe",
            "cwd": "c:\\Users\\sferr\\OneDrive\\Desktop\\dev",
            "preLaunchTask": "build"
        }
    ]

当您按 f5 时,它现在应该运行您的 makefile。

© www.soinside.com 2019 - 2024. All rights reserved.