Linux中國

使用 VS Code 進行 Python 編程

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

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

在 VS Code 中安裝 Python 擴展

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

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

VS Code 通過兩個 JSON 文件管理設置:

  • 一個文件用於 VS Code 的全局設置,作用於所有的項目
  • 另一個文件用於特殊設置,作用於單獨項目

可以用快捷鍵 Ctrl+, (逗號)打開全局設置,也可以通過 文件 -> 首選項 -> 設置 來打開。

設置 Python 路徑

您可以在全局設置中配置 python.pythonPath 使 VS Code 自動為每個項目選擇最適合的 Python 解釋器。

// 將設置放在此處以覆蓋默認設置和用戶設置。
// Path to Python, you can use a custom version of Python by modifying this setting to include the full path.
{
    "python.pythonPath":"${workspaceRoot}/.venv/bin/python",
}

這樣,VS Code 將使用虛擬環境目錄 .venv 下項目根目錄中的 Python 解釋器。

使用環境變數

默認情況下,VS Code 使用項目根目錄下的 .env 文件中定義的環境變數。 這對於設置環境變數很有用,如:

PYTHONWARNINGS="once"

可使程序在運行時顯示警告。

可以通過設置 python.envFile 來載入其他的默認環境變數文件:

// Absolute path to a file containing environment variable definitions.
"python.envFile": "${workspaceFolder}/.env",

代碼分析

Python 擴展還支持不同的代碼分析工具(pep8、flake8、pylint)。要啟用你喜歡的或者正在進行的項目所使用的分析工具,只需要進行一些簡單的配置。

擴展默認情況下使用 pylint 進行代碼分析。你可以這樣配置以使用 flake8 進行分析:

"python.linting.pylintEnabled": false,
"python.linting.flake8Path": "${workspaceRoot}/.venv/bin/flake8",
"python.linting.flake8Enabled": true,
"python.linting.flake8Args": ["--max-line-length=90"],

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

格式化代碼

可以配置 VS Code 使其自動格式化代碼。目前支持 autopep8、black 和 yapf。下面的設置將啟用 「black」 模式。

// Provider for formatting. Possible options include 'autopep8', 'black', and 'yapf'.
"python.formatting.provider": "black",
"python.formatting.blackPath": "${workspaceRoot}/.venv/bin/black"
"python.formatting.blackArgs": ["--line-length=90"],
"editor.formatOnSave": true,

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

運行任務

VS Code 的一個重要特點是它可以運行任務。需要運行的任務保存在項目根目錄中的 JSON 文件中。

運行 flask 開發服務

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

編輯如下所示的 tasks.json 文件,創建新任務來運行 Flask 開發服務:

{
  // See https://go.microsoft.com/fwlink/?LinkId=733558
  // for the documentation about the tasks.json format
  "version": "2.0.0",
  "tasks": [
    {

      "label": "Run Debug Server",
      "type": "shell",
      "command": "${workspaceRoot}/.venv/bin/flask run -h 0.0.0.0 -p 5000",
      "group": {
          "kind": "build",
          "isDefault": true
       }
    }
  ]
}

Flask 開發服務使用環境變數來獲取應用程序的入口點。 如 使用環境變數 一節所說,可以在 .env 文件中聲明這些變數:

FLASK_APP=wsgi.py
FLASK_DEBUG=True

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

單元測試

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

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

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

注意,項目的虛擬環境中需要安裝有 pytest,此示例方能有效。

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

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

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


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國