日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Vscode编辑器:python, C++和Java等项目开发的集大成者(yyds)

發布時間:2024/1/18 python 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vscode编辑器:python, C++和Java等项目开发的集大成者(yyds) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 寫在前面

已經好久沒有寫博客了,不知不覺有點手生, 現在開始恢復博客的更新頻率, 作為恢復的第一篇, 想從實習期間學到的新工具使用入手, 本篇文章雖然是Vscode掛名,但其實想介紹兩款神器: Vscode和Vim, 這兩個結合起來,開發效率會蹭蹭蹭!!!

VsCode的使用,這個是我這兩天剛接觸的,之前也接觸過, 寫Python項目的時候,就接觸過這個編輯器,但總感覺不如pycharm寫Python項目香, 還得安裝各種插件好復雜的樣子。 而最近在項目上需要閱讀一些較為龐大的推薦架構項目,全是cpp代碼,并且后期還要基于項目代碼做一些推薦架構開發工作,這就涉及到了寫C++項目。 一開始讀代碼感覺JetBrains的全家桶中Clion挺好,并且和pycharm一樣的風格,用起來也比較順手。 結果發現這玩意有個弊端,就是不同項目之間沒法跳轉, 對于項目代碼閱讀不友好。這里說的是不同項目之間,Clion在一個項目內部是可以和pycharm一樣跳的, 但一般我們下載一個cpp項目, 往往需要進行編譯,此時會把所用到的依賴都下載下來,這時候就往往有一些繼承性的項目被下載到。 我們讀的時候呢?可能需要好幾個項目一塊看,并且希望能互相跳轉, 因為有些變量的定義可能在繼承的父類項目里面。 這個在Clion里面沒找到好的方式,還得手動來回切換太麻煩。

于是就又接觸回VSCode, 花了一下午時間完成C++配置相關工作,并學習了一些提高開發效率的知識,發現還挺好用的,并且插件非常強大,可以只用這一款編譯器,安裝不同的插件就可以開發不同的項目,比如C++, Java(Scala)和Python項目, 并且還免費, 由于我目前最常用的語言就是這三種,涉及的項目也是這三種。 所以呢? 這里打算寫一篇文章來整理下如何用VsCode來寫這三種項目,關鍵是如何進行配置(后續再遇到其它語言的項目,繼續補充),因為VsCode本質上其實就是一個類似于記事本的編輯器, 如果沒有各種插件和環境輔助,那就只能寫寫代碼且無法運行,所以如果想開發各種項目,得事先需要配置才行。

由于我對這東西,也就剛摸索了一下午的時間, 所以學到了多少,整理多少,后面如果再學到新的操作,會在這篇文章繼續補充。 我也是參考了人家很多文章之后才敢總結,我下面的操作都是在Mac上親自走了一遍, 把坑趟完了。

大綱如下

  • VsCode基礎小常識(兩個快捷鍵, 連接遠程服務器,配置vim, 配置Git)
  • VsCode寫C++項目的相關配置
  • VsCode寫Python項目的相關配置
  • VsCode寫Java項目的相關配置
  • Vim的使用

Ok, let’s go!

2. VsCode必備的基礎知識

2.1 兩個必備快捷鍵

關于VsCode是啥,具體怎么安裝這里不會整理, 官網下載,常規的安裝軟件操作。下載下來之后,打開,是英文版,可以打開擴展, 搜Chinese安裝中文包, 界面如下圖:

先記住兩個快捷鍵:

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

  • 這兩個快捷鍵建議記好。

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

    2.2 安裝code

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

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

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

    2.3 連接遠程服務器開發

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

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

    2.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下簡直神器。

    2.5 配置Git

    這個功能我目前沒用到, 因為我一般喜歡命令行直接Git相關操作,等具體用到了再補充。可以先參考這篇博文

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

    2.6 幾個好用的插件記錄

    這里記錄下常用的幾個好用插件(ctrl+shift+x 搜索安裝即可)

    • Python extension for Visual Studio Code: python擴展包, 很多python代碼的增強功能,代碼分析,高亮,規范化
    • Python Snippets: 內置了很多代碼片段
    • Python Type Hint: 對類型提供自動提示功能
    • LiveCode: 實時展示變量值,并檢測print進行打印
    • Better Comments:寫注釋的插件, 支持# todo語法高量等
    • autoDocstring: 自動生成函數注釋格式,寫函數注釋很方便
    • Code Spell Checker: 單詞拼寫檢查
    • vscode-icon: 不同的文件展示不同的圖標,方便快速識別文件類型
    • Rainbow Brackets: 不同括號用不同顏色顯示
    • codeTime: 監控和統計寫代碼的時間
    • gitLens和githistory: 查看提交記錄,顯示提交作者信息和修改信息(必備)
    • jupyter: 支持jupyter,快速測試代碼, ctrl+shift+p, 調出命令行,然后輸入jupyter 可以新建筆記本文件

    3. 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指正在打開的文件 如果是多文件編程,這里的${file}改成${filename}\\*.cpp"-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 declarationvector<string> 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.

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

  • 看看插件里面是否安裝了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++環境配置完成。

    有小伙伴反映說,有沒有Windows的配置啊? 下面這個是Windows的配置過程, 我在我電腦上走了一遍, 也整理下。參考的這篇文章

  • 首先,在Windows上線安裝編譯器, 這里我用的MinGW-w64, 直接在這里下載安裝包,然后解壓到C:\下面。即C:\mingw64目錄。
  • 然后,把上面目錄里面的bin文件加入到環境變量里面去,這時候, 打開命令行,輸入g++ --version,就能看到對應版本,說明安裝成功。
  • 這樣, 編譯器安裝完成,下面在vscode進行配置,依然是上面那三個文件, 這里的布局模式和上面一樣:

    這里和上面不一樣的,就是這三個配置文件內部的內容, 我這里的配置如下:

    • c_cpp_properites.json:

      {"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"compilerPath": "C:\\mingw64\\bin\\g++.exe","cStandard": "c11","cppStandard": "c++17","intelliSenseMode": "clang-x86"}],"version": 4 }
    • task.json:

      {// See https://go.microsoft.com/fwlink/?LinkId=733558// for the documentation about the tasks.json format"version": "2.0.0","tasks": [{"label": "g++.exe build active file","type": "shell","command": "C:\\mingw64\\bin\\g++.exe","args": ["-g","${file}", // 如果是多文件編程, 這里的${file}改成${filename}\\*.cpp"-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "C:\\mingw64\\bin"},"problemMatcher": ["$gcc"],"group": "build"},{"type": "shell","label": "C/C++: g++.exe build active file","command": "C:\\mingw64\\bin\\g++.exe","args": ["-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "C:\\mingw64\\bin"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true}}] }
    • launch.json:

      {// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "g++.exe build and debug active file","type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}],"preLaunchTask": "g++.exe build active file"}] }

    這里面比較關鍵的g++.exe和gdb.exe的路徑位置。 其他的采用默認就好。

    4. VsCode寫Python項目的相關配置

    寫大項目還是建議pycharm, yyds, 而如果寫一些小demon啥的, 可以使用vscode了,這個配置起來,寫代碼項目也非常方便, 配置Python環境, 相對簡單。

    首先,按照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, 然后在里面建立虛擬環境,然后在vscode中指定,就可以寫了。 點擊左下角的Python3.8.2這里。

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

    左下角就變了環境。

    4. VsCode寫Java項目的相關配置

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

  • 下載并運行「Extension Pack for Java」;
  • 下載并運行「JDK」;
  • 配置「Environment Variable」
  • 首先,就是安裝Extension Pack for Java插件, command+shift+x然后輸入這個插件名字, 點擊安裝。

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

  • Language Support for Java? 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, 項目學習起來也是非常香的哈哈。

    5. Vim使用小記

    由于目前我對Vim也是只了解到了些皮毛, 所以只整理些關于vim常用的操作,記好這些操作,在實際寫代碼中還是有很大幫助的。

    5.1 三種模式切換

    首先,三種模式切換必備:

    • 從Normal模式到Insert模式(寫代碼模式),esc鍵從編輯模式退回到Normal模式
    • 從Normal模式到命令行模式, ":", 反之esc, 命令行里面輸入:行號,直接跳到相應行
    • 從Normal模式到visual模式, v鍵, 反之esc, 這個模式類似于我們用鼠標選中文本的操作。
      • v: 字符可視化模式,此模式下目標文本的選擇是以字符為單位的,也就是說,該模式下要一個字符一個字符的選中要操作的文本。
      • V: 行可視化模式,此模式化目標文本的選擇是以行為單位的,也就是說,該模式化可以一行一行的選中要操作的文本
      • Ctrl+v: 塊可視化模式,該模式下可以選中文本中的一個矩形區域作為目標文本,以按下 Ctrl+v 位置作為矩形的一角,光標移動的終點位置作為它的對角

    visual模式下面復制粘貼操作等都能使用

    5.2 必備命令

    vim最常用的就是Normal模式, 關于文本編輯,有一些命令需要記住,這些命令我把他分成了幾個維度來記憶。vim核心功能就是文本編輯,所以文本編輯的話,我們可以從增,刪,改,查,復制,粘貼幾個維度去學習一些常用的快捷鍵。

    • 光標移動(查)

      • 字符跳: 控制光標移動: h, j, k, l四個鍵分別是左, 下,上, 右, 這個是一個字符一個字符的跳, 多練習記住,就不用方向鍵了,熟悉之后賊高效。
      • 單詞跳: w(word): 一個單詞一個單詞的跳 ,b(back word): 一個單詞一個單詞的往回跳, 在前面加num可以跳num個單詞, e跳到單詞的尾部
      • 行尾行首: $跳動當前行尾, ^跳到當前行首
      • 文件首尾: G 跳到文件末尾, gg跳到文件開頭, num+G跳到第num行
      • 括號匹配: %跳到與之匹配的括號位置
    • 增(insert)

      • i/I鍵(Insert): 當前位置插入/行首插入
      • a/A鍵(append): 當前位置的下一個位置/行尾插入
      • o/O鍵(open a line): 下行插入/上行插入
    • 刪(delete)

      • dd(delete): 刪除當前行
      • dj: 刪除當前行+下一行(中間還可以加num), d5j
      • dk: 當前行+上一行(中間還可以加num),比如d3k
      • dh: 刪除左邊字符, 可以加num
      • dl: 刪除右邊字符, 可以加num
      • daw: 刪除當前單詞
      • x: 刪除當前字符
      • D刪除光標到末尾的元素
    • 改(change)

      • caw: 修改當前單詞
      • ct): 修改到)
    • 查(find)

      • fs: 查找當前行的s, 再使用,查找下一個s
      • /查找內容進行查找單詞,n跳到下一個,:g/a1/a2/g將文本中所有的a1用a2替換。
    • 復制(yank)和粘貼(past)

      • y復制當前字符
      • yy復制當前行
      • yj: 復制當前行+下一行, 還可以加num, 其他方向鍵同理
      • p粘貼
    • 撤銷(undo)與反撤銷(redo):

      • u撤銷一次, U撤銷對該行文本做的所有操作
      • ctrl+r反撤銷一次
    • 保存退出: q直接退出, wq保存退出, w保存但不退出, 后面加!強制的意思。"w!" 和 "wq!" 等類似的指令,通常用于對文件沒有寫權限的時候(顯示 readonly),但如果你是文件的所有者或者 root 用戶,就可以強制執行。

    5.3 Vim多窗口編輯

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

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

    5.4 Vim批量注釋

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

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

    是否顯示行號: set nu 與set nonu
    set mouse=r,此時可以進行選中復制到粘貼板

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

    總結

    以上是生活随笔為你收集整理的Vscode编辑器:python, C++和Java等项目开发的集大成者(yyds)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。