折騰Vscode寫C++


一直以來都是用Sublime Text3寫C/C++。因為ST配置簡單,輕量。閑來沒事才弄一弄。

1. 新建文件夾C++Code,並且再建立一個bulid文件夾來放要寫的代碼。

2. 在Vscode里新建.vscode文件夾,建立上圖的3個文件(setting不需要) 

2.1 Launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch (GDB)",                 // 配置名稱,將會在啟動配置的下拉菜單中顯示
            "type": "cppdbg",                           // 配置類型,這里只能為cppdbg
            "request": "launch",                        // 請求配置類型,可以為launch(啟動)或attach(附加)
            "targetArchitecture": "x64",                // 生成目標架構,一般為x86或x64
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", // 重點!將要進行調試的程序的路徑
            "args": [],                                 // 程序調試時傳遞給程序的命令行參數,一般設為空即可
            "stopAtEntry": false,                       // 設為true時程序將暫停在程序入口處,一般設置為false
            "cwd": "${workspaceRoot}",                  // 調試程序時的工作目錄,一般為${workspaceRoot}
            "externalConsole": true,                    // 調試時是否顯示控制台窗口,一般設置為true顯示控制台
            "internalConsoleOptions": "neverOpen",      // 如果不設為neverOpen,調試時會跳到“調試控制台”選項卡",
            "MIMode": "gdb",                            // 指定連接的調試器
            "miDebuggerPath": "C:/Mingw64/bin/gdb.exe", //重點! 調試器路徑
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for GDB",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": false
                }
            ],
            "preLaunchTask": "Compile" 
        }
    ]
}

 

 主要改:"program", “miDebuggerPsth”.

2.2  tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Compile",
            "command": "g++",
            "args": [
                "${file}",   //指定編譯源代碼文件
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe", //重點! 指定輸出文件名,不加該參數則默認輸出a.exe
                "-ggdb3",   // 生成和調試有關的信息
                "-Wall",    // 開啟額外警告
                "-static-libgcc",   // 靜態鏈接
                "-std=c++17",       // 使用c++17標准
                "-finput-charset=UTF-8", //輸入編譯器文本編碼 默認為UTF-8
                "-fexec-charset=GBK",   //輸出exe文件的編碼
                "-D _USE_MATH_DEFINES"
            ],

            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": [
                    "absolute",
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            },

            "type": "shell",
            
            "group": {
                "kind": "build",
                "isDefault": true
            },

            "presentation": {
                "echo": true,
                "reveal": "always", // 在“終端”中顯示編譯信息的策略,可以為always,silent,never
                 "focus": false,
                 "panel": "shared" // 不同的文件的編譯信息共享一個終端面板
            },
        }
    ]
}

 

 

2.3 c_cpp_properties.json

{
    "configurations": [
        {
            "name": "MinGW64",
            "intelliSenseMode": "gcc-x64",
            "compilerPath": "C:/Mingw64/bin/g++.exe", //重點! g++.exe所在路徑
            "includePath": [  //重點!
                "${workspaceFolder}",
                "C:/Mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/**",
                "C:/Mingw64/x86_64-w64-mingw32/include/**"
            ],

            "browse": {
                "path": [
                    "${workspaceFolder}",
                    "C:/Mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/**",
                    "C:/Mingw64/x86_64-w64-mingw32/include/**"
                ]
            },
            "limitSymbolsToIncludedHeaders": true,
            "databaseFilename": "",
            "cStandard": "c11",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}

 

 

 3.  在build里隨便寫個程序,按Ctrl+F5編譯運行。

如果不想配置。在弄好MinGW環境變量的情況下,直接在Vscode里搜索 C/C++ Compile Run 插件,

寫完代碼后直接按F6編譯運行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM