<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          項目開發(fā)神器VsCode配置指南!(含C++、Python、Java環(huán)境配置)

          共 8499字,需瀏覽 17分鐘

           ·

          2021-10-26 04:40

          VSCode?


          作者:吳忠強

          轉自:Datawhale

          本篇文章雖然是VsCode掛名,但其實介紹了兩款神器: Vscode和Vim, 這兩個結合起來,開發(fā)效率蹭蹭蹭!!!

          之前接觸過VsCode但很少用。總感覺寫Python不如pycharm香,還得安裝各種插件。但最近實習中,發(fā)現(xiàn)在項目上有一些較為龐大的推薦架構項目,全是c++代碼,后期還要基于項目代碼做架構開發(fā),這就涉及到了寫C++項目,而且好幾個項目一塊看,還要滿足互相跳轉,因為有些變量的定義可能在繼承的父類項目里面

          于是就又接觸回VSCode, 發(fā)現(xiàn)還挺好用,并且插件強大,只用VSCode這一款編譯器,安裝不同的插件就可以開發(fā)不同的項目,比如C++, Java(Scala)和Python項目, 并且還免費。這篇文章來整理下如何用VsCode來寫這三種項目,關鍵是如何進行配置。因為VsCode本質上是一個類似于記事本的編輯器,需要各種插件和環(huán)境輔助運行。

          大綱如下:

          • VsCode基礎小常識(快捷鍵,連接服務器,配置vim與Git)

          • VsCode寫C++、Python與Java項目的相關配置

          • Vim的使用

          ▲這就滿足!大家有想看的內容都可以留言

          Ok, let's go!

          01 VsCode必備的基礎知識

          1.1 兩個必備快捷鍵

          關于VsCode是啥,安裝就是常規(guī)的安裝軟件操作。下載下來之后,打開,是英文版,可以打開擴展, 搜Chinese安裝中文包, 界面如下圖:先記住兩個快捷鍵:

          1. command+shift+p: 這個是打開命令交互面板, 在命令面板中可以輸入命令進行搜索(中英文都可以),然后執(zhí)行。命名面板中可以執(zhí)行各種命令,包括編輯器自帶的功能和插件提供的功能。
          2. comand+,: 進入設置,這里可以進行用戶和工作區(qū)的設置,像什么代碼風格,字體風格各種設置都在這里

          這兩個快捷鍵建議記好。

          另外, 這幾個常用的快捷鍵最好也知道:

          1.2 安裝code

          安裝后打開命名面板Command+Shift+P,搜索shell命令,點擊在PAth中安裝code命令,然后在上面菜單欄里面點擊終端,開啟一個新終端。在這里面使用code命令打開文件或文件夾

          code?項目地址或者文件名??#?vscode?就會在新窗口中打開該項目或者文件

          如果你希望在已經(jīng)打開的窗口打開文件,可以使用-r參數(shù), 當然也可以菜單欄文件然后open項目,但感覺還是有些麻煩。

          1.3 連接遠程服務器開發(fā)

          這個也是需要掌握的必備技能了, 畢竟我們本地的機器啥配置自己清楚, 項目往往都放到服務器上, 而這個就保證了在自己電腦上遠程打開服務器的項目并開發(fā)。

          這個需要安裝插件Remote-SSH, command+shift+x打開安裝。安裝完了之后,左下角綠色的地方點擊,然后選擇connect to host,輸入IP和用戶名添加即可, 這樣就鏈接到了遠程服務器。

          1.4 安裝Vim,使得開發(fā)更高效

          如果vs code上安裝vim插件,那么寫代碼就可以采用vim的方式了, 各種便捷式命令使得開發(fā)更加高效。插件搜vim安裝,然后點擊vim插件,就會看到vim插件的安裝說明, 在安裝說明里面把第一行在命令行執(zhí)行:

          defaults?write?com.microsoft.VSCode?ApplePressAndHoldEnabled?-bool?false

          然后需要在setting.json中把vim的配置復制進去即可, 這樣就變成了vim編輯器, 然后就能進行vim的各種騷操作了。setting.json文件在哪里??command+,進入設置, 然后上面搜索框輸入: Run Code Configuration, 在查找的結果中,如果發(fā)現(xiàn)setting.json編輯即可。

          下面那段拷貝到setting.json中, 這樣就會發(fā)現(xiàn)進入了vim編輯模式。常用的vim命令還是要會的, 開發(fā)更加高效。這個統(tǒng)一整理到最后面, 借著這次,順便也復習下Vim的使用, Linux下簡直神器。

          1.5 配置Git

          這個功能我目前沒用到, 因為我一般喜歡命令行直接Git相關操作,等具體用到了再補充。可以先參考https://blog.csdn.net/weixin_42280089/article/details/88937175

          ok, 幾個必備知識搞定之后, 就可以開發(fā)項目了, 其它功能等用到了可以現(xiàn)查。

          02 VsCode寫三大編程項目的相關配置

          2.1 VsCode寫C++項目的配置

          這里記錄C++項目開發(fā)的相關配置,先安裝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中創(chuàng)建一個新的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++文件。

          1. 交互面板,輸入task
          2. 選擇tasks: Configure Default Build Task
          3. 選擇Create tasks.json file from template
          4. 選擇Others, 會在.vscode下面自動創(chuàng)建tasks.json,在編輯器中打開
          5. 進行如下配置
          {
          ????"version":?"2.0.0",
          ????"tasks":?[
          ??????{
          ????????"label":?"Build?with?Clang",?//這個任務的名字在launch.json最后一項配置
          ????????"type":?"shell",
          ????????"command":?"clang++",
          ????????"args":?[
          ??????????"-std=c++17",
          ??????????"-stdlib=libc++",
          ??????????"-g",
          ??????????//?生成調試信息,GUN可使用該參數(shù)
          ??????????"${file}",
          ??????????//?file指正在打開的文件
          ??????????"-o",
          ??????????//?生成可執(zhí)行文件
          ??????????"${fileDirname}/${fileBasenameNoExtension}"
          ??????????//?fileDirname指正在打開的文件所在的文件夾
          ??????????//?fileBasenammeNoExtension指沒有擴展名的文件,unix中可執(zhí)行文件屬于此類
          ????????],
          ????????"options":?{
          ??????????"cwd":?"${workspaceFolder}"
          ????????},
          ????????"problemMatcher":?["$gcc"],
          ????????"group":?{
          ??????????"kind":?"build",
          ??????????"isDefault":?true
          ????????}
          ??????}
          ????]
          ??}
          ??

          這里面需要注意的是第一個label,后面的名字,要和下面這個配置文件名字最后一項保持一致。可行性文件這個保存的是路徑位置。

          接下來, 配置launch.json, 這個是用于使用vscode自帶的debug工具(左側的小蟲圖標)

          1. 交互面板下輸入launch,選擇Debug:Open launch.json
          2. 選擇LLDB
          3. 在.vscode下自動生成launch.json文件, 寫入配置
          {
          ????//?使用 IntelliSense 了解相關屬性。?
          ????//?懸停以查看現(xiàn)有屬性的描述。
          ????//?欲了解更多信息,請訪問:?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就可以進行編譯,然后點擊右上角的執(zhí)行按鈕即可運行程序了。注意,如果改變helloworld.cpp的位置,比如新建個src目錄, 把這個cpp放入src目錄,此時上面的task.json和launch.json相應位置需要做出改變。

          #?task.json
          //?生成可執(zhí)行文件
          "${fileDirname}/src/${fileBasenameNoExtension}"

          #?launch.json
          "program":?"${workspaceFolder}/src/${fileBasenameNoExtension}",

          如果想debug, 就點擊左邊的小蟲子圖標, 然后打斷點, 在左上角再點擊綠色箭頭,就進入debug模式了。到這里為止, C++環(huán)境配置完成。

          在運行過程中,我其實遇到了一個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?msg?{"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.

          這個卡了我好久其實, 上面文章中是沒有寫的, 這個原因解決方法可能有兩個:

          1. 看看插件里面是否安裝了C/C++ Clang Command Adapter, 有的話卸載掉, 這個對我這個沒有用
          2. 進設置,搜Run Code Configuration, 打開setting.json文件, 那里面會有各類語言的執(zhí)行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環(huán)境, 相對簡單。

          首先,按照Python插件, command+shift+x, 然后搜Python即可安裝插件。然后命令行輸入命令:

          mkdir?projects
          cd?projects
          mkdir?hello
          cd?hello
          code?.

          這時候會建立一個hello目錄,如果提示code沒有定義, 先安裝code, 具體方法是command+shift+p, 然后在里面搜shell,就會顯示這條命令,點擊安裝即可。

          在hello里面,建立hello.py文件,這時候基于擴展左下角就會顯示所用的Python版本, 這時候,其實就能簡單運行.py文件了。比如打印個hello world。

          但是如何建立大項目,寫更加復雜的代碼呢?這里可以安裝anaconda, 然后在里面建立虛擬環(huán)境,然后在vscode中指定,就可以寫了。?點擊左下角的Python3.8.2這里。

          我這里有3個anaconda3的環(huán)境,我選Arkrec_env的這個, 這里面專門寫tf相關代碼的,也安裝好了大部分常用的包,點擊選擇即可。如果想寫pytorch代碼,我這里可以選擇第一個。

          左下角就變了環(huán)境。

          2.3 VsCode寫Java項目的配置

          想運行Java項目, 也非常簡單,主要包括三步:

          1. 下載并運行「Extension Pack for Java」;
          2. 下載并運行「JDK」;
          3. 配置「Environment Variable」

          第一步,安裝Extension Pack for Java插件command+shift+x然后輸入這個插件名字, 點擊安裝。

          這哥們其實在為我們安裝了6個Java必備插件:

          1. Language Support for Java(TM) by Red Hat: 運行Java代碼
          2. Debugger for Java: 調試
          3. Java Test Runner: 單元測試
          4. Maven for Java: 在Java環(huán)境下構建應用程序的軟件

          安裝完畢之后.

          第二步,下載并運行「JDK」。「JDK」的全稱是「Java Development Kit」,也就是中文所說的「Java開發(fā)套件」, 這個套件就是我們開發(fā)基于Java語言的軟件所需要的一個工具包。?話不多說,直接操作。

          command+shift+p進入命令窗口,搜索Java Overview, 在右側Configure那里,點擊Configure Java Runtime,通過VSCode默認的「AdoptOpenJDK」下載入口,選擇我們需要下載的「JDK」和「JVM」的版本

          點擊Download進入下載頁面。下載下這個pkg包之后,點擊安裝即可。這時候,Reload Window,然后點擊上面的Installed JDKs, 就會發(fā)現(xiàn)安裝的JDK路徑以及版本。

          第三步,配置「Environment Variable」,也就是中文所說的「環(huán)境變量」。command+,進入設置頁面, 搜索中輸入javahome, 然后點擊

          在這里, 把上面的那個JDK的路徑復制過來即可。

          這樣就可以愉快的寫Java代碼了, 測試下, command+shift+p, 在里面輸入Java: create Project,輸入項目名,在src文件夾中,選擇Run運行Java代碼,控制臺數(shù)據(jù)Hello World則為成功。

          OK, Java配置完成。

          這樣下來, 就把Vscode打造成了能同時開發(fā)Python, C++以及Java項目的神器了, 當然, Vscode還能做更多語言的項目開發(fā), 等后面具體用到了再整理吧, 這玩意輔助上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: 塊可視化模式,該模式下可以選中文本中的一個矩形區(qū)域作為目標文本,以按下 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 用戶,就可以強制執(zhí)行。

          3.3 Vim多窗口編輯

          編輯文件的時候,可能參考另一個文件,如果兩個文件切換比較繁瑣,可以Vim同時打開兩個文件。

          命令行輸入:vs第二個文件目錄, 回車, 此時垂直切分成兩個窗口。Ctrl+ww進行兩個窗口的切換。

          3.4 Vim批量注釋

          這個也是非常常用的,不操作鼠標,直接通過命令來

          • 連續(xù)行注釋: :1,10s/^/#/g 1-10行行首加"#"注釋, ^表示行首, g表示執(zhí)行替換時不詢問確認。如果是取消, 1,10s/^#//g
          • c++和Java的注釋用到//, 此時需要轉義。1,10s/^/\/\//g ?注釋1-10行

          是否顯示行號: set nuset nonu

          目前我用到的Vim常用操作就是這些了, 如果再遇到新的,會繼續(xù)補充。


          往期精彩:

          ?時隔一年!深度學習語義分割理論與代碼實踐指南.pdf第二版來了!

          ?我工作第五年的學習與讀書之法

          ?基于閾值處理的圖像分割算法!

          ?基于邊緣檢測的圖像分割算法!

          瀏覽 46
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费亚洲婷婷 | 日色网| 天天干天天干天天 | 亚洲爱爱网站 | 超碰www |