VSCode 常用插件

8/26/2022 VSCode

# VSCode 常用插件

# 介绍

{
    // 终端字体
    "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 + PCrtl + 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 type cs"' to end up with 'test'
    • "test" with cursor inside quotes type ds" to end up with test

# 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

Code Server 是什么?_51CTO博客_code server (opens new window)

GitHub - coder/code-server: VS Code in the browser (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

# 相关问题

GitHub Copilot could not connect to server. Extension activation failed: "Timed out waiting for authentication provider to register"
The Pylance server crashed 5 times in the last 3 minutes. The server will not be restarted. See the output for more information.
加载 Web 视图时出错: Error: Could not register service workers: InvalidStateError: Failed to register a ServiceWorker: The document is in an invalid state.
Last Updated: 7/13/2024, 7:09:02 AM