VSCode编写C/C++项目

VSCode编写C/C++项目

1. 下载插件C/C++、C++ Intellisense;
2. 新建一个空文件夹,从VSCode打开。 (或File-->Open Folder-->新建一个空文件jia);
3. 按F5(用命令行gcc、g++;或者编写makefile文件,make;),选择C++(GDB/LLDB),生成launch.json(用来调试);
5. 修改launch.json,将"program": "enter program name, for example ${workspaceFolder}/a.out"改为"program": "${workspaceFolder}/ProjectName";
"externalConsole": true,表示输出会在弹出的命令行。修改为false的化,会在VSCode内部terminal输出。
6. Ctrl+Shift+B, 选择tasks.json-->模板--->other,生成tasks.json(创建任务);
7. 修改 tasks.json, "command": "echo Hello"改成"command": "g++ -o ProjectName ProjectName.cpp",这里的ProjectName和5中的ProjectName同名
8. 对于复杂的项目,"command": "echo Hello"改成"command": "make"
9. 再创建makefile文件,编辑;
10. 编写Hello.cpp文件
11. 按Ctrl+Shift+P, 选择 Task:Run Tasks,执行任务
12. 按F5,执行

源代码如下所示:

Hello.cpp

#include <iostream>
using namespace std;
int main()
{
    cout << "Hello, world!" << endl;
    return 0;
}

launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/Hello",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

tasks.json

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "make"
        }
    ]
}

makefile或Makefile

# objects= main.o kbd.o command.o display.o insert.osearch.o files.o utils.o 

# edit: $(objects)

#     cc-o edit $(objects)

# main.o: main.c defs.h

#     cc-c main.c

# kbd.o: kbd.c defs.h command.h

#     cc-c kbd.c

# command.o: command.c defs.h command.h

#     cc-c command.c

# display.o: display.c defs.h buffer.h

#     cc-c display.c

# insert.o: insert.c defs.h buffer.h

#     cc-c insert.c

# search.o: search.c defs.h buffer.h

#     cc-c search.c

# files.o: files.c defs.h buffer.h command.h

#     cc-c files.c

# utils.o: utils.c defs.h

#     cc-c utils.c

# clean:

#     rmedit $(objects)

edit: Hello.o

    cc-o edit $(objects)

Hello.o: Hello.c

    cc-c Hello.c

clean:

    rmedit Hello.o

 

posted @ 2019-06-05 15:53  秦时明月0515  阅读(16228)  评论(0编辑  收藏  举报