歡迎光臨
每天分享高質量文章

使用 VS Code 進行 Python 程式設計 | Linux 中國

安裝啟用 Python 擴充套件後,VS Code 可以配置成理想的 Python 開發工作環境。本文將介紹一些有用的 VS Code 擴充套件,並配置它們以充分提高 Python 開發效率。
— Clément Verna


致謝
編譯自 | 
https://fedoramagazine.org/vscode-python-howto/
 
 作者 | Clément Verna
 譯者 | idea2act ?共計翻譯:1 篇 貢獻時間:2 天

Visual Studio Code,簡稱 VS Code,是一個開源的文字編輯器,包含用於構建和除錯應用程式的工具。安裝啟用 Python 擴充套件後,VS Code 可以配置成理想的 Python 開發工作環境。本文將介紹一些有用的 VS Code 擴充套件,並配置它們以充分提高 Python 開發效率。

如果你的計算機上還沒有安裝 VS Code,可以參考文章 在 Fedora 上使用 VS Code[1] 來安裝。

在 VS Code 中安裝 Python 擴充套件

首先,為了更方便地在 VS Code 中進行 Python 開發,需要從 VS Code 擴充套件商店中安裝 Python 擴充套件。

Python 擴充套件安裝完成後,就可以開始配置 Python 擴充套件了。

VS Code 透過兩個 JSON 檔案管理設定:

◈ 一個檔案用於 VS Code 的全域性設定,作用於所有的專案
◈ 另一個檔案用於特殊設定,作用於單獨專案

可以用快捷鍵 Ctrl+, (逗號)開啟全域性設定,也可以透過 檔案 -> 首選項 -> 設定 來開啟。

設定 Python 路徑

您可以在全域性設定中配置 python.pythonPath 使 VS Code 自動為每個專案選擇最適合的 Python 直譯器。

  1. // 將設定放在此處以改寫預設設定和使用者設定。

  2. // Path to Python, you can use a custom version of Python by modifying this setting to include the full path.

  3. {

  4.    "python.pythonPath":"${workspaceRoot}/.venv/bin/python",

  5. }

這樣,VS Code 將使用虛擬環境目錄 .venv 下專案根目錄中的 Python 直譯器。

使用環境變數

預設情況下,VS Code 使用專案根目錄下的 .env 檔案中定義的環境變數。 這對於設定環境變數很有用,如:

  1. PYTHONWARNINGS="once"

可使程式在執行時顯示警告。

可以透過設定 python.envFile 來載入其他的預設環境變數檔案:

  1. // Absolute path to a file containing environment variable definitions.

  2. "python.envFile": "${workspaceFolder}/.env",

程式碼分析

Python 擴充套件還支援不同的程式碼分析工具(pep8、flake8、pylint)。要啟用你喜歡的或者正在進行的專案所使用的分析工具,只需要進行一些簡單的配置。

擴充套件預設情況下使用 pylint 進行程式碼分析。你可以這樣配置以使用 flake8 進行分析:

  1. "python.linting.pylintEnabled": false,

  2. "python.linting.flake8Path": "${workspaceRoot}/.venv/bin/flake8",

  3. "python.linting.flake8Enabled": true,

  4. "python.linting.flake8Args": ["--max-line-length=90"],

啟用程式碼分析後,分析器會在不符合要求的位置加上波浪線,滑鼠置於該位置,將彈窗提示其原因。註意,專案的虛擬環境中需要安裝有 flake8,此示例方能有效。

格式化程式碼

可以配置 VS Code 使其自動格式化程式碼。目前支援 autopep8、black 和 yapf。下麵的設定將啟用 “black” 樣式。

  1. // Provider for formatting. Possible options include 'autopep8', 'black', and 'yapf'.

  2. "python.formatting.provider": "black",

  3. "python.formatting.blackPath": "${workspaceRoot}/.venv/bin/black"

  4. "python.formatting.blackArgs": ["--line-length=90"],

  5. "editor.formatOnSave": true,

如果不需要編輯器在儲存時自動格式化程式碼,可以將 editor.formatOnSave 設定為 false 並手動使用快捷鍵 Ctrl + Shift + I 格式化當前檔案中的程式碼。 註意,專案的虛擬環境中需要安裝有 black,此示例方能有效。

執行任務

VS Code 的一個重要特點是它可以執行任務。需要執行的任務儲存在專案根目錄中的 JSON 檔案中。

執行 flask 開發服務

這個例子將建立一個任務來執行 Flask 開發伺服器。 使用一個可以執行外部命令的基本模板來建立新的工程:

編輯如下所示的 tasks.json 檔案,建立新任務來執行 Flask 開發服務:

  1. {

  2.    // See https://go.microsoft.com/fwlink/?LinkId=733558

  3.    // for the documentation about the tasks.json format

  4.    "version": "2.0.0",

  5.    "tasks": [

  6.    {

  7.    "label": "Run Debug Server",

  8.    "type": "shell",

  9.    "command": "${workspaceRoot}/.venv/bin/flask run -h 0.0.0.0 -p 5000",

  10.    "group": {

  11.    "kind": "build",

  12.    "isDefault": true

  13.    }

  14.    }

  15.    ]

  16. }

Flask 開發服務使用環境變數來獲取應用程式的入口點。 如 使用環境變數 一節所說,可以在 .env 檔案中宣告這些變數:

  1. FLASK_APP=wsgi.py

  2. FLASK_DEBUG=True

這樣就可以使用快捷鍵 Ctrl + Shift + B 來執行任務了。

單元測試

VS Code 還支援單元測試框架 pytest、unittest 和 nosetest。啟用測試框架後,可以在 VS Code 中單獨執行搜尋到的單元測試,透過測試套件執行測試或者執行所有的測試。

例如,可以這樣啟用 pytest 測試框架:

  1. "python.unitTest.pyTestEnabled": true,

  2. "python.unitTest.pyTestPath": "${workspaceRoot}/.venv/bin/pytest",

註意,專案的虛擬環境中需要安裝有 pytest,此示例方能有效。


via: https://fedoramagazine.org/vscode-python-howto/

作者:Clément Verna[3] 選題:lujun9972 譯者:idea2act 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

贊(0)

分享創造快樂