VSCode 常用插件
8/26/2022 VSCode
# VSCode 常用插件
# 介绍
- VSCode 连接远程服务器,点击打开的文件,会立马跳转到相应的目录中,定位文件相比 MobaXterm 更便捷,便于下载文件到本地
- 命令行启动:vscode-insiders -
code-insiders
;vscode -code
- 配置文件
settings.json
:分用户和远程设置;配置文件中有设置但没安装的插件其命令不会有高亮 - VSCode 同步:VSCode官方的配置同步方案_vscode同步_蝉沐风的码场的博客-CSDN博客 (opens new window)
- 在VScode中,代码提示左边的图标各自代表什么含义? - 知乎 (opens new window)
- VSCode 中类、函数、方法、属性等的图标:IntelliSense in Visual Studio Code (opens new window)
- VSCode 终端字体设置:Change terminal font family to nerd font · Issue #81497 · microsoft/vscode · GitHub (opens new window)
{
// 终端字体
"terminal.integrated.fontFamily": "MesloLGM Nerd Font",
// 终端字体大小
"terminal.integrated.fontSize": 14,
// 编辑器字体大小
"editor.fontSize": 14,
// 窗口缩放大小
"window.zoomLevel": 0.5,
}
# 快捷键
命令 | 功能说明 |
---|---|
Crtl + J | 工作区和终端间的切换 |
alt + shift + ↓ | 复制上一行代码到下一行 |
Ctrl + / | 单行注释 |
Alt + Shift + A | 多行注释 |
Ctrl + C | 复制当前整行内容 |
Ctrl + X | 剪切当前整行内容 |
Ctrl + Shift + K | 删除一行 |
Ctrl + F4 | 关闭文件 |
Crtl + P 或 Crtl + Tab | 文件跳转 |
Crtl + 点击图片 | 缩小图片 |
# 插件
# Vim
GitHub - VSCodeVim/Vim: ⭐️ Vim for Visual Studio Code (opens new window)
- 在 VSCode 中使用 Vim 的快捷键;内置的一些 vim 插件(常用):airline、easymotion、surround
- Vim 设置(用户设置)
// vim configuration
"vim.leader": "<space>",
"vim.surround": true,
"vim.easymotion": true,
"vim.handleKeys": {
"<C-a>": false,
"<C-f>": false
},
"vim.insertModeKeyBindings": [
{
"before": ["j", "j"],
"after": ["<Esc>"]
}
],
"vim.normalModeKeyBindings": [
{
"before": ["j"],
"after": ["g", "j"]
},
{
"before": ["k"],
"after": ["g", "k"]
},
{
"before": ["K"],
"after": ["5", "k"]
},
{
"before": ["J"],
"after": ["5", "j"]
},
{
"before": ["L"],
"after": ["$"]
},
{
"before": ["H"],
"after": ["^"]
},
],
- easymotion 用法:
Motion 命令 | 描述 |
---|---|
<leader><leader> s <char> | 查找字符 |
- surround 用法:
"test"
with cursor inside quotes typecs"'
to end up with'test'
"test"
with cursor inside quotes typeds"
to end up withtest
# Python
集成插件;可识别 conda 创建的 Python 虚拟环境;
其中的 Pylance 插件是 Python 的语言服务器(LSP),可实现自动补全,跳转到定义,自动解析类、函数等功能,非常好用;
isort 插件可对 import 的相关模块进行排序;
转到某个类或函数的定义所在脚本时,代码编辑区上方会显示该类或函数的绝对路径,可点击该类或函数的名字,查看该类中所有的方法和属性(该函数平级的其他函数),点击跳转想要查看的方法/函数、属性即可,也可查看其他的类,会很简便。
Python 设置:脚本文件保存自动格式化
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
},
"isort.args":["--profile", "black"],
问题:当 root 中已有 conda 时,当前用户下的 conda 虚拟环境名称无法被 VSCode 的相关插件识别,可在设置中找到
conda path
选项,写入将当前用户下的 conda 路径其他 Python 相关插件:
- Black Formatter:Python 代码风格格式化(其他:yapf、autopep8 和 ruff)。
- autoDocstring:自动为 python 的函数和类写 docstring snippets。
- Jupyter:运行 Jupyter notebook。
# 编程相关
- Remote Development:集成插件;可连接 WSL(自动识别)和远程服务器(若已设置别名,可自动识别)。
- Github Copilot (Chat):辅助编写代码,如代码自动补全,可在代码和侧边栏中开启对话。目前主要用它进行(Github Copilot Chat 目前只有 vscode-insider 版本才有)。
- GitLens:增强 Git 使用
- WakaTime:统计编程项目 Codinig 数据
- TabOut:跳出括号(函数、列表、字典和字符串等)。
- LaTeX Workshop:实时编译 LaTeX,有字数统计功能
- Typst preview:预览 typst 文件。
- Markdown All in One:markdown 语法高亮,自动补全,可生成目录,添加/更新章节序号;VSCode插件生成编号、目录、文件目录树 (opens new window);暂无很好的 “ 中英文混排添加空格 ” 格式化的插件;会使用 Obsidian 中的 Linter 插件,可将 markdown 内容复制到 Obsidian 中进行格式化。
- Markdownlint:markdown 语法风格格式化。
- Markdown PDF:将 markdown 文档导出成 pdf 文件,需要本地或终端支持中文字符,不支持公式。
- Lammps Syntax Highlighting:LAMMPS 语法命令高亮、自动补全。
- shellcheck、shell-format:不是很好
// markdownlint 设置:md 文件保存自动格式化
"[markdown]": {
"editor.codeActionsOnSave": {
"source.fixAll.markdownlint": "always"
}
}
# 非编程相关
- PicGo:图床。
- vscode-pdf:打开 pdf 文件。
- Material Icon Theme:文件、目录图标,美化用。
- Excel Viewer:查看 excel 表格。
# code-server
GitHub - coder/code-server: VS Code in the browser (opens new window)
- 浏览器或远程使用 vscode 进行开发;服务器平台为 Linux 和 macOS,不支持 Windows;可脚本、二进制安装
- 将
bind-addr
改成0.0.0.0:8080
,可使用http://<ip>:8080
的形式登录,在同一局域网下,不同电脑可以直接访问;不在同一局域网下,需使用内网穿透使其远程访问 - 无法显示图片、ipynb 文件 Allow opening files, folders, and workspaces in existing code-server from CLI · Issue #164 · coder/code-server · GitHub (opens new window);连接性不是很好
# 指定 host 和 port
code-server --host host --port port
# 打开文件
code-server <file>
# macOS
brew install code-server
brew services start code-server
# Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml
# 相关问题
- WSL1 无法安装插件:Installing extensions to WSL VS Code Server gives `EACCES: Permission Denied` · Issue #90164 · microsoft/vscode · GitHub (opens new window)
- GitHub Copilot 无法连接服务器:GitHub Copilot could not connect to server. Extension activation failed: "Timed out waiting for authentication provider to register" · community · Discussion #11324 · GitHub (opens new window)
GitHub Copilot could not connect to server. Extension activation failed: "Timed out waiting for authentication provider to register"
- 扩展远程主机在过去 5 分钟内意外终止了 3 次:vscode 扩展主机意外终止怎么办,重装好几次了_博问_博客园 (opens new window)
- Pylance 语言服务器 crashed:The Python Tools server crashed 5 times in the last 3 minutes. The server will not be restarted. · Issue #13679 · microsoft/vscode-python · GitHub (opens new window)
The Pylance server crashed 5 times in the last 3 minutes. The server will not be restarted. See the output for more information.
- Remote-ssh 远程连接服务器,使用
plt.show()
打不开画图窗口:python - Is there any way to show figures in VScode remote ssh (windows) - Stack Overflow (opens new window);解决方法:保存图片再打开查看;或者在互动窗口中运行代码 - vscode 加载图片错误:visual studio code - Error loading webview: Error: Could not register service workers: TypeError: Failed to register a ServiceWorker for scope - Stack Overflow (opens new window);解决方法:清楚相关文件的缓存:进入
C:\Users\<user_name>\AppData\Roaming\Code
,删除Cache
、CachedData
、CachedExtensions
、CachedExtensionVSIXs
(目录如果存在)和Code Cache
内容
加载 Web 视图时出错: Error: Could not register service workers: InvalidStateError: Failed to register a ServiceWorker: The document is in an invalid state.