1. 程式人生 > >c/c++ 環境(MinGW + vs code )搭建與使用指南

c/c++ 環境(MinGW + vs code )搭建與使用指南

前言

\qquad這次又是一次工具分享篇,上次寫了一篇GCC/G++ + sublime text3 + powershell在windows使用指南的分享,這次又帶了一個新的生產工具——vs code(此次僅針對windows,其實linux配置也是相近的,而且會更簡單),至於vs code,sublime,code blocks有什麼異同,為什麼會換一套工具,我會在心得中進行詳細的說明。

環境搭建

MinGW下載

  1. 本文為了方便,直接將MinGW放在C盤根目錄下

這裡寫圖片描述

VS Code配置

  1. 下載與安裝vs code,官網傳送門
  2. 配置編譯和除錯的環境,c/c++拓展外掛安裝,如下圖所示,搜尋c/c++
    這裡寫圖片描述
  3. launch指令碼與tasks指令碼編寫
    \qquad在工作區內新建.vscode的資料夾,內部新建兩個名為launch.json和tasks.json兩個檔案,如下圖所示
    這裡寫圖片描述
  4. 指令碼填充

launch.json內的內容如下

{
   "version": "0.2.0",
   "configurations": [
       {
           "name": "C\\C++",                
           "type": "cppdbg",                         
           "request": "launch",                        
           "targetArchitecture"
: "x86", "program": "${workspaceRoot}\\${fileBasenameNoExtension}.exe", "miDebuggerPath":"C:\\mingw\\bin\\gdb.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceRoot}", "externalConsole"
: true, "preLaunchTask": "g++"   } ] }

tasks.json內容填充如下

{
    "command": "g++",
    "args": ["-g","-std=c++11","${file}","-o","${workspaceRoot}\\${fileBasenameNoExtension}.exe"],
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": ["relative", "${workspaceRoot}"],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    }
}
  1. 平臺驗證
#include <iostream>
#include <windows.h>
int main()
{
    std::cout << "hello MinGW + VS Code!\n";
    system("pause");
    return 0;
}

說明

這裡寫圖片描述
畫紅線的是GCC/G++的編譯引數,需要連結庫的在這裡新增
這裡寫圖片描述
劃紅線的是編譯器的偵錯程式所在的目錄,主要要修改這裡,本文給出的是在C盤根目錄下的安裝路徑

對比與心得

\qquad這裡率先需要說明的是,以下觀點僅僅是從使用開發小專案體驗來看,不涉及編譯效率,大專案,程式碼託管等更深層次的問題。
\qquad一、對於CodeBlocks,介面風格比較陳舊,在目前主流審美來看可能已經落伍了,但是作為一個跨平臺的IDE來說,功能上基本滿足小眾開發者的需求,應該稱得上輕量級。但是從我自己的使用經歷來看,有幾點不得不吐槽
1.漢字亂碼問題,時不時會給你來個漢字亂碼,雖然可你解決,但還是很鬧心
2.除錯模組,不知是不是我電腦的問題,在我一年半的使用,總是有些奇奇怪怪的問題,wtf,我斷點加了呀,怎麼跳過去了;怎麼打不開除錯模組。(心累,關閉重啟吧,哇,終於正常了,開森)
3.除錯的時候不小心關閉了dos視窗(嘿嘿,請重啟應用再次嘗試,我**)
\qquad二、對於sublime,使用時間不是很長,一直用他來寫點小東西,嘗試過寫一箇中等專案,體驗一般,除錯(呵呵),至少我沒發現除錯模組,只能在dos下用,Linux有terminal感覺還可以接受,windows的power shell真心一般。
\qquad三、對於vs code,先說缺點吧,博主電腦效能一般,執行稍微會有點卡頓,不過比vs 2017好了很多,尤其是在除錯的時候會更明顯。再說好處吧,自己集成了一個終端,以及error呈現的視窗,還有除錯模組,小的程式問題可以很快的定位,但是到了大規模的程式我想這個應該還是會很雞肋的吧。

最後,附上vs code 的快捷鍵,祝玩的愉快。