如何在VS Code中編寫Python


1、VS Code中安裝Python擴展

是對python語法的支持,還有一些格式化、調試、提示還有jupyter等。

fba25d5e844a39dfa9383608d2a5a56f.png

2、Python文件模板(代碼塊)

在PyCharm中有設置Python文件模板的方法,就是在新建的py文件中,自帶一些編碼格式設置、作者日期標注等等。在VS Code中沒有這個選項,但是有“用戶代碼塊”的功能,也可以實現PyCharm中的這種功能,並且還能實現更豐富的功能。

在左下角點擊【設置】→【用戶代碼塊】,在彈出的搜索筐中選中【python】語言,就會打開“python.json”文件,

d9abd41fd6a3fa5f289cc198dfed5169.png

f4b0c6baca67f78c2e2e195e58ab4d21.png

如下在打開的【python.json】中編輯如下代碼

274fbdb957ed6b4778fdf99067df1e95.png

內容(供復制):

{  "PYHEAD":  {    "prefix": "pyhead",    "body":     [      "#!/usr/bin/env python",      "# -*- coding:utf-8 -*-",      "# @FileName  :$TM_FILENAME",      "# @Time      :$CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND",      "# @Author    :L-RUI",          ]      },}
說明一點,別把我名字復制去不改!

里面的格式,以及“prefix”、“body”都是不可變的,其他的均可自定義。

除此之外,你還可以把其他常用的也編輯成代碼塊,比如方法的定義結構、雙層for循環、if-else結構等。

編輯好進行保存。

新建一個py文件,在其中輸入“pyhead”(上面 json中所定義的),回車,就會得到如下效果。

cfd1b4f0d2c7f8d15045e754b25596bc.gif

3、python環境設置

在左下角,

c688f9bfdf0d66a03709d669179a3de5.png

點擊這里,就能看到目前所有的python環境(可能會多一步,要先點擊選擇 工作空間/文件夾):

1f4c4891bbad1bed3abf408184de8e34.png

選擇需要的環境即可。

4、編寫一個hello wolrd並運行。

編寫代碼很簡單,這里不說了,重點說一下如何運行。

右鍵會看到很多運行方式:

029b835a37c2494f45ef77baa2e59389.png

選擇最基本的【在終端中運行python文件】如下:

fdb6b303a36e785e09756c405537498c.gif

5、斷點調試

打斷點的方法你一定會的。

如何調試呢。

點擊左側的調試,點擊【運行和調試】,在搜索筐中選擇【python file】

9e96a83c8dae88cd6874c776608cd1c0.png

會創建一個【launch.json】,這個是調試所必須的。里面的configurations,就是調試配置。

主要的是“program”,默認是當前文件,就是調試當前選中文件。

你也可以新建一個調試配置(在configurations后面的方括號內,新增一個{name:xx, type:xx……}),修改name屬性,修改program屬性以指定以某個文件作為主入口,這樣就能在左側運行的下拉筐中看到了。

5e1654c3349562cf6579a603e0d4ca58.png

接着點擊左邊的運行調試按鈕,就可以調試了。

e906b2fdc99f08c845548c584f6b607e.png

6、代碼格式化與自動補全

代碼分析與格式化

寫完代碼后,我們通常還需要的是代碼的分析、格式化等。

如果第一次右鍵選擇【格式化文檔】,或者【文檔格式化設置→python】時,會彈出是否要安裝所需的包的選項:

ca1de4dc4464d627643c5d7bc6ce052d.png

解釋一下:autopep8是代碼格式化工具,pylint是代碼分析與提示工具。兩個都是vscode推薦的python包,可以選擇安裝,也可以選擇使用其他的。

我這里都選擇安裝,點擊【yes/install】后,會需要選擇安裝方式用pip還是conda(我裝的anaconda),

37c24b601278ae2cac72b8bdd605f0ab.png

點選后,vs code會在終端創建安裝命令並執行(也可以手動pip install)

5bcfecb4c264d666523978ebe1a3ef2e.png

安裝完之后,基本就能正常的開始編寫代碼了。

如果你想安裝其他的代碼分析提示工具,比如flake8,打開用戶設置【setting.json】文件,

添加上【"python.linting.flake8Enabled": true,】,就會在右下角彈出是否要安裝的提示,想之前一樣安裝就好。

或者也可以先pip install手動安裝,然后再添加屬性。

eb6683cc5db901ec7d9eefd5dd68754a.png

第三方庫的自動補全

完成以上步驟后,基本能滿足簡單的開發,但是對於用到的的第三方庫,有些就無法自動補全。

比如我要用opencv,輸入【cv2.】沒有很全的提示,即使手寫了cv2.imread(xxx),也會報“model 'cv2' has no 'imshow'...”

需要做如下操作:

在setting中增加如下配置:(如下所有地址根據個人安裝情況進行調整)

{    "python.jediEnabled": true,    ... ...    "python.linting.pylintPath":"C:\\Anaconda3\\pkgs\\pylint-2.5.0-py37_1\\Scripts\\pylint.exe",    "python.autoComplete.extraPaths": [         "C:\\Anaconda3\\Lib\\site-packages",        "C:\\Anaconda3\\Scripts"    ],}
 這樣能解決大部分的第三方庫的自動補全,還有些不能不全的,建議安裝python自動補全神奇:Kite

https://www.kite.com/

如何安裝與使用可以訪問github頁面:https://github.com/kiteco/vscode-plugin#installation

簡單總結:首先要下載個本機的引擎,安裝好后使用git賬戶登錄,如下圖。

0c8a9d78ed84e5a2b29cd80c2f597a32.png

接着在VS Code中搜索Kite插件安裝,然后重啟,會在右下角看到如下的圖,這樣就可以開心的編寫代碼了。

49460a9800889ca420aa73a6e7fff477.png

7、關於setting.json與設置

VS Code的各種設置基本都是使用json文件的,有非常多的可自定義的設置。對於編碼中的很多用戶設置,也是可以在json中進行配置。

如何打開【setting.json】呢?

【Ctrl+Shift+p】,搜索“setting json”,就能看到常用的幾個設置文件,

全局默認的用戶設置選擇【打開設置】,針對某個工作區的、或者針對對某個項目文件夾的,選擇對應的即可。

d69d139ffba3ca2d8437b9d1abba0669.png

打開后就能手動設置了。

另一種打開方式:左下角 齒輪圖標→【設置】,就能看到帶界面的設置頁,也是三個標簽。

fa51a5270e381e3f742fad62a4d55d9c.png

在對應標簽下,向下翻,找到一個【在setting.json中編輯】的鏈接,點擊也可打開。

7d79600622a49c0c924ca19de2362cbe.png

用戶/工作區/文件夾設置

很好理解,用戶設置就是針對VS Code的全局設置,工作區就是針對某個工作區所特有的,文件夾就是針對某個項目文件所應用的設置。比如工作區中會列出該工作區所包含的文件夾。

我的python項目,新建后是沒有單獨的setting.json文件的,一種是在選擇python環境時,會需要選擇環境所應用的范圍

3d122a02ade92745414778e9d7aa35be.png

選擇了文件夾(比我我上圖的demo文件夾),就會在該文件夾下的【.vscode】目錄下生成【setting.json】,接着選擇完環境后,就會在該文件中寫入。

991ff814257fc0962fcf47e7852c2c3b.png

如果選擇的是工作空間(workspace),就會把上面的內容寫到工作空間中的setting文件中,你也可以寫到全局中去。

setting文件只要你知道了地方,完全可以手動創建,手動編輯。

setting文件與VS Code自身設置

個人感覺微軟在逐漸弱化通過文件來設置的方式。

畢竟如果我亂改,或者一不小心改錯了,怎么辦?

有些設置,通過 左下角 齒輪圖標→【設置】,去查看是有設置的,但是setting文件中並沒有。通過個人驗證,是這樣的邏輯:

setting.json更像是一種保留方式,vs code自身設置(UI)更像是一種全集,兩個都可以修改,對於同一屬性,會保留最后修改的那個,如果有沖突,假設最后通過UI設置修改,則會把setting文件中的相同的注銷掉。如果最后修改的是setting文件,UI中的會在下次打開時變成和setting中一樣的。

如果你不放心修改setting文件,你可以在UI的設置中找到搜索找到對應屬性進行修改。是一樣的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM