跳转至

VSCode 使用

约 1501 个字 110 行代码 预计阅读时间 6 分钟

介绍

  • 代码编辑器,有非常丰富的插件

  • VSCode 连接远程服务器,点击打开的文件,会立马跳转到相应的目录中,文件定位相比 MobaXterm 更便捷迅速

  • 命令行启动

code             # VSCode
code-insiders    # VSCode Insiders

快捷键

Ctrl + /                # 单行注释
Alt + Shift + A         # 多行注释
Ctrl + C                # 复制当前整行内容
Ctrl + X                # 剪切当前整行内容
Ctrl + Shift + K        # 删除一行
Crtl + J                # 工作区和终端间的切换
alt + shift +          # 复制上一行代码到下一行
Ctrl + F4               # 关闭文件
Crtl + P / Crtl + Tab   # 文件跳转
Crtl + 点击图片          # 缩小图片

通用设置

{
    // 终端字体
    "terminal.integrated.fontFamily": "MesloLGM Nerd Font",
    // 终端字体大小
    "terminal.integrated.fontSize": 14,
    // 编辑器字体大小
    "editor.fontSize": 14,
    // 窗口缩放大小
    "window.zoomLevel": 0.5,
    // 删除尾随空白
    "files.trimTrailingWhitespace": true,
    // 关掉 VSCode 声音
    "editor.accessibilitySupport": "off",
    // Windows 复制路径正斜杠
    "explorer.copyRelativePathSeparator": "/",
}

插件

Vim

{
    // Vim 配置
    "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 用法:
# 快捷键
<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 相关插件:

    • Black Formatter:代码格式化(其他:yapf、autopep8 和 ruff)
    • autoDocstring:自动为 Python 的函数和类写 docstring snippets
    • Jupyter:运行 Jupyter Notebook
  • 问题:当 root 中已有 conda 时,当前用户下的 conda 虚拟环境名称无法被识别,可在设置中找到 conda path 选项,写入将当前用户下的 conda 路径

  • Python 脚本文件保存自动格式化设置:

{
    "[python]": {
    "editor.defaultFormatter": "ms-python.black-formatter",
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
        "source.organizeImports": true
        },
    },
    "isort.args":["--profile", "black"],
}

编程相关

{
    "gitlens.currentLine.enabled": false,
    "gitlens.codeLens.recentChange.enabled": false,
    "gitlens.codeLens.authors.enabled": false,
}
  • WakaTime:统计编程项目 Codinig 数据

  • TabOut:跳出括号(函数、列表、字典中的括号和字符串中的引号)

  • Rainbow CSV:高亮 CSV 和 TSV 文件,优化视觉体验

  • TODO Highlight:高亮文件中的 TODOFIXME

  • Todo Tree:以树形显示文件中的 TODOFIXME

  • 管理 Project:Project Manager、Project Manager Next(效果一般)


Markdown 相关

  • Markdown All in One:

    • 语法高亮,自动补全,可生成目录,添加/更新章节序号
    • VSCode插件生成编号、目录、文件目录树
    • 暂无很好的 “中英文混排添加空格” 格式化的插件;使用 Obsidian 中的 Linter 插件,将 Markdown 内容复制到 Obsidian 中进行格式化
  • Markdown PDF:将 markdown 文档导出成 pdf 文(需本地或终端支持中文字符,不支持公式)

  • Markdownlint:Markdown 语法风格格式化

{
    // markdownlint 设置:md 文件保存自动格式化
    "[markdown]": {
        "editor.codeActionsOnSave": {
        "source.fixAll.markdownlint": "always"
        }
    }
}

前端相关

  • Live Server:实时预览
  • CSS Peak:
  • Auto Rename Tag:自动重命名标签 tag

非编程相关

  • PicGo:图床
  • vscode-pdf:打开 pdf 文件(会与 LaTeX Workshop 插件冲突)
  • Excel Viewer:查看 Excel 表格
  • Material Icon Theme:文件、目录图标,美化用
  • Front Matter CMS:管理 Front Matter
  • VScode 插件推荐-状态栏篇_哔哩哔哩_bilibili

Code Server

# 指定 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.
# 占用体积较大的目录
AppData\Local\Temp\vscode-remote-wsl
\AppData\Roaming\Code\Service Worker