【VS】VS Code安裝、配置、使用(windows10 64)
一、VS code 下載和安裝
VSCodeUserSetup-x64-1.29.0.exe
傻瓜安裝,這個就不用贅述了。
二、配置外掛(必須聯網)
箭頭處可以選擇或者搜尋需要的外掛(C++、Python等)
對應的擴充套件外掛安裝地址:C:\Users\你自己\.vscode\extensions
VS Code不會寫入任何配置到登錄檔中。所以這些資料夾可以單個拷貝轉移,其他物理機都可以使用。
三、VS Code測試
建立一個資料夾:20181113_test 地址為 E:\VSCode\20181113_test
點選或者File中的 Open Folder選擇剛才建立的資料夾,並開啟。
此時 20181113_test 資料夾中什麼都沒有。要新建一個檔案,VS Code以資料夾為單位管理工程,工程的所有配置檔案都寫入到該資料夾下。隨便在新檔案main.cpp中寫點內容。
可以點選新建按鈕建立檔案或者自己在資源管理器中建立檔案main.cpp即可!輸入內容
#include <iostream> #include <Windows.h> using namespace std; int main() { cout << "This is my first VS code demo!"; system("pause"); return 0; }
發現#include <iostream>提示找不到路徑(波浪線提示和配置彈窗),因為沒有配置庫目錄。
此時按下Ctrl+. ,,出現Add Include path to setting按鈕,點選後編輯器自動新建配置檔案;
或者滑鼠放在標頭檔案上,會有一個黃色小燈泡,然後點選燈泡,進入“edit includePath setting”即可進入“c_cpp_properties.json”配置檔案。
只需要修改一個地方,Win32配置中的IncludePath,改為當前庫目錄路徑。儲存配置檔案。#include不再提示錯誤。
把 "${workspaceFolder}/**" 替換為你的庫目錄路徑 "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include"即可!(需要注意轉義字元的問題)
使用VScode+clang+MinGW模式的配置方法(我的選擇)
下一個LLVM/clang:http://releases.llvm.org/download.html 直接選搭建好的clang for Windows作為前端,安裝clang時將LLVM資料夾安裝在根目錄下,勾選加環境變數的選項。
然後再下一個MinGW-w64:https://sourceforge.net/projects/mingw-w64/files/latest/download 做為後端,安裝MinGW-w64時將Architecture改成x86_64,其餘預設就好。
然後將安裝好的MinGW-w64的檔案貼到LLVM裡面合併。(Windows下的clang沒有給libc++庫……)
然後把MinGW-w64解除安裝了。
安裝VScode下的外掛:
- C/C++(就是有些教程裡的cpptools)
- C/C++ Clang Command Adapter:提供靜態檢測(Lint)
- Code Runner
配置根目錄下.vscode資料夾中的 launch.json,tasks.json,settings.json,c_cpp_properties.json(這些檔案可以自己新建出來的)
然後分別貼上以下程式碼
tasks.json
// https://code.visualstudio.com/docs/editor/tasks
{
"version": "2.0.0",
"tasks": [
{
"label": "Compile", // 任務名稱,與launch.json的preLaunchTask相對應
"command": "clang++", // 要使用的編譯器
"args": [
"${file}",
"-o", // 指定輸出檔名,不加該引數則預設輸出a.exe,Linux下預設a.out
"${fileDirname}/${fileBasenameNoExtension}.exe",
"-g", // 生成和除錯有關的資訊
"-Wall", // 開啟額外警告
"-static-libgcc", // 靜態連結
"-fcolor-diagnostics", // 彩色的錯誤資訊?但貌似clang預設開啟而gcc不接受此引數
"--target=x86_64-w64-mingw", // clang的預設target為msvc,不加這一條就會找不到標頭檔案;Linux下去掉這一條
"-std=c++17" // C語言最新標準為c11,或根據自己的需要進行修改
], // 編譯命令引數
"type": "shell", // 可以為shell或process,前者相當於先開啟shell再輸入命令,後者是直接執行命令
"group": {
"kind": "build",
"isDefault": true // 設為false可做到一個tasks.json配置多個編譯指令,需要自己修改本檔案,我這裡不多提
},
"presentation": {
"echo": true,
"reveal": "always", // 在“終端”中顯示編譯資訊的策略,可以為always,silent,never。具體參見VSC的文件
"focus": false, // 設為true後可以使執行task時焦點聚集在終端,但對編譯c和c++來說,設為true沒有意義
"panel": "shared" // 不同的檔案的編譯資訊共享一個終端面板
}
// "problemMatcher":"$gcc" // 如果你不使用clang,去掉前面的註釋符,並在上一條之後加個逗號。照著我的教程做的不需要改(也可以把這行刪去)
}
]
}
launch.json
// https://github.com/Microsoft/vscode-cpptools/blob/master/launch.md
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名稱,將會在啟動配置的下拉選單中顯示
"type": "cppdbg", // 配置型別,這裡只能為cppdbg
"request": "launch", // 請求配置型別,可以為launch(啟動)或attach(附加)
"program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 將要進行除錯的程式的路徑
"args": [], // 程式除錯時傳遞給程式的命令列引數,一般設為空即可
"stopAtEntry": false, // 設為true時程式將暫停在程式入口處,我一般設定為true
"cwd": "${workspaceFolder}", // 除錯程式時的工作目錄
"environment": [], // (環境變數?)
"externalConsole": true, // 除錯時是否顯示控制檯視窗,一般設定為true顯示控制檯
"internalConsoleOptions": "neverOpen", // 如果不設為neverOpen,除錯時會跳到“除錯控制檯”選項卡,你應該不需要對gdb手動輸命令吧?
"MIMode": "gdb", // 指定連線的偵錯程式,可以為gdb或lldb。但目前lldb在windows下沒有預編譯好的版本。
"miDebuggerPath": "gdb.exe", // 偵錯程式路徑,Windows下字尾不能省略,Linux下則去掉
"setupCommands": [ // 用處未知,模板如此
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": false
}
],
"preLaunchTask": "Compile" // 除錯會話開始前執行的任務,一般為編譯程式。與tasks.json的label相對應
}
]
}
settings.json
{
"git.ignoreMissingGitWarning": true,
"python.pythonPath": "D:\\Anaconda2",
"window.zoomLevel": 1,
"workbench.colorTheme": "Visual Studio Dark",
"workbench.iconTheme": "vs-minimal",
"files.defaultLanguage": "cpp", // ctrl+N新建檔案後預設的語言
"editor.formatOnType": true, // 輸入時就進行格式化,預設觸發字元較少,分號可以觸發
"editor.snippetSuggestions": "top", // snippets程式碼優先顯示補全
"code-runner.runInTerminal": true, // 設定成false會在“輸出”中輸出,無法輸入
"code-runner.executorMap": {
"c": "cd $dir && clang $fileName -o $fileNameWithoutExt.exe -Wall -g -Og -static-libgcc -fcolor-diagnostics --target=x86_64-w64-mingw -std=c11 && $dir$fileNameWithoutExt",
"cpp": "cd $dir && clang++ $fileName -o $fileNameWithoutExt.exe -Wall -g -Og -static-libgcc -fcolor-diagnostics --target=x86_64-w64-mingw -std=c++17 && $dir$fileNameWithoutExt"
}, // 設定code runner的命令列
"code-runner.saveFileBeforeRun": true, // run code前儲存
"code-runner.preserveFocus": true, // 若為false,run code後游標會聚焦到終端上。如果需要頻繁輸入資料可設為false
"code-runner.clearPreviousOutput": false, // 每次run code前清空屬於code runner的終端訊息
"C_Cpp.clang_format_sortIncludes": true, // 格式化時調整include的順序(按字母排序)
"C_Cpp.intelliSenseEngine": "Default", // 可以為Default或Tag Parser,後者較老,功能較簡單。具體差別參考cpptools擴充套件文件
"C_Cpp.errorSquiggles": "Disabled", // 因為有clang的lint,所以關掉
"C_Cpp.autocomplete": "Disabled", // 因為有clang的補全,所以關掉
"clang.cflags": [ // 控制c語言靜態檢測的引數
"--target=x86_64-w64-mingw",
"-std=c11",
"-Wall"
],
"clang.cxxflags": [ // 控制c++靜態檢測時的引數
"--target=x86_64-w64-mingw",
"-std=c++17",
"-Wall"
],
"clang.completion.enable":true // 效果效果比cpptools要好
}
c_cpp_properties.json
{
"configurations": [
{
"name": "MinGW",
"intelliSenseMode": "clang-x64",
"compilerPath": "C:\\LLVM\\bin\\gcc.exe",
"includePath": [
"${workspaceFolder}"
],
"defines": [],
"browse": {
"path": [
"${workspaceFolder}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"cStandard": "c11",
"cppStandard": "c++17"
}
],
"version": 4
}
標頭檔案的問題解決了!
按ctrl+shift+B單純編譯,按F5為執行並除錯(執行前會自動編譯);
生成的exe就能看到了。
相關推薦
【Linux】Centos7.4安裝Apache2.4.23(詳細步驟)
(yankerp-你不努力,未來沒人替你買單!) 一、安裝apache2.4.23 Apache官網:http://www.apache.org/ apache2.4新功能概述: 執行時可載入M
【Webpack】之 下載安裝3.8.1(Windows10)
平臺: window10 npm:8.9.4 ps:之前按照官網(官網的文件沒編寫好),然後各種報錯,最後用3.8.1版本 (1)預備 (2)安裝we
【VS】VS Code安裝、配置、使用(windows10 64)
一、VS code 下載和安裝 下載地址 VSCodeUserSetup-x64-1.29.0.exe 傻瓜安裝,這個就不用贅述了。 二、配置外掛(必須聯網) 箭頭處可以選擇或者搜尋需要的外掛(C++、Python等) 對應的擴充套件外掛安裝地址:
【MySQL】centOS中安裝和配置MySQL
在MySQL的官方網站下載rpm包,地址為https://dev.mysql.com/downloads/repo/yum/ 也可以使用wget來下載 地址可以在網上找 然後輸入rpm -Uvh mysql57-community-release-el7-10.noarch.rpm
【MySQL】MySQL的安裝與配置
目錄 2.1.2 配置MySQL 5.6 MySQL安裝完畢之後,需要對伺服器進行配置,使用圖形化的配置工具MySQLInstanceConfig.exe。按照前面一節介紹的方法,啟動MySQL Instance Configuratio
【轉載】Centos7.3安裝和配置Mysql5.7
Linux安裝mysql aliyun安裝mysql https://blog.csdn.net/qq_35393693/article/details/79994097 遇到問題向下看 (第七步:設定允許遠端登入 Mysql預設不允許遠端登入
【PHP】PHP的安裝和配置
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文字前處理器”)是一種通用開源指令碼語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。 PHP在Win7上的安裝 下載PHP,傳送門:https://windows.php.n
【Apache】Apache的安裝和配置
Apache是世界非常流行的Web伺服器軟體。它可以執行在幾乎所有廣泛使用的計算機平臺上,由於其跨平臺和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。 Apache在Win7上的安裝 下載apache 2.4,傳送門:https://www.apachelounge.com/download/將ap
【RabbitMQ】spring整合rabbitmq 檔案配置、demo完整示例
之前講了基於java配置的簡單的小demo,現在結合一下spring進行整合。其實原理跟之前差不多的,只是改成了xml的配置。1、建立工廠連線<rabbit:connection-factory id="connectionFactory"
【python】Python的安裝和配置
Python是一種計算機程式設計語言。是一種動態的、面向物件的指令碼語言,最初被設計用於編寫自動化指令碼(shell),隨著版本的不斷更新和語言新功能的新增,越來越多被用於獨立的、大型專案的開發。 Python現在主流的有兩種版本,一種是2.x的,另一種是3.x的,並且它們之間不相容。下面筆
【nginx】Nginx的安裝和配置
Nginx的安裝和配置 6.2.1 使用Nginx的必備軟體 如果要使用Nginx的常用功能,那麼首先需要確保該作業系統上至少安裝如下軟體: 6.2.1.1 gcc、g++編譯器 ubuntu平臺線上安裝指令: sudo apt-get install gcc sudo a
【Git】——Git的安裝以及配置碼雲
安裝 Git支援各大平臺,根據自己的平臺在官網找適合自己的安裝即可。 Windows平臺,即下載的是Windows上安裝包 雙擊exe檔案安裝,一直執行下一步即可完成安裝(如果希望自定義路徑
【整理】軟件工程復習提綱(可行性研究)
模型 行動 移動 帶來 效應 align 估計 信息流 tro 章魚小年糕整理,如果有錯誤歡迎提出,若要二次修改發布,請留言,謝謝^_^! 概念 可行性研究的目的就是用最小的代價在盡可能短的時間內確定該軟件項目是否能夠開發,是否值得去開發。 系統流程圖(SDT):概括地描繪
【BZOJ】1878: [SDOI2009]HH的項鏈 (主席樹)
莫隊 color amp span void == 常數 不同 d+ 題目 傳送門:QWQ 分析 莫隊也能做,但我想練練主席樹。 求k-th一樣維護第i個時候的線段樹,線段樹來維護區間不同數。 然後查詢時可以通過上下界小優化一波。 但是我的代碼醜陋
android開發學習 ------- 【轉】 android中的單例模式 (詳解)
lan post tail -- and 使用 href details android開發 https://blog.csdn.net/u011418943/article/details/60139644 這篇文章 前因後果 都說出來了 ,值得學習。 htt
linux下安裝及配置jenkins(war包)
eight 成功 .html 輸入 需要 目錄 bubuko grep test 1、由於Jenkins是基於Java開發的,安裝前確認操作系統已經安裝了jdk和tomcat 如何安裝,請參考WINDOWS/LINUX上部署TOMCAT服務器 2、下載war包: htt
【PAT】B1038 統計同成績學生(20)(20 分)
自己的 code return scanf pre pat can 學生 include #include<stdio.h> int arr[102]={0};//分數作為自己的下標,註意 int main(){ int N;scanf("%d",&am
【PAT】B1006 換個格式輸出整數(15 分)
pac sca printf alloc sin clu malloc main () #include<cstdio> #include<malloc.h> #include<algorithm> using namespace std
【Linux】【Services】【PaaS】從零開始的Devops生活(2. kubernetes)
ces 自帶 .html 新版本 demon 最新版本 環境 html ice 1. 簡介 1.1. kubernetes,基礎架構和概念請參考https://www.cnblogs.com/demonzk/p/8301087.html 1.2. 如果想把kubernete
【BZOJ1090】[SCOI2003]字符串折疊(動態規劃)
false string problem include == 是否 stream 規劃 .org 【BZOJ1090】[SCOI2003]字符串折疊(動態規劃) 題面 BZOJ 洛谷 題解 區間\(dp\)。設\(f[i][j]\)表示壓縮\([i,j]\)區間的最小長度