手把手教你在VSCode中怎麼格式化程式

2022-02-14 22:00:15
Visual Studio Code中怎麼格式化程式?本篇文章手把手帶大家瞭解並掌握中格式化程式的方法,希望對大家有所幫助!

Visual Studio Code 中的所有語言都可以使用其中一種自動格式化程式進行格式化,並且 Python 擴充套件還支援 linter。【推薦學習:《》】

整理和格式化

Linter 和格式化程式執行不同的任務:

  • 一個格式化將改變你的程式碼看起來而不是它是如何工作。
  • 一個棉短絨會警告你程式碼的符合標準的風格,型別遵守,安全性,以及一系列的最佳實踐。

Python 擴充套件支援許多第三方 linter,它們通常執行不同的工作。例如,Bandit是針對安全漏洞的linter,Flake8是針對風格指南合規性的linter

Python 擴充套件還附帶語言伺服器工具,它通過從您的程式碼和您使用的庫載入介面(方法、函數、類)來執行分析。

在編寫本教學時,Visual Studio Code 上 Python 的最新和最偉大的語言伺服器擴充套件是Pylance。

設定 Pylance

Pylance 是一個在 Visual Studio Code 中與 Python 一起工作的擴充套件,以提供更深入的語言支援和 Python 程式碼的內省。Pylance 將提供自動完成、自動模組匯入、更好的程式碼導航、型別檢查等等

要獲取 Pylance,請轉到側欄上的「*擴充套件」*選單並搜尋Pylance( ms-python.vscode-pylance)。

注意: Pylance 現在與 Python 擴充套件捆綁在一起,因此您可能已經安裝了它。

安裝 Pylance 後,您可能需要在使用者設定中更改兩個預設設定設定,以充分利用擴充套件。

要更改的第一個設定是型別檢查模式,您可以使用它來指定執行的型別檢查分析的級別:

"python.analysis.typeCheckingMode": "basic"

預設情況下,型別檢查模式設定為"off"

其他選項是"basic""strict"。使用"basic",執行與型別檢查無關的規則和基本型別檢查的規則。如果模式設定為"strict",它將以最高錯誤嚴重性執行所有型別檢查規則。將此設定"basic"為在嚴格和禁用之間取得平衡。

另一個預設設定是python.analysis.diagnosticMode。預設情況下,Pylance 將僅檢查當前開啟的檔案。將此設定更改為workspace將檢查工作區中的所有 Python 檔案,在資源管理器檢視中為您提供錯誤和警告列表:

1.png

僅當您有一些 RAM 可用時才應設定python.analysis.diagnosticMode"workspace",因為它會消耗更多資源。

當 Pylance 具有有關用作方法和函數的引數的型別以及返回型別的資訊時,它是最有效的。

對於外部庫,Pylance 將使用typeshed來推斷返回型別和引數型別。Pylance 還為一些最流行的資料科學庫提供了型別存根和智慧,比如 pandas、Matplotlib、scikit-learn 和 NumPy。如果您正在使用 Pandas,Pylance 將為您提供常見功能和模式的資訊和範例:

2.png

對於在 typeshed 上沒有型別存根的庫,Pylance 會盡力猜測型別是什麼。否則,您可以新增自己的型別存根。

在儲存時設定格式和 Lint

格式化檔案是將格式應用於 VS Code 中的任何檔案的操作。對於Python擴充套件,這個動作執行"python.formatting.provider",其可設定為任何支援自動格式化的:"autopep8""black""yapf"

在 中設定格式化程式後settings.json,您可以將格式化程式設定為在儲存檔案時自動執行。在 VS Code 設定中,您可以將編輯器設定設定為僅適用於某些檔案型別,方法是將它們放在一個"[<file_type>]"組中:

...
"[python]": {
    "editor.formatOnSave": true,
},

隨著格式化程式的執行,您還可以按字母順序組織匯入語句,並通過將標準庫模組、外部模組和包匯入分成具有以下設定的組:

"[python]": {
    ...
    "editor.codeActionsOnSave": {"source.organizeImports": true},
},

與格式化不同,linting 特定於 Python 擴充套件。要啟用 linting,請通過Python: Select Linter在命令面板上執行來選擇一個 linter 。您還可以在設定中啟用一個或多個 linter。例如,要啟用 Bandit 和 Pylint linters,請編輯您的settings.json

...
"python.linting.enabled": true,
"python.linting.banditEnabled": true,
"python.linting.pylintEnabled": true,

要在儲存檔案時執行啟用的 linter,請將以下設定新增到settings.json

...
"python.linting.lintOnSave": true,

您可能會發現啟用多個 linter 很有幫助。請記住,Pylance 已經提供了您可以從 pylint 獲得的許多見解,因此您可能不需要同時啟用 pylintPylance。相比之下,Flake8 提供了 Pylance 沒有涵蓋的風格反饋,因此您可以將這兩者結合使用。

在 Visual Studio Code 中測試 Python 程式碼

Python 提供了大量工具來測試您的程式碼。VS Code 的 Python 擴充套件支援最流行的測試框架,unittest以及pytest.

設定測試整合

要啟用對 Python 的測試支援,請Python: Configure Tests從命令面板執行該命令。VS Code 將提示您從受支援的測試框架之一中進行選擇,並指定包含您的測試的資料夾。

此嚮導將設定選項新增到.vscode/settings.json

"python.testing.pytestEnabled": true,
"python.testing.pytestArgs": [
    "tests"
],

您可以python.testing.<framework>Args使用首選的測試框架進行編輯以新增任何其他命令列標誌。上面的範例顯示了 pytest 的設定選項。

如果您有更復雜的 pytest 設定,請將它們pytest.ini而不是 VS Code 設定放入。這樣,您就可以使設定與任何自動化測試或CI/CD工具保持一致。

執行測試

為測試執行器設定測試框架和引數後,您可以通過Python: Run All Tests從命令面板執行命令來執行測試。這將使用設定的引數啟動測試執行器,並將測試輸出放入Python 測試紀錄檔輸出面板:

3.png

測試發現完成後,每個測試用例都將有一個內聯選項來執行或偵錯該用例:

4.png

失敗的測試將被標記為有錯誤。您可以在Python 測試紀錄檔面板中以及通過將滑鼠懸停在程式碼中失敗的測試用例上來檢視測試執行器的失敗:

5.png

如果您經常執行測試,則可以使用testing explorer改善 VS Code 中的測試體驗。

要啟用測試面板,請右鍵單擊側欄並確保選中測試。測試面板顯示了 Python 擴充套件發現的所有測試,併為您提供了許多功能:

6.png

您可以直觀地表示測試套件分組以及哪些測試失敗。您還可以使用選單按鈕執行和偵錯測試。

VS Code 的測試系統功能強大,但預設情況下禁用了許多功能以使其成為輕量級編輯器。除了測試之外,您可能還希望從 VS Code 內部定期執行其他任務。這就是任務系統的用武之地。

使用 Visual Studio Code 任務系統

Visual Studio Code 支援 Go、Rust 和 C++ 等編譯語言,以及 Python 和 Ruby 等直譯語言。VS Code 有一個靈活的系統來執行使用者定義的設定任務,比如構建和編譯程式碼。

Python 程式碼通常不需要提前編譯,因為 Python 直譯器會為您做這件事。相反,您可以使用任務系統來預先設定您將在命令列中執行的任務,例如:

  • 構建輪子或原始碼分發
  • 在 Django 等框架中執行任務
  • 編譯 Python C 擴充套件

VS Code 任務是可以使用命令面板按需執行的命令或可執行檔案。有兩個內建的預設任務:

  • 構建任務

  • 測試任務

請注意,您可以將任務用於可能通過命令列執行的任何內容。您不僅限於構建和測試活動。

使用任務編譯輪子

如果您有一個setup.py檔案來構建要在 PyPI 上分發的包,則可以使用任務系統自動構建源(Python)和二進位制(編譯的 Python)分發包。

任務在.vscode/tasks.json檔案中定義。要試用它,請建立.vscode/tasks.json並複製此設定:

 1{
 2  "version": "2.0.0",
 3  "tasks": [
 4    {
 5      "type": "shell",
 6      "command": "${command:python.interpreterPath}",
 7      "args": ["setup.py", "bdist_wheel", "sdist"],
 8      "isBackground": true,
 9      "options": {"cwd": "${workspaceFolder}"},
10      "label": "Build Wheel",
11      "group": {
12        "kind": "build",
13        "isDefault": true
14      }
15    }
16  ]
17}

在這個例子中有幾件事情需要注意,所以你將逐行檢視最重要的設定:

  • **第 5 行:**任務型別是shell,它指定這應該在您設定的 shell 下執行。
  • **第 6 行:**命令是${command:python.interpreterPath},它是此環境的 Python 直譯器的內建變數。這包括任何啟用的虛擬環境。
  • **第 9 行:**該選項"options": {"cwd": "${workspaceFolder}"}指定這應該在專案的根目錄下執行。如果需要,您可以將其更改為子資料夾。
  • **線11〜13:**將"group"被設定為"build",而這個任務將成為預設的工作,因為你設定"isDefault"true。這意味著此任務將作為預設構建任務執行。

要執行預設構建任務,您可以Tasks: Run Build Task從命令面板執行或使用內建鍵盤快捷鍵Cmd+F9或Ctrl+F9。在「*終端」*索引標籤下,您可以找到構建命令的輸出,該命令的輸出名稱為您指定的任何內容"label"

7.png

您不僅限於構建指令碼。任務系統是 Django 和 Flask 管理命令的一個很好的解決方案。

使用 Django 任務

您是否正在使用 Django 應用程式,並且想要manage.py從命令列自動執行?您可以使用shell型別建立任務。這樣,您可以manage.py使用要執行的 Django 子命令以及任何引數來執行:

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "command": "${command:python.interpreterPath}",
      "args": ["manage.py", "makemigrations"],
      "isBackground": true,
      "options": {"cwd": "${workspaceFolder}"},
      "label": "Make Migrations"
    }
  ]
}

要執行此任務,請使用Tasks: Run Task命令面板中的命令並從列表中選擇Make Migrations任務。

您可以複製此程式碼段並將其貼上到您定期執行的任何 Django 命令中,例如collectstatic.

連結任務

如果您有多個應按順序執行的任務或一個任務依賴於另一個任務,則可以在tasks.json.

擴充套件上的setup.py例子,如果你想先建立自己的包的原始碼分發,你可以新增以下任務tasks.json

...
{
  "type": "shell",
  "command": "${command:python.interpreterPath}",
  "args": ["setup.py", "sdist"],
  "isBackground": true,
  "options": {"cwd": "${workspaceFolder}"},
  "label": "Build Source",
}

在預設構建任務中,您可以新增一個屬性dependsOn以及需要首先執行的任務標籤列表:

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "command": "${command:python.interpreterPath}",
      "args": ["setup.py", "bdist_wheel"],
      "isBackground": true,
      "options": {"cwd": "${workspaceFolder}"},
      "label": "Build Wheel",
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "dependsOn": ["Build Source"]
    }
  ]
}

下次執行此任務時,它將首先執行所有相關任務。

如果您有此任務所依賴的多個任務並且它們可以並行執行,請新增"dependsOrder": "parallel"到任務設定中。

使用任務執行 Tox

現在您將探索tox,這是一個旨在自動化和標準化 Python 測試的工具。Visual Studio Code 的 Python 擴充套件不附帶 tox 整合。相反,您可以使用任務系統將 tox 設定為預設測試任務。

**提示:**如果你希望迅速與TOX開始,然後安裝toxpip並執行tox-quickstart命令:

$ python -m pip install tox
$ tox-quickstart

這將提示您完成建立tox 組態檔的步驟。

要使用您的 tox 設定自動執行 tox,請將以下任務新增到tasks.json

{
  "type": "shell",
  "command": "tox",
  "args": [],
  "isBackground": false,
  "options": {"cwd": "${workspaceFolder}"},
  "label": "Run tox",
  "group": {
      "kind": "test",
      "isDefault": true
  }
}

您可以使用Tasks: Run Test Task命令面板執行此任務,該任務將使用終端索引標籤中的輸出執行 tox :

8.png

如果您有幾個任務並且需要經常執行它們,那麼是時候探索一個很棒的擴充套件了,它在 UI 中新增了一些用於執行設定任務的快捷方式。

使用任務資源管理器擴充套件

該任務瀏覽器擴充套件(spmeesseman.vscode-taskexplorer)新增簡單的使用者介面控制元件執行您的預設定任務。安裝後,任務資源管理器將成為資源管理器檢視中的面板。它會掃描你的專案自動發現的任務npmmakegulp,和許多其他的構建工具。你可以在vscode組下找到你的任務:

9.png

單擊任何任務旁邊的箭頭以執行它,如果您更改了任務的設定,請單擊頂部的重新整理圖示。

在 Visual Studio Code 中偵錯 Python 指令碼

Visual Studio Code 的 Python 擴充套件捆綁了一個強大的偵錯程式,支援本地和遠端偵錯。

執行和偵錯簡單 Python 指令碼的最簡單方法是轉到執行 → 開始偵錯選單並從選擇中選擇Python 檔案。這將使用設定的 Python 直譯器執行當前檔案。

您可以通過單擊行號左側的裝訂線在程式碼中的任何位置設定斷點。當程式碼執行時遇到斷點時,程式碼將暫停並等待指令:

10.png

偵錯程式新增了一個控制元件選單:ContinueStep OverStep IntoStep OutRestartStop Execution

11.png

在左側面板上,您可以執行常見的偵錯操作,例如探索區域性和全域性變數以及 Python 的呼叫堆疊。您還可以設定手錶,您將在下一節中瞭解更多資訊。

設定手錶

監視是在偵錯對談之間持續存在的表示式。當您停止執行並再次開始偵錯時,您將保留上次對談的所有監視。

您可以將變數新增到關注從面板變數通過右鍵單擊一個變數,然後選擇面板新增到關注

您還可以通過單擊*+圖示將任何 Python 表示式新增到監視*列表。表示式可以包含:

  • 小型 Python 表示式,例如 x == 3
  • 函數呼叫,例如 var.upper()
  • 比較

每當遇到斷點時,您都會實時獲得每個表示式的當前結果。當您逐步偵錯對談時,VS Code 還將更新每個手錶的值:

12.png

您可以使用左側的箭頭擴充套件字典和物件等複雜型別。

到目前為止,您已經看到了單個 Python 檔案的偵錯程式,但許多 Python 應用程式都是模組或需要特殊命令才能啟動。

設定啟動檔案

VS Code 有一個用於啟動組態檔的組態檔.vscode/launch.json. VS Code 的 Python 偵錯程式可以啟動任何啟動設定並將偵錯程式附加到它。

**注意:**要檢視即將進行的設定的預期結果,您需要設定一個有效的FastAPI 專案,並在您使用的 Python 環境中安裝非同步Web 伺服器uvicorn。

作為在 VS Code 中使用啟動組態檔的範例,您將探索如何使用 ASGI 伺服器uvicorn啟動FastAPI應用程式。通常,您可能只使用命令列:

$ python -m uvicorn example_app.main:app

相反,您可以在以下位置設定等效的啟動設定launch.json

{
  "configurations": [
    {
      "name": "Python: FastAPI",
      "type": "python",
      "request": "launch",
      "module": "uvicorn",
      "cwd": "${workspaceFolder}",
      "args": [
          "example_app.main:app"
      ],
    }
  ]
}

在這裡,您將"type"設定設定為"python",它告訴 VS Code 使用 Python 偵錯程式。您還設定"module"指定要執行的 Python 模組,在本例中為"uvicorn". 您可以在 下提供任意數量的引數"args"。如果您的應用程式需要環境變數,您也可以使用env引數設定這些變數。

新增此設定後,您應該會在「*執行和偵錯」*面板下找到準備啟動的新啟動設定:

13.png

當您按F5或從頂部選單中選擇Run → Start Debugging時,您設定為首次啟動設定的任何內容都將執行。

如果 VS Code 沒有自動為你選擇正確的 Python 環境,那麼你也可以在你的.vscode/launch.json檔案中宣告一個適當的 Python 直譯器的顯式路徑作為一個選項:

 1{
 2  "configurations": [
 3    {
 4      "name": "Python: FastAPI",
 5      "type": "python",
 6      "python": "${workspaceFolder}/venv/bin/python",
 7      "request": "launch",
 8      "module": "uvicorn",
 9      "cwd": "${workspaceFolder}",
10      "args": [
11          "example_app.main:app"
12      ],
13    }
14  ]
15}

您可以將 Python 直譯器的路徑新增為名稱為 的新條目"python"。在此範例中,直譯器位於venv您在工作區資料夾的根目錄下建立的 Python 虛擬環境中。如果您想使用不同的 Python 直譯器,您可以通過編輯第 6 行中顯示的路徑來定義它的路徑以適合您的設定。

掌握遠端開發

VS Code 支援三種遠端開發組態檔:

  • 容器

  • 通過 SSH 的遠端主機

  • 適用於 Linux 的 Windows 子系統 (WSL)

所有三個選項都由遠端開發擴充套件包 ( ms-vscode-remote.vscode-remote-extensionpack) 提供。您需要安裝此擴充套件包才能在 VS Code 中顯示遠端偵錯功能。

使用容器進行遠端開發

您需要在您的機器上安裝 Docker 執行時才能對容器進行遠端偵錯。如果您還沒有安裝 Docker,可以從Docker 網站下載它。

Docker 執行後,轉到左側導航選單上的遠端資源管理器索引標籤。將Remote Explorer下拉式選單更改為Containers,您將看到一個帶有面板的檢視:

14.png

如果您有全新的 Docker 安裝,則不會填充這些面板。

如果您已經安裝並執行了 Docker 映像,則可能會填充三個面板:

  • **Containers:**一個導航面板,用於顯示此工作區中的開發容器或一些快速啟動步驟的連結

  • **容器的名稱(如果正在執行):**正在執行的容器的屬性和卷安裝

  • **DevVolumes:**可以編輯和掛載以修改程式碼的開發卷列表

例如,如果您按照 VS Code 的容器教學 中概述的步驟安裝了試用開發容器:Python,則您的 VS Code遠端資源管理器索引標籤將在前面提到的面板中顯示正在執行的容器的名稱:

15.png

使用這些面板可以快速管理您的專案所依賴的任何 Docker 容器。

通常,執行遠端容器擴充套件的主要方式有以下三種:

  • 附加到現有的執行容器以進行快速更改

  • 建立.devcontainer/devcontainer.json檔案並將工作區作為遠端容器開啟

  • 執行Remote-Containers: Reopen in Container命令並選擇 Python 3 影象

.devcontainer/devcontainer.json與簡單地開啟容器相比,建立檔案具有顯著的優勢:

如果您計劃在容器和 VS Code 中進行大量工作,那麼花費額外的時間來建立開發容器將是值得的。

**注意:**您可以通過閱讀官方 VS Code 檔案來更詳細地瞭解如何建立開發容器。

開始使用開發容器的一種快速方法是從當前工作區建立它:

  • Remote-Containers: Reopen in Container從命令面板執行命令。

  • 選擇 Python 3,然後選擇所需的 Python 版本。

  • 接受預設的 Node.js 建議版本。

然後 VS Code 將移植您現有的工作區並.devcontainer/devcontainer.json基於DockerfilePython的泛型建立設定。

開發容器有兩個必需的檔案:

  • .devcontainer/devcontainer.json,它指定了所有 VS Code 要求,例如需要哪些擴充套件以及要使用哪些設定

  • Dockerfile, 指定哪些命令將構建環境

在預設設定中,Dockerfile位於.devcontainer/目錄內。如果您的專案已經有一個Dockerfile,您可以通過更改.devcontainer/devcontainer.json.

您將使用裡面的預設值.devcontainer/devcontainer.json來指定:

  • 路徑Dockerfile
  • 容器的名稱
  • 要應用的 VS Code設定
  • 任何需要安裝的VS Code擴充套件
  • 您要執行的任何建立後命令python -m pip install <package>,例如,

如果您的應用程式需要來自 PyPI 的其他包,請更改.devcontainer/devcontainer.json並取消註釋指定的行"postCreateCommand"

{
  ...
  // Use 'postCreateCommand' to run commands after the Container is created.
  "postCreateCommand": "python3 -m pip install -r requirements.txt",
}

如果您正在開發提供網路服務的應用程式(如 Web 應用程式),您還可以新增埠轉發選項。有關完整的選項列表,您可以檢視devcontainer.json參考。

在對Dockerfile或 devcontainer 規範進行更改後,通過右鍵單擊正在執行的容器並選擇Rebuild Container從遠端資源管理器重建容器

16.png

通過這樣做,您將使用對設定和Dockerfile.

除了用於遠端偵錯的遠端開發擴充套件包的擴充套件功能之外,還有一個用於 VS Code 的 Docker 擴充套件。您將在本教學結束時介紹此擴充套件並找到更多功能。

使用 SSH 進行遠端開發

通過Remote-SSH: Open SSH Configuration File在命令面板中執行,您可以開啟本地 SSH 組態檔。這是一個標準的SSH 組態檔,用於列出主機、埠和私鑰的路徑。該IdentityFile選項預設為~/.ssh/id_rsa,因此驗證的最佳方式是私鑰和公鑰對。

這是兩個主機的範例設定:

Host 192.168.86.30
  HostName 192.168.86.30
  User development
  IdentityFile ~/path/to/rsa

Host Test-Box
  HostName localhost
  User vagrant
  Port 2222

儲存組態檔後,遠端資源管理器索引標籤將在SSH 目標下拉選項下列出這些 SSH 主機:

17.png

要連線到該伺服器,請單擊「新視窗中的連線到主機」,這是任何主機右側的圖示。這將開啟一個帶有遠端主機的新 VS Code 視窗。

連線後,單擊資源管理器檢視下的開啟資料夾。VS Code 將顯示一個特殊的資料夾導航選單,顯示遠端主機上的可用資料夾。導航到您的程式碼所在的資料夾,您可以在該目錄下啟動一個新的工作區:

18.png

在這個遠端工作區中,您可以編輯和儲存遠端伺服器上的任何檔案。如果您需要執行任何其他命令,「*終端」*索引標籤會自動設定為遠端主機的 SSH 終端。

使用 WSL 進行遠端開發

適用於 Linux 的 Windows 子系統或WSL是 Microsoft Windows 的一個元件,它使使用者能夠在其 Windows 作業系統上執行任意數量的 Linux 發行版,而無需單獨的虛擬機器器管理程式。

VS Code 支援 WSL 作為遠端目標,因此您可以在 WSL 下為 Windows 執行 VS Code 併為 Linux 開發。

在 VS Code 中使用 WSL 首先需要安裝 WSL。安裝 WSL 後,您需要至少有一個可用的發行版。

在最新版本的 Windows 10 上安裝 WSL 的最簡單方法是開啟命令提示字元並執行:

C:\> wsl --install

--install命令執行以下操作:

  • 啟用可選的 WSL 和虛擬機器器平臺元件
  • 下載並安裝最新的 Linux 核心
  • 將 WSL 2 設定為預設值
  • 下載並安裝 Linux 發行版,可能需要重新啟動機器

在計算機上成功設定 WSL 後,您還需要為 VS Code安裝Remote - WSL ( ms-vscode-remote.remote-wsl)擴充套件。之後,您就可以在 Visual Studio Code 中使用 WSL。

如果您已經在 WSL 中有程式碼,請Remote-WSL: Open Folder in WSL從 VS Code 中的命令面板執行。在 Linux 子系統中為您的程式碼選擇目標目錄。

如果您的程式碼已在 Windows 中籤出,請Remote-WSL: Reopen Folder in WSL從命令面板執行。

遠端資源管理器將記住您設定的 WSL 目標,並讓您從遠端資源管理器檢視中的WSL 目標下拉式選單中快速重新開啟它們:

19.png

如果您想要一個可重現的環境,請考慮建立一個Dockerfile而不是直接在 WSL 主機上工作。

使用資料科學工具

VS Code 非常適合使用 Python 進行應用程式開發和 Web 開發。它還具有一組強大的擴充套件和工具,用於處理資料科學專案。

到目前為止,您主要介紹了 VS Code 的 Python 擴充套件。還有Jupyter Notebooks 擴充套件,它將 IPython 核心和筆電編輯器整合到 VS Code 中。

安裝 Jupyter Notebook 擴充套件

要在 VS Code 上開始使用 Jupyter Notebooks,您需要Jupyter 擴充套件 ( ms-toolsai.jupyter)。

注意: Jupyter Notebooks 支援現在與 Python 擴充套件捆綁在一起,所以如果您已經安裝了它,請不要感到驚訝。

Jupyter Notebooks 支援pip作為包管理器,以及conda來自Anaconda 發行版。

Python 的資料科學庫通常需要用 C 和 C++ 編寫的編譯模組。conda如果您使用大量第三方包,則應將其用作包管理器,因為 Anaconda 發行版已代表您解決了構建依賴項,從而更容易安裝包。

在 VS Code 中開始使用 Jupyter Notebook

在本例中,您將開啟一系列關於波變換的 Jupyter Notebooks 。下載 repo 的.zip/資料夾並解壓縮,或者克隆 GitHub repo並使用 VS Code 開啟它。進一步描述的步驟也適用於包含.ipynb筆電檔案的任何其他工作區。

**注意:**本節的其餘部分使用conda包管理器。如果要使用本節中顯示的命令,則需要安裝 Anaconda。

在 VS Code 中,您可以使用任何現有conda環境。您可以conda從終端為 VS Code建立一個專門的環境,而不是將包安裝到基本環境中:

$ conda create --name vscode python=3.8

建立conda名為的環境後vscode,您可以在其中安裝一些常見的依賴項:

$ conda install -n vscode -y numpy scipy pandas matplotlib ipython ipykernel ipympl

安裝依賴項後,Python: Select Interpreter從 VS Code 命令面板執行命令並搜尋vscode以選擇新conda環境:

20.png

此選擇會將您的 VS Code 設定為使用您conda環境中的 Python 直譯器,vscode.

**注意:**如果conda環境在列表中不可用,您可能需要通過Developer: Reload Window從命令面板執行命令來重新載入視窗。

選擇後,在 VS Code 中開啟筆電並單擊右側的選擇核心按鈕或Notebook: Select Notebook Kernel從命令面板執行命令。鍵入vscode以選擇conda安裝了依賴項的新建立的環境:

21.png

選擇新conda環境作為筆電的核心將使您的筆電能夠存取您在該環境中安裝的所有依賴項。這是執行程式碼單元所必需的。

選擇核心後,您可以執行任何或所有單元格並檢視 VS Code 中顯示的操作輸出:

22.png

筆電執行後,Jupyter 擴充套件將在Jupyter: Variables檢視中提供任何中間變數,例如列表、NumPy 陣列和 Pandas DataFrames

23.png

您可以通過單擊筆電頂部的「*變數」*按鈕或執行Jupyter: Focus on Variables View命令來使該檢視成為焦點。

對於更復雜的變數,選擇圖示以在資料檢視器中開啟資料。

使用資料檢視器

Jupyter 擴充套件帶有一個資料檢視器,用於檢視和過濾 2D 陣列,例如列表、NumPyndarray和 Pandas DataFrames:

24.png

要存取資料檢視器,您可以通過單擊在資料檢視器中顯示變數來展開變數檢視中的複雜變數。此選項由代表複雜變數的行左側顯示的圖示表示:

25.png

資料檢視器支援大型資料集的內聯過濾和分頁。如果您在 Matplotlib 中繪製大型資料集,Jupyter 擴充套件支援Matplotlib 小部件而不是 SVG 渲染。

使用 Rainbow CSV 擴充套件

如果您使用 CSV 或 TSV 輸入資料,有一個名為Rainbow CSV ( mechatroner.rainbow-csv)的有用擴充套件,它使您能夠在 VS Code 中開啟和視覺化CSV 檔案:

26.png

每一列都帶有顏色,讓您可以快速找到丟失的逗號。您還可以通過Rainbow CSV: Align CSV Columns從命令面板執行命令來對齊所有列。

**注意:**如果您正在尋找一個範例 CSV 檔案來試用此擴充套件程式,您可以從紐西蘭政府的官方統計頁面選擇一個CSV 檔案進行下載。

Rainbow CSV 擴充套件還帶有Rainbow Query Language (RBQL)查詢工具,可讓您對 CSV 資料編寫 RBQL 查詢以建立過濾資料集:

27.png

您可以通過Rainbow CSV: RBQL在命令面板中執行來存取 RBQL 控制檯。執行查詢後,您將在新索引標籤中看到作為臨時 CSV 檔案的結果,您可以儲存該檔案並用於進一步的資料分析工作。

在本教學中,您已經為 VS Code 安裝了幾個有用的擴充套件。有很多有用的擴充套件可用。在本教學的最後一部分,您將瞭解一些迄今為止尚未涉及的額外擴充套件,您可能還想嘗試一下。

向 Visual Studio Code 新增獎勵擴充套件

該VS程式碼市場有成千上萬的擴充套件。擴充套件程式的選擇涵蓋了從語言支援、主題、拼寫檢查甚至迷你遊戲的任何內容。

到目前為止,在本教學中,您已經介紹了許多使 Visual Studio Code 中的 Python 開發更強大的擴充套件。最後四個擴充套件是可選的,但可以讓您的生活更輕鬆。

程式碼拼寫檢查器

程式碼拼寫檢查器 ( streetsidesoftware.code-spell-checker)是一個拼寫檢查器,用於檢查變數名稱、字串中的文字和 Python 檔案字串:

28.png

程式碼拼寫檢查器擴充套件將突出顯示任何可疑的拼寫錯誤。您可以更正字典中的拼寫或將單詞新增到使用者或工作區字典中。

工作區字典將位於工作區資料夾中,因此您可以將其檢入 Git。使用者字典在您的所有專案中都保持不變。如果您經常使用的關鍵字和短語很多,您可以將它們新增到使用者詞典中。

碼頭工人

該泊塢擴充套件(ms-azuretools.vscode-docker)可以很容易地建立,管理和偵錯集裝箱式應用程式:

29.png

Docker 擴充套件超出了您之前介紹的 Remote - Containers 擴充套件。它為您提供了一個 UI 來管理影象、網路、容器登入檔、卷和容器。

迅雷使用者端

Thunder Client ( rangav.vscode-thunder-client)是 VS Code 的 HTTP 使用者端和 UI,旨在幫助測試 REST API。如果您正在Flask、FastAPI或Django Rest Framework等框架中開發和測試 API ,您可能已經使用Postman或curl等工具來測試您的應用程式。

在 Thunder Client 中,您可以建立 HTTP 請求並將它們傳送到您的 API、操作檔頭以及設定文字、XML 和 JSON 的有效負載:

30.png

Thunder Client 是 Postman 或 curl 的絕佳替代品,因為您可以直接在 VS Code 中使用它,所以您可以避免在測試和開發 REST API 時在應用程式之間切換。

VS Code Pets

VS Code Pets ( tonybaloney.vscode-pets)是一個有趣的擴充套件,它可以在你的 VS Code 視窗中放置一個或多個小pets:

31.png

您可以自定義pets,自定義它們的環境,並與它們一起玩遊戲。

**注意:**作為本教學的作者,我會說這是一個很棒的擴充套件——但我可能會因為我建立它而有偏見。

這只是市場上擴充套件的一個快照。還有數以千計的其他語言支援、UI 改進,甚至Spotify 整合有待發現。

結論

Visual Studio Code 的 Python 工具發展迅速,該團隊每月都會發布包含錯誤修復和新功能的更新。確保安裝任何新更新,以使您的環境保持最新和最佳狀態。

在本教學中,您已經看到了 Visual Studio Code 中一些更高階的功能、Python 和 Jupyter 擴充套件以及一些額外擴充套件的概述。

你學會了如何:

  • 使用流暢的UI 自定義鍵盤繫結自定義您的使用者介面
  • 通過將測試框架整合到 Visual Studio Code 中來執行和監視 Python 測試
  • 使用 Pylance 和外部 linters 整理和格式化程式碼
  • 通過 SSH 和 Docker****偵錯本地和遠端環境
  • 啟動資料科學工具以使用Jupyter Notebooks

您可以利用這些知識讓自己走上成為 VS Code 高階使用者的軌道。

嘗試使用其中的一些擴充套件並在您處理下一個專案時對其進行測試。您會發現某些 VS Code 功能對您來說比其他功能更有用。一旦您瞭解了一些自定義和擴充套件,您可能會發現自己在 VS Code 檔案中尋找更多甚至編寫您自己的擴充套件!

更多關於VSCode的相關知識,請存取:!!

以上就是手把手教你在VSCode中怎麼格式化程式的詳細內容,更多請關注TW511.COM其它相關文章!