vscode插件
python
- Python
- Python Debugger
- ruff
- isort
- Pylance
- Jupyter
- Jupyter Keymap
- Jupyter Slide Show
- Jupyter Cell Tags
- autoDocstring - Python Docstring Generator
ruff + isort
pylance
autodocsting
在setting.json里这么配置,这样你保存时就会自动format。(不用右键了)
“【python】”: {
“editor.defaultFormatter”: “charliermarsh.ruff”,
“editor.codeActionsOnSave”: {
“source.organizeImports.ruff”: “explicit”
}
},
另外把默认格式化器放在python scope下,就不会影响其他默认格式化器(比如js项目的eslint或者prettier)
通用
- GitLens
- IntelliCode
- IntelliCode API Usage Examples
- Material Icon Theme
- markdownlint
- Markdown All in One
代码段
File->Preferences->Configure User Snippets
以python为例
这里用header触发开头的utf
用main触发if __name__
{
// Place your snippets for python here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"HEADER":{
"prefix": "header",
"body": [
"#!/usr/bin/env python",
"# -*- encoding: utf-8 -*-",
"",
// "'''",
// "@File : $TM_FILENAME",
// "@Time : $CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND",
// "@Author : python",
// "@Version : 1.0",
// "@Contact : python@qq.com",
// "@License : (C)Copyright 2017-2018, Liugroup-NLPR-CASIA",
// "@Desc : None",
// "'''",
// "",
// "# here put the import lib",
// "$0"
],
},
"Print to console": {
"prefix": "main",
"body": [
"if __name__ == '__main__':",
" ${1:pass}",
""
],
"description": "python--main"
}
}