Command Palette(ctrl + shift + p)
vscode插件
python
- Python
- Python Debugger
- ruff
- isort
- Pylance
- Jupyter
- Jupyter Keymap
- Jupyter Slide Show
- Jupyter Cell Tags
- autoDocstring - Python Docstring Generator
ruff + isort
(选中import,shift + alt + o刷格式;shift + alt + f刷格式)
在setting.json里这么配置,这样你保存时就会自动format。(不用右键了)
“【python】”: {
“editor.defaultFormatter”: “charliermarsh.ruff”,
“editor.codeActionsOnSave”: {
“source.organizeImports.ruff”: “explicit”
}
},
另外把默认格式化器放在python scope下,就不会影响其他默认格式化器(比如js项目的eslint或者prettier)
pylance
需要
pip install pylance
autodocsting
C++
- C/C++ Extension Pack
- Doxygen Documentation Generator
单文件
选择编译方式
接着就会发现多了一个task.json和一个exe
task.json
文档:https://code.visualstudio.com/docs/editor/variables-reference#_predefined-variables
可以通过ctrl + shift + p输入Tasks: Configure Default Build Task得到,也可以直接运行得到
这个是运行完g++后默认生成的task.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe build active file",
"command": "D:\\msys64\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
debug
点击齿轮,点g++
会生成lauch.json
{
"configurations": [
{
"name": "C/C++: g++.exe build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "D:\\msys64\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe build active file"
}
],
"version": "2.0.0"
}
接着F5就能用这个配置文件debug了
更多设置
ctrl + shift + p,输入C/C++: Edit Configurations (UI)
点进去
会生成c_cpp_properties.json
修改Configuration name,改什么名字都行,不改也行
编译环境
提示
标准
这个是修改之后
通用
- GitLens
- Git Graph
- Git History
- Git Blame
- Git Extension Pack
- 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"
}
}