最近VS Code開始支持Jupyter Notebook,就配置了一下(玩了一下)。想著之前的VS Code沒怎麼配置,也就稍微配置了一下,本篇文章是對配置flake8和yapf的一個記錄。
https://www.jianshu.com/p/53cd688185af
1. Flake8——Python靜態代碼檢查工具:
Flake8是由Python官方發布的一款輔助檢測Python代碼是否規範的工具,相對於目前熱度比較高的Pylint來說,Flake8檢查規則靈活,支持集成額外插件,擴展性強。Flake8是對下面三個工具的封裝:
PyFlakes:靜態檢查Python代碼邏輯錯誤的工具。
Pep8: 靜態檢查PEP8編碼風格的工具。
NedBatchelder's McCabe script:靜態分析Python代碼複雜度的工具。
不光對以上三個工具的封裝,Flake8還提供了擴展的開發接口。
官方文檔:https://pypi.python.org/pypi/flake8/
——參考:Python靜態代碼檢查工具Flake8
2. yapf——python代碼格式化工具:
YAPF(Yet Another Python Formatter)是Google開源的一個用來格式化Python代碼的工具,可以一鍵美化代碼。支持2種代碼規範:
- PEP8
- Google style
3. 安裝flake8 和yapf:
打開命令行(cmd),按照下面的安裝步驟:
- ①在cmd輸入pip3 list,檢查是否已存在需要的包
- ②繼續輸入pip3 install flake8,下載安裝flake8
- ③繼續輸入pip3 install yapf,下載安裝yapf
4. 配置VS Code:
在命令行下安裝好flake8和yapf後(這裡默認VS Code已經裝好了Python插件),
我們需要打開VS Code的用戶設置 Settings.json 添加代碼
要在裡面添加的代碼:
{
"python.linting.flake8Enabled": true,
"python.formatting.provider": "yapf",
"python.linting.flake8Args": ["--max-line-length=248"], # 设置单行最长字符限制
"python.linting.pylintEnabled": false # 关闭pylint工具
}
為什麼需要設置單行最長字符限制?
在使用靜態代碼檢查工具flake8來規範python代碼時,當一行字符超過79個時會出現提示
若是厭煩flake8死板的單行長度不得超過79個字符的限制,flake8有個--max-line-length=n配置選項可用來設置單行最長字符限制。
使用關鍵字flake搜索VS Code的用戶設置後,發現有一項是python.linting.flake8Args:[ ] ,他的作用是在每次調用flake8時進行參數設置,可在settings.json中添加需要設置需要提醒的最大字符數,例如:
"python.linting.flake8Args": ["--max-line-length=248"]
5. 演示:
在VS Code中,按下快捷鍵Alt+Shift+F即可自動格式化代碼。
操作起來特別簡單,給大家簡單的演示下。
留言列表