開發神器 VsCode 配置指南!(含 Python、C++、Java環境配置)
作者:吳忠強,連結:專案開發神器VsCode配置指南
歡迎關注 @Python與資料探勘 ,專注 Python、資料分析、資料探勘、好玩工具!
本篇文章雖然是VsCode掛名,但其實介紹了兩款神器: Vscode和Vim, 這兩個結合起來,開發效率蹭蹭蹭!!!
之前接觸過VsCode但很少用。總感覺寫Python不如pycharm香,還得安裝各種外掛。但最近實習中,發現在專案上有一些較為龐大的推薦架構專案,全是c++程式碼,後期還要基於專案程式碼做架構開發,這就涉及到了寫C++專案,而且好幾個專案一塊看,還要滿足互相跳轉,因為有些變數的定義可能在繼承的父類專案裡面。
於是就又接觸回VSCode, 發現還挺好用,並且外掛強大,
只用VSCode這一款編譯器,安裝不同的外掛就可以開發不同的專案,比如C++, Java(Scala)和Python專案, 並且還免費。
這篇文章來整理下如何用VsCode來寫這三種專案,關鍵是如何進行配置。因為VsCode本質上是一個類似於記事本的編輯器,需要各種外掛和環境輔助執行。
交流群
想要進技術交流群的同學,可以直接加微訊號:
dkl88191
。加的時候備註一下:研究方向+學校/公司+知乎,即可。然後就可以拉你進群了。
大綱如下:
VsCode基礎小常識(快捷鍵,連線伺服器,配置vim與Git)
VsCode寫C++、Python與Java專案的相關配置
Vim的使用
▲這就滿足!大家有想看的內容都可以留言
Ok, let‘s go!
01 VsCode必備的基礎知識
1。1 兩個必備快捷鍵
關於VsCode是啥,安裝就是常規的安裝軟體操作。下載下來之後,開啟,是英文版,可以開啟擴充套件, 搜Chinese安裝中文包, 介面如下圖:
先記住兩個快捷鍵:
command+shift+p
: 這個是開啟命令互動面板, 在命令面板中可以輸入命令進行搜尋(中英文都可以),然後執行。命名面板中可以執行各種命令,包括編輯器自帶的功能和外掛提供的功能。
comand+,
: 進入設定,這裡可以進行使用者和工作區的設定,像什麼程式碼風格,字型風格各種設定都在這裡
這兩個快捷鍵建議記好。
另外, 這幾個常用的快捷鍵最好也知道:
1。2 安裝code
安裝後開啟命名面板
Command+Shift+P
,搜尋shell命令,點選在PAth中安裝code命令,然後在上面選單欄裡面點選終端,開啟一個新終端。在這裡面使用code命令開啟檔案或資料夾
code 專案地址或者檔名
# vscode 就會在新視窗中開啟該專案或者檔案
如果你希望在已經開啟的視窗開啟檔案,可以使用
-r
引數, 當然也可以選單欄檔案然後open專案,但感覺還是有些麻煩。
1。3 連線遠端伺服器開發
這個也是需要掌握的必備技能了, 畢竟我們本地的機器啥配置自己清楚, 專案往往都放到伺服器上, 而這個就保證了在自己電腦上遠端開啟伺服器的專案並開發。
這個需要安裝外掛Remote-SSH, command+shift+x開啟安裝。安裝完了之後,左下角綠色的地方點選,然後選擇connect to host,輸入IP和使用者名稱新增即可, 這樣就連結到了遠端伺服器。
1。4 安裝Vim,使得開發更高效
如果vs code上安裝vim外掛,那麼寫程式碼就可以採用vim的方式了, 各種便捷式命令使得開發更加高效。外掛搜vim安裝,然後點選vim外掛,就會看到vim外掛的安裝說明, 在安裝說明裡面把第一行在命令列執行:
defaults write com。microsoft。VSCode ApplePressAndHoldEnabled -bool false
然後需要在setting。json中把vim的配置複製進去即可, 這樣就變成了vim編輯器, 然後就能進行vim的各種騷操作了。setting。json檔案在哪裡?
command+,
進入設定, 然後上面搜尋框輸入:
Run Code Configuration
, 在查詢的結果中,如果發現setting。json編輯即可。
下面那段複製到setting。json中, 這樣就會發現進入了vim編輯模式。常用的vim命令還是要會的, 開發更加高效。這個統一整理到最後面, 藉著這次,順便也複習下Vim的使用, Linux下簡直神器。
1。5 配置Git
這個功能我目前沒用到, 因為我一般喜歡命令列直接Git相關操作,等具體用到了再補充。可以先參考
https://
blog。csdn。net/weixin_42
280089/article/details/88937175
ok, 幾個必備知識搞定之後, 就可以開發專案了, 其它功能等用到了可以現查。
02 VsCode寫三大程式設計專案的相關配置
2。1 VsCode寫C++專案的配置
這裡記錄C++專案開發的相關配置,先安裝3個外掛:
C/C++
C/C++ Extension Pack
CodeLLDB
然後檢查下是否按照了clang/clang++ 編譯器
clang++ -v
如果未安裝,請前往 app store 下載 xcode安裝。
準備工作完成,然後開啟終端輸入下面命令:
mkdir projects
cd
projects
mkdir hello
cd
hello
code 。
# 上述步驟也可以在vscode中建立一個新的hello資料夾代替。
接下來,設定編譯器路徑, 互動面板下, 輸入c/c++選下面這個UI的:
採用預設即可,這裡編譯器我選了個clang++, 也可以預設。這樣完事之後, 。vscode目錄下,自動多一個c_cpp_properties。json檔案, 用於使用vscode自帶的程式碼提示工具,支援程式碼跳轉等, 在這裡面進行配置如下:
{
“configurations”
:
[
{
“name”
:
“Mac”
,
“includePath”
:
[
“
${
workspaceFolder
}
/**”
]
,
“defines”
:
[]
,
“macFrameworkPath”
:
[]
,
“compilerPath”
:
“/usr/bin/clang++”
,
“cStandard”
:
“gnu17”
,
“intelliSenseMode”
:
“macos-gcc-x64”
,
“cppStandard”
:
“c++11”
}
]
,
“version”
:
4
}
這個完事。
接下來, 需要配置一個tasks。json檔案, 用於編譯c++檔案。
互動面板,輸入task
選擇tasks: Configure Default Build Task
選擇Create tasks。json file from template
選擇Others, 會在。vscode下面自動建立tasks。json,在編輯器中開啟
進行如下配置
{
“version”
:
“2。0。0”
,
“tasks”
:
[
{
“label”
:
“Build with Clang”
, //這個任務的名字在launch。json最後一項配置
“type”
:
“shell”
,
“command”
:
“clang++”
,
“args”
:
[
“-std=c++17”
,
“-stdlib=libc++”
,
“-g”
,
// 生成除錯資訊,GUN可使用該引數
“
${
file
}
”
,
// file指正在開啟的檔案
“-o”
,
// 生成可執行檔案
“
${
fileDirname
}
/
${
fileBasenameNoExtension
}
”
// fileDirname指正在開啟的檔案所在的資料夾
// fileBasenammeNoExtension指沒有副檔名的檔案,unix中可執行檔案屬於此類
]
,
“options”
:
{
“cwd”
:
“
${
workspaceFolder
}
”
}
,
“problemMatcher”
:
[
“
$gcc
”
]
,
“group”
:
{
“kind”
:
“build”
,
“isDefault”
:
true
}
}
]
}
這裡面需要注意的是第一個label,後面的名字,要和下面這個配置檔名字最後一項保持一致。可行性檔案這個儲存的是路徑位置。
接下來, 配置launch。json, 這個是用於使用vscode自帶的debug工具(左側的小蟲圖示)
互動面板下輸入launch,選擇Debug:Open launch。json
選擇LLDB
在。vscode下自動生成launch。json檔案, 寫入配置
{
// 使用 IntelliSense 瞭解相關屬性。
// 懸停以檢視現有屬性的描述。
// 欲瞭解更多資訊,請訪問: https://go。microsoft。com/fwlink/?linkid
=
830387
“version”
:
“0。2。0”
,
“configurations”
:
[
{
“name”
:
“Debug”
,
“type”
:
“lldb”
,
“request”
:
“launch”
,
“program”
:
“
${
workspaceFolder
}
/
${
fileBasenameNoExtension
}
”
,
“args”
:
[]
,
“cwd”
:
“
${
workspaceFolder
}
”
,
“preLaunchTask”
:
“Build with Clang”
}
]
}
這樣,配置工作完成, 就可以寫程式程式碼了。在該專案下面建立一個helloworld。cpp檔案,寫入如下程式碼:
然後
command+shift+b
就可以進行編譯,然後點選右上角的執行按鈕即可執行程式了。注意,如果改變helloworld。cpp的位置,比如新建個src目錄, 把這個cpp放入src目錄,此時上面的task。json和launch。json相應位置需要做出改變。
# task。json
// 生成可執行檔案
“
${
fileDirname
}
/src/
${
fileBasenameNoExtension
}
”
# launch。json
“program”
:
“
${
workspaceFolder
}
/src/
${
fileBasenameNoExtension
}
”
,
如果想debug, 就點選左邊的小蟲子圖示, 然後打斷點, 在左上角再點選綠色箭頭,就進入debug模式了。
到這裡為止, C++環境配置完成。
在執行過程中,我其實遇到了一個c++11的bug:
[
Running
]
cd
“/Users/bytedance/projects/hello/”
&&
g++ main。cpp -o main
&&
“/Users/bytedance/projects/hello/”
main
main。cpp:9:21: error: expected
’;‘
at end of declaration
vector
{
“Hello”
,
“C++”
,
“World”
,
“from”
,
“VS Code”
,
“and the C++ extension!”
}
;
^
;
main。cpp:11:27: warning: range-based
for
loop is a C++11 extension
[
-Wc++11-extensions
]
for
(
const string
&
word : msg
)
^
1
warning and
1
error generated。
這個卡了我好久其實, 上面文章中是沒有寫的, 這個原因解決方法可能有兩個:
看看外掛裡面是否安裝了C/C++ Clang Command Adapter, 有的話解除安裝掉, 這個對我這個沒有用
進設定,搜Run Code Configuration, 開啟setting。json檔案, 那裡面會有各類語言的執行map, 在裡面找到cpp, 把後面的value改成:
“cpp”: cd $dir && g++ -std=c++11 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt
, 我用了這個方法解決的
至此, c++部分結束。
2。2 VsCode寫Python的配置
寫大專案還是建議pycharm, yyds, 而如果寫一些小demon啥的, 可以使用vscode了,這個配置起來,寫程式碼專案也非常方便, 配置Python環境, 相對簡單。
首先,按照Python外掛, command+shift+x, 然後搜Python即可安裝外掛。然後命令列輸入命令:
mkdir projects
cd
project
mkdir hello
cd
hello
code 。
這時候會建立一個hello目錄,如果提示code沒有定義, 先安裝code, 具體方法是command+shift+p, 然後在裡面搜shell,就會顯示這條命令,點選安裝即可。
在hello裡面,建立hello。py檔案,這時候基於擴充套件左下角就會顯示所用的Python版本, 這時候,其實就能簡單執行。py檔案了。比如列印個hello world。
但是如何建立大專案,寫更加複雜的程式碼呢?
這裡可以安裝anaconda, 然後在裡面建立虛擬環境,然後在vscode中指定,就可以寫了。 點選左下角的Python3。8。2這裡。
我這裡有3個anaconda3的環境,我選Arkrec_env的這個, 這裡面專門寫tf相關程式碼的,也安裝好了大部分常用的包,點選選擇即可。如果想寫pytorch程式碼,我這裡可以選擇第一個。
左下角就變了環境。
2。3 VsCode寫Java專案的配置
想執行Java專案, 也非常簡單,主要包括三步:
下載並執行「Extension Pack for Java」;
下載並執行「JDK」;
配置「Environment Variable」
第一步,安裝Extension Pack for Java外掛
,
command+shift+x
然後輸入這個外掛名字, 點選安裝。
這哥們其實在為我們安裝了6個Java必備外掛:
Language Support for Java(TM) by Red Hat: 執行Java程式碼
Debugger for Java: 除錯
Java Test Runner: 單元測試
Maven for Java: 在Java環境下構建應用程式的軟體
安裝完畢之後。
第二步,下載並執行「JDK」
。「JDK」的全稱是「Java Development Kit」,也就是中文所說的「Java開發套件」, 這個套件就是我們開發基於Java語言的軟體所需要的一個工具包。 話不多說,直接操作。
command+shift+p
進入命令視窗,搜尋Java Overview, 在右側Configure那裡,點選Configure Java Runtime,透過VSCode預設的「AdoptOpenJDK」下載入口,選擇我們需要下載的「JDK」和「JVM」的版本
點選Download進入下載頁面。下載下這個pkg包之後,點選安裝即可。這時候,Reload Window,然後點選上面的Installed JDKs, 就會發現安裝的JDK路徑以及版本。
第三步,配置「Environment Variable」
,也就是中文所說的「環境變數」。
command+,
進入設定頁面, 搜尋中輸入javahome, 然後點選
在這裡, 把上面的那個JDK的路徑複製過來即可。
這樣就可以愉快的寫Java程式碼了, 測試下,
command+shift+p
, 在裡面輸入
Java: create Project
,輸入專案名,在src資料夾中,選擇Run執行Java程式碼,控制檯資料Hello World則為成功。
OK, Java配置完成。
這樣下來, 就把Vscode打造成了能同時開發Python, C++以及Java專案的神器了, 當然, Vscode還能做更多語言的專案開發, 等後面具體用到了再整理吧, 這玩意輔助上Vim, 專案學習起來也是非常香的哈哈。
03 Vim使用小記
由於目前我對Vim也是隻瞭解到了些皮毛, 所以只整理些關於vim常用的操作。
3。1 三種模式切換
首先,三種模式切換必備:
從Normal模式到Insert模式(寫程式碼模式
i/a
鍵:當前位置插入
A
鍵: 行尾插入
I
鍵: 行前插入
O
鍵: 上行插入
o
鍵: 下行插入
反之
jj
鍵或者
esc
鍵
從Normal模式到命令列模式,
“:”
, 反之esc, 命令列裡面輸入
:行號
,直接跳到相應行
從Normal模式到visual模式,
v
鍵, 反之esc, 這個模式類似於我們用滑鼠選中文字的操作。
v
: 字元視覺化模式,此模式下目標文字的選擇是以字元為單位的,也就是說,該模式下要一個字元一個字元的選中要操作的文字。
V
: 行視覺化模式,此模式化目標文字的選擇是以行為單位的,也就是說,該模式化可以一行一行的選中要操作的文字
Ctrl+v
: 塊視覺化模式,該模式下可以選中文字中的一個矩形區域作為目標文字,以按下 Ctrl+v 位置作為矩形的一角,游標移動的終點位置作為它的對角
visual模式下面複製貼上操作等都能使用。
3。2 必備命令
剛開始進入vim的時候是Normal模式, 這個模式下是不能寫程式碼的, 在這個模式下需要記住的操作:
游標移動
字元跳
:控制游標移動:
H, J, K, l
四個鍵分別是左, 下,上, 右, 這個是一個字元一個字元的跳
單詞跳
:
w
: 一個單詞一個單詞的跳 ,
b
: 一個單詞一個單詞的往回跳, 在前面加
n
可以跳n個單詞。
行尾行首
:
$
跳動當前行尾,
^
跳到當前行首
檔案首尾
:
G
跳到檔案末尾,
gg
跳到檔案開頭,
nG
跳到第n行
括號匹配
:
%
跳到與之匹配的括號位置
刪除文字
:
x
刪除當前字元,
dd
刪除當前行,
cc
鍵刪除當前行並自動進入Insert模式,
ndd
刪除當前及後面的n行,
D
刪除游標到末尾的元素,
:a,bd
刪除a-b行文字內容
查詢和替換
:
/查詢內容
進行查詢,
:g/a1/a2/g
將文字中所有的a1用a2替換。
複製和貼上
:
y
複製當前字元,
yy
複製當前行,
nyy
複製n行,
p
貼上
撤銷與反撤銷
:
u
撤銷一次,
U
撤銷對該行文字做的所有操作,
ctrl+r
反撤銷一次
儲存退出
:
q
直接退出,
wq
儲存退出,
w
儲存但不退出, 後面加
!
強制的意思。
“w!”
和
“wq!”
等類似的指令,通常用於對檔案沒有寫許可權的時候(顯示 readonly),但如果你是檔案的所有者或者 root 使用者,就可以強制執行。
3。3 Vim多視窗編輯
編輯檔案的時候,可能參考另一個檔案,如果兩個檔案切換比較繁瑣,可以Vim同時開啟兩個檔案。
命令列輸入
:vs第二個檔案目錄
, 回車, 此時垂直切分成兩個視窗。
Ctrl+ww
進行兩個視窗的切換。
3。4 Vim批次註釋
這個也是非常常用的,不操作滑鼠,直接透過命令來
連續行註釋:
:1,10s/^/#/g
1-10行行首加“#”註釋,
^
表示行首,
g
表示執行替換時不詢問確認。如果是取消,
1,10s/^#//g
c++和Java的註釋用到//, 此時需要轉義。
1,10s/^/\/\//g
註釋1-10行
是否顯示行號:
set nu
與
set nonu
目前我用到的Vim常用操作就是這些了, 如果再遇到新的,會繼續補充。
文章推薦
超棒!這 8 個 Python 裝飾器值得一試!
丟掉 Pycharm,這款輕量級神器值得擁有!
超詳細!Python 製作一個優雅的詞雲其實特簡單!
比正則快M倍以上!Python 替換字串的新姿勢!
值得收藏!這 100 個 Python 實戰小專案真棒!
作為 Python 開發者,這21個 Linux 命令值得去學習!
機器學習模型這 3 個調優改進策略,真的很棒!
Python異常還能寫得如此優雅!
VS Code 1。61 重磅釋出!儘快嘗試新功能!
動手實戰!《長津湖》為什麼這麼火爆?我用 Python 來分析!
太強了,用 Python+Excel 製作天氣預報表!
用 Python 製作一個視覺化大屏,其實特簡單!
遇見神器!cufflinks:一款美不勝收的 Python 視覺化工具包!
妙不可言!Mito:一款超級棒的 JupyterLab 擴充套件程式!
微軟出品!FLAML:一款可以自動化機器學習過程的神器!
整理不易,有所收穫,點個贊和愛心
❤️,
更多精彩歡迎關注