歡迎關注個人公衆號:大齡碼農的Python之路(gl-1573)python
本文基於 VS Code 1.36.1編程
VS Code 裏是不包括 Python 的,因此你首先得安裝一個 Python。bash
安裝完 python 以後,咱們能夠用任何一個文本編輯工具開始寫 python 代碼,而後在 cmd 中運行代碼。機器學習
在 VS Code 中,在不安裝任何插件的狀況下,也能夠運行 python 代碼。ide
新建一個 test.py 文件,輸入 print('Hello World!')
。工具
點擊 查看 -> 終端(快捷鍵 Ctrl + `)打開終端,輸入 python test.py
便可運行,跟在 cmd 中運行 python 代碼是同樣的。學習
在不安裝插件的狀況下,點擊 調試 -> 啓動調試(快捷鍵 F5)是沒辦法運行代碼的。會讓你選擇環境,而你根本就沒有環境可選。測試
在 VS Code 的應用商店(快捷鍵:Ctrl + Shift + X)裏搜索 Python 插件,並安裝。以下圖:編碼
按 Ctrl + Shift + P(或F1),在打開的輸入框中輸入 Python: Select Interpreter
搜索,選擇 Python 解析器。spa
選擇好解析器以後,咱們就能夠直接在 VS Code 裏運行(快捷鍵 Ctrl + F5)或調試(快捷鍵 F5)Python 代碼了。
Python 最強大的就是外部庫了,在 PyCharm 中,能夠在 Settings 中查看、搜索、安裝。那麼在 VS Code 中如何安裝呢?
上文中提到,能夠在終端直接運行 .py 文件,其實,終端就至關於命令提示符(cmd),因此直接在終端輸入相應命令就能夠了。
查看已安裝包列表:
pip list
複製代碼
安裝外部庫:
pip install xxx
複製代碼
注意:當本機安裝了多個 Python 解析器的時候,pip 可能並不會安裝到當前解析器目錄下。這個我測試屢次後發現,應該是跟環境變量中的順序有關,會安裝到環境變量中最靠前的解析器的目錄下。
VS Code 中的代碼補全插件是 Visual Studio IntelliCode。一樣經過應用商店安裝。
Visual Studio IntelliCode 是一套 AI 輔助功能,可經過上下文智能感知,代碼樣式的推理和執行等功能提升開發人員的工做效率。
IntelliCode 經過使用通過數千個公共代碼庫培訓的機器學習模型生成建議,並且會隨着你編寫代碼的增加,從而變得更加準確。它會根據上下文給出編程建議,而不是簡單根據字母排序推薦 API。
最重要的 IntelliCode 已經支持 Python。安裝之後,能夠有智能提示了。
PyCharm 自帶代碼檢查工具,而 VS Code 中是沒有的。
當你新建 .py 文件,開始寫代碼的時候,右下角可能會跳出個這個(老版本會,新版本不會了):
Pylint 是一個 Python 代碼檢查工具。須要經過 pip 安裝。
打開設置,添加以下設置:
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
複製代碼
而後對於不符合規範的代碼,就會有波浪線提示了。
在 VS Code 1.36.1 版本,貌似不設計
python.linting.enabled": true
也能夠。
flake8 是由 Python 官方發佈的一款輔助檢測 Python 代碼是否規範的工具,相對於目前熱度比較高的 Pylint 來講,Flake8 檢查規則靈活,支持集成額外插件,擴展性強。Flake8 是對下面三個工具的封裝:
官方文檔地址:pypi.python.org/pypi/flake8…
yapf 是一個代碼格式化的工具。
經過 pip 安裝好 Flake8 和 Yapf 後,進行以下配置。
"python.linting.enabled": true,
"python.linting.pylintEnabled": false,
"python.linting.flake8Enabled": true,
"python.formatting.provider": "yapf",
複製代碼
若是裝了 pylint 的話,要設置其
Enabled = false
,不然不用。
安裝好以後,咱們在代碼文件中(.py)中右鍵,選擇格式化文檔,就能夠自動的進行代碼格式化了。
代碼檢查工具雖好,但有些嚴格的檢查並不符合咱們的習慣,例如 flake8 默認一行的最大字符數是 79 個,超過就會顯示波浪線提示你代碼太長了。
79 個字符實在是過短了,咱們能夠把它改長一點,增長以下配置,把最大長度設爲 128 個字符。
"python.linting.flake8Args": ["--max-line-length=128"],
複製代碼