Visual Studio Code 構建C/C++開發環境


轉自:https://blog.csdn.net/lidong_12664196/article/details/68928136#visual-sutdio-code以及cc插件安裝

 

    https://blog.csdn.net/my_wade/article/details/46941645

 

Visual Sutdio Code以及C/C++插件安裝
安裝VS Code:請打開官網 https://code.visualstudio.com/ 下載編輯器,並一路默認安裝。
安裝cpptools插件(安裝方式有兩種,任選一種,一種是點擊VS code的插件圖標調出查找插件窗口然后搜索cpptools,另一種是Ctrl+p 調出VS code的shell,輸入ext install cpptools),用於代碼分析,編輯提示等等,具體可以參考介紹:https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools

3、安裝 code runner插件,可以動態運行選中的代碼區塊,詳細介紹: 

https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner 
安裝code runner插件

 

4、安裝 native debug 插件,用於gdb圖形化調試你的C/C++程序,詳細參考: 
https://marketplace.visualstudio.com/items?itemName=webfreak.debug 

5、重啟VS code, 

安裝完以上插件后,重啟VS code,讓安裝的插件生效。

Visual Studio Code 和GCC共同調試C/C++程序

安裝GCC工具鏈

1、安裝C/C++ 的 GCC 工具鏈,windows上可以安裝cygwin或者MinGW, linux/os x如果默認未安裝,那安裝也非常簡單,根據使用的版本網上搜索相應的命令行即可。安裝MinGW見最下。

調試C/C++程序

  1. 在操作系統中新建一個工程目錄,如 “hello”,然后啟動vs code,打開這個空目錄
  2. 用vs code 在hello目錄新建一個源文件 hello.c: 

  文件內容如下:

  #include <stdio.h>
  int g_var = 0;
  void print_line(char *str)
  {
  if (str != NULL)
  printf("%s\r\n", str);
  else
  printf("null string\r\n");
  }
  int main (int argc, char **argv)
  {
  int l_var = 1;
  print_line("hello world!");
  printf("g_var = %d, l_var = %d.\r\n", g_var, l_var);
  return 0;
  }
3、添加頭文件索引路徑。在hello.c中,你會發現include頭文件那一行下面有綠色的波浪線,代表vs code的cpptools插件找不到相應路徑,將鼠標移到這一行點擊。

左邊會出現一個提示的黃色小燈泡符號,點擊它,然后點擊“Add include path to settings”按鈕, 將生成並打開一c_cpp_properties.json 文件,編輯這個json文件,添加c/c++頭文件的路徑進去: 

這里cygwin的頭文件路徑為: “C:/cygwin/usr/include/*”,將它添加到”includePath”這個變量中。
4. 設置編譯構建環境。
在vs code中點擊hello.c回到hello.c文件,調用快捷鍵 Ctrl+Shift+B 構建可執行文件。
此時vs code會報錯,在vs code的頂欄顯示“No task runner configured”,你只需要點擊右邊的藍色按鈕“Configure task runner”來生成編輯task.jason即可:

點擊后,在彈出的選擇欄中選擇”Others“: 

 

選擇后會創建並打開一個task.jason的配置文件, 修改其中的command 和 args變量並保存:

"command": "gcc ", "args": ["-g", "${file}", "-o", "${workspaceRoot}/hello.exe"], 

5. 構建hello.exe。 
直接快捷鍵 Ctrl+Shift+B將hello.c編譯構建為hello.exe, 
這時你會發現vs code的左邊欄中多了一個hello.exe文件。 

運行和調試hello.exe。 
快捷鍵 Ctrl+Shift+D 或者點擊左邊Debug按鈕調出debug窗口。 

按快捷鍵F5准備調試這個程序,此時會彈出選擇debug的環境,選擇 “GDB”即可。 

之后會創建並打開launch.jason配置文件,修改一下“target”這個變量內容為”./hello.exe”:

 

使用gdb調試,添加監控變量(在WATCH欄中添加變量名)和斷點(鼠標在hello.c的左邊欄點擊顯示紅色即可添加斷點),如: 

快捷鍵F5運行調試,運行到斷點后觀察左邊DEBUG欄目中顯示的各種信息,然后 
繼續按綠色按鈕(或快捷鍵F5)繼續運行,如: 

點擊右下方DEBUG輸出欄中的 ”DEBUG CONSOLE” 將看到程序運行時打印的信息: 

7. 至此,一個簡單的在WINDOWS上用VS Code編輯和調試C程序的例子完畢。

Visual Studio Code編輯時的常用快捷鍵
快捷鍵 作用
F1或Ctrl+Shift+P 打開VS Code的命令Shell
Ctrl+P 打開VS code文件/符號查詢窗口,輸入”>”可以進入F1同樣的Shell
Ctrl+Shift+O 查找符號,函數,屬性
Ctrl+G 跳轉到某行
Ctrl+[ 代碼縮進
Ctrl+] 代碼往前移進
Ctrl+F 查找文本
Ctrl+H 查找替換
Ctrl+Shift+F 整文件夾中查找
Ctrl+ + 放大文本
Ctrl+ - 縮小文本
Ctrl+ Home 移動到文件頭
Ctrl+ End 移動到文件尾
Ctrl+ Tab 在多個文件之間切換
Ctrl+ / 注釋/解注釋鼠標選中的代碼塊
Ctrl+ \ 切分當前窗口
Ctrl+ N 新建文件
F12 跳轉到變量,函數,類型定義
Alt+鼠標點擊 連續選中多個文本,同時編輯
Alt+F12 查找所有對當前變量,函數,類型的引用
Alt+<-方向鍵 跳回到上一視圖
Alt+上下方向鍵 上下移動當前光標所在行
Shift+Alt+上下方向鍵 向上/向下復制一行
Ctrl+Enter 在當前行下邊插入一行
Ctrl+Shift+Enter 在當前行上方插入一行
Alt+Shift+鼠標左鍵 列編輯

Visual Studio Code官方資源
編輯C++文件: http://code.visualstudio.com/docs/languages/cpp
寫VS Code擴展插件:https://code.visualstudio.com/docs/extensions/example-hello-world

 

附 Mingw安裝教程

MinGW安裝過程

一. 下載

MinGW官網下載地址:http://sourceforge.net/projects/mingw/

二. 安裝

1. 雙擊下載好的壓縮文件。

 

 

2. 然后出現如下界面,點擊install(安裝)開始安裝。

 

 

  • Version :GCC 版本,直接選最高;
  • Architecture :CPU 架構,系統如果為64位,則選擇 x86_64;
  • Threads :API 模式,使用默認選項;
  • Exception :異常處理方式,seh 僅針對 64 位架構,sjlj 則兼容 32 位架構;
  • Build revision :修訂版本,使用默認選項;
  • 安裝過程中需要聯網下載部分文件,由於網絡問題安裝失敗的,可以 點這里下載 免安裝版本。下載后直接解壓在你想安裝的文件夾。(那個壓縮文件已經保存到haijing的2018考研群,隨時可以下載的喲~)

    然后我們要在安裝路徑中找到 bin 文件夾,通常在 ${MinGW-w64安裝位置}\mingw64\bin ,以我的安裝路徑為例,bin 文件夾位於 D:\App\MinGW\mingw64\bin 。

 

 

3.指定安裝參數選擇(安裝目錄,用戶目錄選擇)后,點擊Continue繼續下一步。

 

 

4.如下界面是下載和設置MinGW的安裝配置

 

 

5.上一步完成后,Continue處於可點擊狀態,點擊它進行下一步

 

 

6.出現如下界面

 

 

2018.12.19后來插入的兩張圖片:這幾天一直出錯的原因之一是沒有安裝上第二張圖片中的gdb,從而沒有生成gdb.exe文件。出錯之二是因為.json文件和.taskss文件配置不對.正確配置見下面。

 

選擇mingw32-gcc-ada、mingw32-gcc-fortran、mingw32-gcc-g++、mingw32-gcc-objc這四個。

 

 

7.點擊Installation下的Apply Changes(應用)繼續下一步。

 

 

8.出現如下界面,點擊Apply(應用)繼續下一步。

 

 

9.出現如下界面,下載包(這一步需要的時間比較長,耐心等待)。

 

 

10.當出現這段話時,表示對剛才的改變應用成功,此時可以點擊Close關閉對話框。或者在還沒有出現這段話時,選中對話框中的復選按鈕(Close dialogue automatically,when activity is complete),意思是完成后自動關閉對話框。

 

 

11.下面的界面也可以關閉了。

 

 

三. 設置環境變量

1.找到MinGW的安裝目錄下的bin目錄(我的是C:\MinGW\bin),並復制一下。

 

 

2.右鍵計算機,選擇屬性,然后點擊高級系統設置,再點擊環境變量

  

 

 

3.出現如下界面,雙擊Path

 

 

4.將剛才復制的地址添加到變量值的末尾,

 

 

 

四. 測試是否安裝成功。

1.點擊確定結束。然后打開cmd

 

2.輸入gcc –v回車。

 

 

成功了!!
---------------------
作者:my_Wade
來源:CSDN
原文:https://blog.csdn.net/my_wade/article/details/46941645
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

 

關於正確配置c_cpp_properties.json文件、launch.json文件、tasks.json文件的方法以及另外一個完整的在vs code中配置c/c++環境的方法:

 

C/C++ 是由 Microsoft 發布的支持 C/C++ 智能提示和調試等功能的插件,安裝步驟如下:

 

  • 使用快捷鍵 Ctrl + Shift + X 呼出擴展面板
  • 在搜索框中輸入:C/C++
  • 再安裝由 Microsoft 提供的名為 C/C++ 插件。

 

 

 

2. 安裝 MinGW-w64 並配置好環境變量

 

首先下載 MinGW-w64 點這里下載 MinGW-w64 。下載完成之后我們開始安裝 MinGw-w64,安裝路徑可以自由定義,我這里安裝路徑為 D:\App\MinGW 。安裝時需要設置的安裝選項如下:

 

  • Version :GCC 版本,直接選最高;
  • Architecture :CPU 架構,系統如果為64位,則選擇 x86_64;
  • Threads :API 模式,使用默認選項;
  • Exception :異常處理方式,seh 僅針對 64 位架構,sjlj 則兼容 32 位架構;
  • Build revision :修訂版本,使用默認選項;

 

 

 

安裝過程中需要聯網下載部分文件,由於網絡問題安裝失敗的,可以 點這里下載 免安裝版本。下載后直接解壓在你想安裝的文件夾。

 

然后我們要在安裝路徑中找到 bin 文件夾,通常在 ${MinGW-w64安裝位置}\mingw64\bin ,以我的安裝路徑為例,bin 文件夾位於 D:\App\MinGW\mingw64\bin 。

 

接下來,我們將剛剛獲取的 bin 文件夾的路徑添加到系統環境變量。

 

  • 按 Win + R 鍵,打開運行窗口,,輸入 sysdm.cpl 並回車;
  • 在彈出的 系統屬性 窗口,選擇 高級 選項卡;
  • 在 高級 選項卡找到 環境變量 按鈕,單擊 環境變量 按鈕,打開 環境變量 窗口 ;
  • 在 環境變量 窗口的 系統變量 區域找到 Path 變量 ,雙擊 Path 出現 編輯環境變量 窗口;
  • 在 編輯環境變量 窗口點擊 新建,在新建的這行輸入我們剛剛獲取的 bin 文件夾的路徑,然后點確定。

 

 

 

3. 測試環境變量是否配置正確

 

在命令行輸入 gcc --version,如果返回的是已安裝的 gcc 的版本信息,那么環境變量就配置正確了。

 

下面是在我的電腦上輸入 gcc --version 的結果,可以看到我安裝的版本為:gcc 7.3.0

 

PS C:\Users\Jason> gcc --version gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 7.3.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 

4. 創建和設置 C 語言開發工作區

 

在你的計算機中選擇一個合適的位置,作為你的 C 語言開發工作區。建議工作區所在路徑僅由字母、數字、下划線組成,不要包含其他的符號。例如空格,空格符號常常作為命令行中命令和參數的間隔符,如果路徑包含空格會導致編譯時出錯。我創建的工作區的路徑為:D:\Study\C\WorkSpace

 

由於 Windows 中文版命令行輸出字符是 GB2312 編碼的,而 VS Code 工作區默認是 UTF-8 ,這會導致你編寫的 C 代碼編譯后在命令行執行並查看結果時中文會顯示亂碼,所以我們要單獨針對工作區進行設置字符編碼,保證程序輸出的字符也采用跟命令行一致的 GB2312 編碼,步驟如下:

 

  • 使用 VS Code 打開你創建的工作區;
  • 在 VS Code 左下角的設置按鈕進設置,再點擊 用戶設置 旁邊的 工作區設置 ;
  • 在 工作區設置 中添加 "files.encoding":"gb2312"

 

 

 

5. 編寫你的第一個 C 語言程序

 

在工作區新建一個 C 語言源文件命名為 hello.c ,輸入以下內容:

 

#include <stdio.h> #include <windows.h> int main() { printf("hello world!/n"); system("pause"); }

 

6. 配置導入的頭文件參數 c_cpp_properties.json

 

在編寫完畢並保存之后,你可能會看到 #include 這句下面會有綠色波浪線,這是由於編譯器沒辦法找到你所使用的頭文件的所在位置。將光標移動到該行,行號左邊會出現 黃色小燈泡 ,點擊會出現一個提示按鈕:Add include path to setting,繼續點擊該提示,則會在工作區 .vscode 下生成 c_cpp_properties.json 文件。將文件修改成下面內容:

 

{ "configurations": [{ "name": "MinGW", "intelliSenseMode": "gcc-x64", "compilerPath": "D:/App/MinGW/mingw64/bin/x86_64-w64-mingw32-gcc.exe", "cStandard": "c11", "cppStandard": "c++17", "includePath": [ // 下面路徑中的 D:/App/MinGw 部分需要替換成你的 MinGw-w64 安裝路徑 "${workspaceFolder}/**", "C:/MinGW/include", //需要改的地方 "C:/MinGW/mingw64/lib/gcc/minggw32/6.3.0/include/c++", "C:/MinGW/mingw64/lib/gcc/mingw32/6.3.0/include/c++/tr1" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE", "__GNUC__=7", "__cdecl=__attribute__((__cdecl__))" ], "browse": { "path": [ // 下面路徑中的 D:/App/MinGw 部分需要替換成你的 MinGw-w64 安裝路徑 "${workspaceFolder}/**", "C:/MinGW/include", //需要改的地方 "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++", "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/tr1" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" } }], "version": 4 }

 

留意帶注釋部分的內容,需要將路徑修改成你自己的安裝路徑哦。

 

7. 配置調試程序 launch.json

 

打開已經編寫好的 hello.c ,然后按 F5 調試。因為是第一次調試,系統會彈出 選擇環境 面板,這里選擇 C++(GDB/LLDB)

 

 

 

選擇運行環境后,VS Code 會在工作區 .vscode 文件夾下創建 luanch.json 模板文件並打開,將文件內容清空,復制下面的內容到文件中並保存:

 

{ "version": "0.2.0", "configurations": [{ // 配置 VS Code 調試行為: "name": "GDB Debug", // 設置在啟動配置下拉菜單中顯示調試配置的名稱。 "preLaunchTask": "Compile", // 調試會話開始前要運行的任務。 "type": "cppdbg", // 設置要使用的基礎調試器。使用 GDB 或 LLDB 時必須是 cppdbg 。 "request": "launch", // 設置啟動程序還是附加到已經運行的實例。啟動或附加 ( launch | attach ). "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 調試器將啟動或附加的可執行文件的完整路徑。 "externalConsole": true, // 設置是否顯示外部控制台。 "logging": { // 用於確定應該將哪些類型的消息記錄到調試控制台。 "exceptions": true, // 是否應將異常消息記錄到調試控制台。默認為真。 "moduleLoad": false, // 是否應將模塊加載事件記錄到調試控制台。默認為真。 "programOutput": true, // 是否應將程序輸出記錄到調試控制台的可選標志。默認為真。 "engineLogging": false, // 是否應將診斷引擎日志記錄到調試控制台。默認為假。 "trace": false, // 是否將診斷適配器命令跟蹤記錄到調試控制台。默認為假。 "traceResponse": false // 是否將診斷適配器命令和響應跟蹤記錄到調試控制台。默認為假。 }, // 配置目標應用程序: "args": [], // 設置調試時傳遞給程序的命令行參數。 "cwd": "${workspaceFolder}", // 設置調試器啟動的應用程序的工作目錄。 "environment": [], // 設置調試時添加到程序環境中的環境變量,例如: [ { "name": "squid", "value": "clam" } ]。 // 自定義 GDB 或者 LLDB: "windows": { "MIMode": "gdb", // 指定 VS Code 連接的調試器,必須為 gdb 或者 lldb。 "miDebuggerPath": "C:/MinGW/bin/gdb.exe" // 調試器的路徑,修改為你的安裝路徑 }, "miDebuggerArgs": "", // 傳遞給調試器的附加參數 "stopAtEntry": false, // 設置調試器是否停止在目標的入口(附加時忽略)。默認值為 false。 "setupCommands": [{ // 執行下面的命令數組以設置 GDB 或 LLDB "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", // 鼠標懸停查看變量的值,需要啟用 pretty-printing 。 "ignoreFailures": true // 忽略失敗的命令,默認為 false 。 }] }] }

 

留意 luanch.json 中的注釋內容,記得把 "miDebuggerPath" 參數修改成你自己安裝位置里的 gdb.exe

 

gdb.exe 位於 {MinGW-w64安裝位置}\mingw64\bin 下面。

 

8. 配置調試前執行的任務 task.json

 

再按一次 F5 ,會彈出“找不到任務”的提示窗口,點擊 配置任務 按鈕,如下圖所示:

 

 

 

然后在彈出的命令面板選擇 使用模板創建 task.json 文件 ,如下圖所示:

繼續選擇 Others 運行任意外部命令的示例 ,如下圖所示:

 

 

完成以上步驟之后,會在工作區的 .vscode 目錄下生成 tasks.json 文件,並自動打開 task.json 文件。

 

 

接下來我們將 task.json 文件內容清空,復制下面的內容到文件中並保存:

 

{ // 有關 tasks.json 格式的參考文檔:https://go.microsoft.com/fwlink/?LinkId=733558 。 "version": "2.0.0", "tasks": [{ "label": "Compile", "type": "shell", // { shell | process } // 適用於 Windows 的配置: "windows": { "command": "gcc", "args": [ "-g", "\"${file}\"", "-o", "\"${fileDirname}\\${fileBasenameNoExtension}.exe\"" // 設置編譯后的可執行文件的字符集為 GB2312: // "-fexec-charset", "GB2312" // 直接設置命令行字符集為 utf-8: // chcp 65001 ] }, // 定義此任務屬於的執行組: "group": { "kind": "build", // { build | test } "isDefault": true // { true | false } }, // 定義如何在用戶界面中處理任務輸出: "presentation": { // 控制是否顯示運行此任務的面板。默認值為 "always": // - always: 總是在此任務執行時顯示終端。 // - never: 不要在此任務執行時顯示終端。 // - silent: 僅在任務沒有關聯問題匹配程序且在執行時發生錯誤時顯示終端 "reveal": "silent", // 控制面板是否獲取焦點。默認值為 "false": "focus": false, // 控制是否將執行的命令顯示到面板中。默認值為“true”: "echo": false, // 控制是否在任務間共享面板。同一個任務使用相同面板還是每次運行時新創建一個面板: // - shared: 終端被共享,其他任務運行的輸出被添加到同一個終端。 // - dedicated: 執行同一個任務,則使用同一個終端,執行不同任務,則使用不同終端。 // - new: 任務的每次執行都使用一個新的終端。 "panel": "dedicated" }, // 使用問題匹配器處理任務輸出: "problemMatcher": { // 代碼內問題的所有者為 cpp 語言服務。 "owner": "cpp", // 定義應如何解釋問題面板中報告的文件名 "fileLocation": [ "relative", "${workspaceFolder}" ], // 在輸出中匹配問題的實際模式。 "pattern": { // The regular expression. "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", // 第一個匹配組匹配文件的相對文件名: "file": 1, // 第二個匹配組匹配問題出現的行: "line": 2, // 第三個匹配組匹配問題出現的列: "column": 3, // 第四個匹配組匹配問題的嚴重性,如果忽略,所有問題都被捕獲為錯誤: "severity": 4, // 第五個匹配組匹配消息: "message": 5 } } }] }

 

9. 完成

 

到這里,C 開發環境就已經配置完畢。接下來我們在 hello.c 的編輯窗口按 F5 運行下,看下效果。

 

 

如果你還想再創建其他的 C 語言開發工作區,我們只需要新建一個文件夾,再把現在已有工作區目錄下的 .vscode 文件夾復制到新建的文件夾即可。

 2018.12.19 haijing in HZ 

馬上去上中特了。。。還有五分鍾上課

 


免責聲明!

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



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