4  地表最强IDE:VSCode

Modified

2026-01-16

IDE(Integrated Development Environment,集成开发环境)是一种集成了代码编辑、调试、运行等功能的软件工具,也就是我们常说的“编程软件”。一个好的IDE可以大大提升编程效率和代码质量,尤其是在进行复杂的生物信息学分析时。

4.1 常用于生物信息学的IDE

  • RStudio:专为R语言设计的IDE(后来也兼顾了Python),提供了强大的代码编辑、调试和可视化功能。很多初学者和R语言用户都喜欢使用RStudio进行数据分析。
    • 优点:专为R语言设计,易于上手。
    • 缺点:对其他编程语言支持有限;缺少插件系统;AI使用不太方便。
  • VSCode:由微软开发的开源IDE,支持多种编程语言(包括R、Python、Java等),并且拥有丰富的插件生态系统,可以根据需要安装各种扩展来增强功能。
    • 优点:支持多语言,插件丰富;有AI助手(如GitHub Copilot)并且操作方便。
    • 缺点:需要配置一些插件来支持R语言;对初学者来说可能稍显复杂。
  • Positron:Positron是RStudio的升级版,基于VSCode的开源版本进行设计,为R和Python的数据科学工作进行了优化,并且集成了更多现代化的功能。
    • 优点:支持多语言,有AI助手;可安装很多开源插件。
    • 缺点:不能使用微软发布的一些独占于VSCode的插件。
  • 后AI时代的IDE:如Cursor、Trae、Windsurf等,这些IDE集成了自家的AI助手,能够帮助用户更高效地编写代码、调试程序和进行数据分析。
    • 优点:AI辅助编程,提高效率。
    • 缺点:目前仍在发展中,功能和稳定性有待提升。

时至今日,VSCode凭借其强大的功能和灵活的插件系统,已经成为生物信息学领域中最受欢迎的IDE之一。无论是进行数据分析、编写脚本还是开发复杂的生物信息学工具,VSCode都能提供良好的支持和便利。因此我们下面将主要介绍如何使用VSCode进行生物信息学编程。如果您使用Position的话也可以参考下面的内容,基本上是通用的。

4.2 安装VSCode并切换中文界面

  • 下载与安装
    • Windows:访问 https://code.visualstudio.com/ 下载 .exe,一路“下一步”安装;允许“添加到 PATH”选项便于命令行调用 code
    • macOS:下载 .dmg,将 VSCode 拖入“应用程序”。
  • 中文语言包
    • 打开 VSCode,按 Ctrl + Shift + X(Mac 上 Cmd + Shift + X)进入扩展市场,搜索“Chinese (Simplified) Language Pack for Visual Studio Code”,点“Install”。
    • 安装后点击“Restart”或重启 VSCode;若未自动切换,按 Ctrl + Shift + P 输入“Configure Display Language”,选择 zh-CN 并重启。

4.3 VSCode界面速览与左侧图标

VSCode界面示意图

VSCode界面示意图
  • 主要区域
    • 菜单/标题栏:文件、编辑、视图等命令入口。
    • 活动栏(最左侧竖排图标):用于切换不同工具视图。
    • 侧边栏:显示活动栏对应面板(如文件、搜索)。
    • 编辑区:代码/文档标签页。
    • 面板:底部区域,包含终端、输出、调试控制台、问题列表。
    • 状态栏:底部横条,显示 Git 分支、语言模式、行列号、编码等。
    • 命令面板:Ctrl + Shift + P / Cmd + Shift + P,全局搜索命令。
  • 活动栏默认图标含义
    • 📁 文件资源管理器(Explorer):浏览/管理项目文件。
    • 🔍 全局搜索(Search):跨文件查找与替换。
    • 𐄂 源代码管理(Source Control):Git 变更、提交、分支操作。详见 Chapter 7
    • ▶ 运行与调试(Run and Debug):配置/启动调试、查看断点与调用栈。对生信没啥用处
    • ❖ 扩展(Extensions):查找、安装和管理插件。
    • 若安装远程开发等插件,会出现“Remote Explorer”“Accounts”等图标;可右键活动栏图标自定义显示/隐藏和顺序。

4.4 主题、图标与等宽字体

初始的VSCode界面较为简陋,推荐安装好看的主题和图标包,并使用等宽字体以提升代码可读性。

Note为什么用等宽字体?

等宽字体(Monaspace、Consolas)也就是每个字符占同样宽度,一般用于代码显示;与之相对的是比例字体(如Arial、Times)“W”宽“i”窄,会让缩进/列对齐错位,一般用于网页、书籍排版。

VSCode默认使用等宽字体,如Windows的Consolas、macOS的Menlo,但这些字体外观较为普通,且没有连字(Ligatures)支持。连字是将某些字符组合成更美观符号的功能,如 != 变成 ≠,=> 变成 ⇒,能提升代码可读性和美观度。推荐使用支持连字的等宽字体,如下文所述的Monaspace。

  • 安装主题与图标包
    • 打开扩展市场(Ctrl + Shift + X / Cmd + Shift + X),搜索并安装:
      • “GitHub Theme” (发布者 GitHub)。安装后按 Ctrl + Shift + P,输入“Color Theme:”,选择喜欢的配色(Light/Dark/Dimmed 等)。
      • “Material Icon Theme” (发布者 Philipp Kief)。安装后在右下角弹窗选择“Activate”即可应用图标。
    • 想要快捷切换,命令面板输入“File Icon Theme:”或“Color Theme:”即可。
  • 安装等宽字体(Monaspace 为例)
    • 下载:访问 https://monaspace.githubnext.com/,选择 Monaspace Neon 或其他子款式,下载压缩包。
    • 安装:
      • Windows:右键字体文件 .ttf 选择“安装”或“为所有用户安装”。
      • macOS:双击 .ttf → “安装字体”。
      • Linux:将 .ttf 复制到 ~/.local/share/fonts//usr/local/share/fonts/,然后运行 fc-cache -f -v
  • 在 VSCode 中启用等宽字体
    • 命令面板输入“Preferences: Open User Settings (JSON)”打开 settings.json,加入或调整:
    {
      "editor.fontFamily": "Monaspace Argon, 'JetBrains Mono', Consolas, 'Courier New', monospace",
      "editor.fontLigatures": true,
      "terminal.integrated.fontFamily": "Monaspace Argon",
      "terminal.integrated.fontSize": 13
    }
    • 若没安装 Monaspace,会自动回退到后面的等宽字体。

4.5 插件推荐

VSCode 的强大之处在于其丰富的插件生态系统,可以根据需要安装各种扩展来增强功能。以下是一些常用且推荐的插件,可以参考安装。当然,您不需要一次性安装所有插件,可以根据后续使用过程中的需要逐步添加。

  • R和Python的支持插件,可提供语法高亮、代码补全、调试等功能。
  • Github Copilot和GitHub Copilot Chat:微软官方的AI编程助手插件,顺手的时候可以用一下。如果您按照 Section 3.4.4 中的方法使用学生认证获得了GitHub Copilot的免费高级权限,就可以直接使用。
  • Maximize Terminal:可以设置快捷键来最大化和最小化终端窗口,方便在编写代码时查看终端输出。
  • 远程开发:如果您需要连接到远程服务器进行开发,可以安装“远程开发”这个插件包。
  • Wakatime:可以统计您在VSCode中编写代码的时间,有时候看看还蛮有成就感的。

4.6 远程连接服务器

4.6.1 SSH基础知识

SSH 是加密的远程登录协议,用于连接远程主机并执行命令。

要连接一个远程服务器,您至少需要提供四个要素:服务器地址(IP 或域名)、端口(默认 22)、用户名,以及密码或密钥。比如,您的用户名是 alice,服务器 IP 是 192.168.1.1,端口是默认的 22,则可以在终端执行:

ssh alice@192.168.1.1 -p 22

随后命令行会提示您输入密码(注意密码输入时不会显示),输入正确后即可登录远程服务器。

出于安全考虑,SSH不支持类似“记住登录”或“保存密码”的功能,这也就意味着您每次连接都需要手动输入密码。为了解决这个问题,我们通常使用密钥登录。所谓密钥,包括了一对公钥和私钥两个文件(通过 ssh-keygen 生成)。公钥可以分享给远程服务器,存放在 ~/.ssh/authorized_keys 文件中,而私钥则只留在本地计算机上,并且需要设置权限为 600(即只有用户自己可读写)。使用密钥登录比密码更方便和安全。设置好密钥后,可以使用如下命令登录:

ssh -i ~/.ssh/id_rsa alice@192.168.1.1 -p 22

随后您就可以直接登录远程服务器,而无需输入密码。

为了避免每次都敲这么长的命令,我们可以使用SSH 配置文件来简化登录过程。SSH 配置文件位于 ~/.ssh/config,可以为多个主机写多段 Host ... 块,存放 HostName、User、Port、IdentityFile 等信息。这样,您只需输入 ssh lab-server 即可登录,而不需要每次都敲全参数。例如:

Host lab-server
    HostName 192.168.1.1
    User alice
    IdentityFile ~/.ssh/id_rsa
    Port 22

随后,您只需执行 ssh lab-server 即可登录。

4.6.2 在VSCode中通过SSH连接远程服务器

VSCode 可以通过 SSH 隧道连接远程服务器,首次连接时会在远端 ~/.vscode-server/ 下载并启动“VS Code Server”,之后编辑器界面运行在本地,文件和命令通过加密的 SSH 通道交互。以下是具体步骤:

  1. 准备密钥:本地执行 ssh-keygen -t ed25519 -C "your_email",按回车即可生成 ~/.ssh/id_ed25519 与公钥。用 ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server 把公钥上传服务器(若禁用 ssh-copy-id,可手动将公钥追加到远端 ~/.ssh/authorized_keys)。
  2. 写好配置:打开 ~/.ssh/config,为目标机器建一段配置,避免每次敲长命令。
Host lab-server
    HostName 203.0.113.10   # 服务器IP或域名
    User your_user          # 登录用户名
    IdentityFile ~/.ssh/id_ed25519
    Port 22
  1. VSCode连接:安装 Remote SSH 后,按 Ctrl + Shift + P 输入“Remote-SSH: Connect to Host…”,选择刚才的 lab-server,等待左下角绿色状态栏显示远程路径。
  2. 首次连接后默认会进入远程主机的用户主目录(/home/your_user)。您可以新建一个项目文件夹,然后点击菜单栏的“文件”→“打开文件夹”,选择刚建的文件夹作为工作区。
CautionCaution

注意,VSCode的本地和远程的插件是分开的,您需要在远程主机上重新安装所需的插件。

4.7 常用快捷键

使用快捷键可以大大提升工作效率。以下是一些常用的VSCode快捷键:

  • 打开命令面板:Ctrl + Shift + P(Windows/Linux)或 Cmd + Shift + P(Mac)
  • 打开设置:Ctrl + ,(Windows/Linux)或 Cmd + ,(Mac)
  • 格式化代码:Shift + Alt + F(Windows/Linux)或 Shift + Option + F(Mac)
  • 打开终端:Ctrl + `(Windows/Linux)或 Cmd + `(Mac)
  • 注释/取消注释代码:Ctrl + /(Windows/Linux)或 Cmd + /(Mac)
  • Copilot行内/终端内对话:Ctrl + I(Windows/Linux)或 Cmd + I(Mac)

4.8 配置插件与VSCode的功能

对于所有插件,以及VSCode本身的配置,都有两种配置方式。一种是通过图形界面进行配置,另一种是直接编辑JSON格式的配置文件。这两种方式的配置内容是同步的,修改其中一种方式的配置,另一种方式也会相应更新。

  • 通过图形界面配置:点击左下角的齿轮图标,选择“设置”,然后在搜索栏中输入您想要配置的选项,进行修改。
  • 通过JSON文件配置:打开命令面板,输入“Preferences: Open User Settings (JSON)” (您不需要输全,只输setting json就能出来),然后在打开的settings.json文件中进行编辑。

VSCode设置界面

VSCode设置界面

您可能会发现,VSCode和插件的配置有两套或三套体系:用户级别(User)、机器级别(Machine/Remote,如果您使用WSL或远程服务器的话)和工作区级别(Workspace)。一般来说,用户级别的配置适用于所有项目,机器级别的配置适用于特定的机器,而工作区级别的配置则只适用于当前打开的项目文件夹。配置的优先级为:工作区 > 机器 > 用户。因此您可以根据需要选择合适的级别进行配置,比如,如果您想让某个插件在所有项目中都生效,可以在用户级别进行配置;如果您只想让它在某个特定项目中生效,可以在工作区级别进行配置。