zoukankan      html  css  js  c++  java
  • 使用VS Code开发C++

    1. 参考/转载

    vs code进行c/c++开发
    VSCode 的第一个C++程序(windows)[更新2018.10.28]

    2. C++开发相关插件(扩展商店中直接搜索)

    • 至少要装C/C++。
    • 还可以安装Code Runner、C++ Intellisense和Include Autocomplete。

    3. 编译器

    由于VS Code及其各个C++插件都没有C++编译器,所以需要自己装一个然后在项目中配置使用。

    • 常用的有:
      • Windows下的mingw-w64
        • 装sourceforge上的64位的离线安装包!,这个页面链接在官网的下载页面也能找到,其中x86_64是64位系统用的版本,现在我们一般用的是64位系统,所以我们可以在四个x86_64中选一个下载。seh结尾是纯64位编译。sjlj结尾是32 64两种编译,需加-m32或-m64参数。posix通常用于跨平台,比win32兼容性好一些。
        • 官网download表格中的链接的在线安装包在国内一般用不了。
        • 最好将解压后的bin目录路径加到环境变量的末尾,如";C:MinGW64in",当然在VS Code的C++工程中后面生成的launch.json中也可以指定miDebuggerPath为该目录。

    4. 开发过程

    4.1. 新建工程文件夹并用VS Code打开

    4.2. 创建cpp源文件并编码

    4.3. 编译

    使用ctrl + shift +b编译当前cpp源文件,第一次编译时会提示你配置生成任务"No build task to run found. Configure Build Task...",选择"Create task.json file from template",然后选择"Others"(其他还有MSBuild、Maven、.NET Core),就会生成一个tasks.json文件:

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

    需要把默认的示例task配置改为编译task配置,因此修改为:

    {
        // 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": "g++",
                "args": [
                    "-g",    //表示在生成的可执行文件中加入调试信息,如果你要调试程序,-g参数必不可少
                    "-oMySecondCPlus.exe",    //编译完成可以看到生成了a.exe文件,这是编译生成的默认文件名称,想要自定义文件名可以使用 -o参数,后面不要有空格
                    "main.cpp"
                ],
                "presentation": {
                    "reveal": "never"
                },
                "problemMatcher": [
                    "$gcc"
                ]
            }
        ]
    }
    

    再次使用快捷键ctrl + shift +b并选择名为"build"的task就可以编译main.cpp了。

    4.4. 调试

    选择VS Code左侧的调试界面,最上面的绿色启动按钮旁显示"No Configurations",因此需要点击后添加配置,选择C++(GDB/LLDB),即会生成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": "enter program name, for example ${workspaceFolder}/a.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": true,
                "MIMode": "gdb",
                "miDebuggerPath": "/path/to/gdb",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ]
            }
        ]
    }
    

    这里需要修改的配置有:修改gdb编译器路径、修改生成的exe程序路径及名称(默认的a.exe或与task.json中配置的自定义名称相同)、配置每次调试前先进行编译(免得每次都要先手动build生成exe)。

    {
        // 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": "D:\documents\own\projects\MySecondCPlus\MySecondCPlus.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": true,
                "MIMode": "gdb",
                "miDebuggerPath": "C:\MinGW64\bin\gdb.exe",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "preLaunchTask": "build"
            }
        ]
    }
    
  • 相关阅读:
    创建工作窗口
    windows下关闭进程树
    VC socket api使用引入
    实现PC延迟执行函数
    CxImage实现9PNG
    bzoj 3211 花神游历各国
    codevs 3287 货车运输 NOIP2013提高组
    bzoj 3732 Network
    codevs 2370 小机房的树
    图论-最近公共祖先-在线树上倍增
  • 原文地址:https://www.cnblogs.com/wyp1988/p/9989473.html
Copyright © 2011-2022 走看看