忘れてください

代码编辑器推荐

7 min read

本地环境#

使用的设备均为 Windows11 系统:

  • 本地台式:14700KF + 4080S + 32G + 2TB
  • 本地笔记本:13th-i5 + 16G + 1TB

一般而言都是在台式机上干重活(相当于会跑一下代码测试一下),笔记本对我来说是一个 ssh 工具,或者是简单写一个不吃配置的代码的工具

开发环境使用的是 WSL2-Ubuntu-24.04 + Windows,其中:

  • WSL2 主要用来写科研代码,因为经常用到 C++/C, Rust, Python 和 Bash 之类的,Linux 对这些开发比较友好
  • Windows 环境主要是用来开发一些需要用到字体的项目,例如 Typst 的模板开发,Latex 的书写,Markdown 的书写,Steam 的启动

使用的编辑器是 VS Code 与各类语言的 LSP

Remote SSH#

我们这里推荐一些插件如下

远程 ssh 的一些 Trick#

由于使用 Remote-SSH(命令行 ssh 也是同理) 其实会频繁要求认证(也就是输密码),我们可以通过两个东西来避免这一点

  1. ~/.ssh/config

首先,我们需要编辑这个文件,然后把常用的服务器都保存进去,写成如下形式:

Host NAME
    HostName <ip>
    Port 22
    User <user>

这样,我们就可以在命令行/VS code 中找到名为 NAME 的服务器,然后 ssh/点击即可连接上,但这时还是会要求输入密码

  1. ssh-copy-id 命令

如果你使用 Windows,是没有这个命令的,但是可以通过打开 git bash 来使用这个命令,具体的使用方式是,命令行中输入:

ssh-copy-id NAME

其中 NAME 就是第一步中保存的名称,然后输入一次密码即可

这样,后续再进行操作都无需输入密码进行认证(服务器上输入 sudo 并不属于这种类型的认证)

版本管理#

我的版本管理主要使用 git,插件选择 Git Graph,可以可视化 Commit 的历史,例如:

image.png

语言插件及其环境#

C++/C#

  1. clangd:用于代码的高亮和补全,主要是解析项目结构
  2. C/C++:微软自家的插件,写 C/C++ 必须会安装的插件,但其补全功能与 clangd 冲突,需要关闭
  3. Better C++ Syntax:更好的语法高亮
  4. clang-format:格式化插件
  5. CodeLLDB:调试用的插件,当然也可以直接用 gdb
  6. Vim:更好的打字体验,但需要一些配置和学习

配置后的样式如下:

clipboard-image-1732091830.png

当然,我的 Vim 也进行了一些配置,让 VS Code 的一些快捷键还能用(

打开 setting.json 后,输入以下内容:

    "vim.insertModeKeyBindings": [
        {
            "before": [
                "j",
                "j"
            ],
            "after": [
                "<Esc>"
            ]
        }
    ],
    "vim.handleKeys": {
        "<C-d>": true,
        "<C-s>": false,
        "<C-z>": false,
        "<C-a>": false,
        "<C-c>": false,
        "<C-x>": false,
        "<C-v>": false,
        "<C-w>": false,
        "<C-p>": false
    },

这里映射了 jj 为 esc 键,然后取消了 Ctrl 的一系列快捷键(感觉还是用 Windows 的顺手,尤其是复制粘贴)。

构建工具与包管理#

  • C Compiler: gcc(version 13.2.1) clang(version 16.0.6)
  • C++ Compiler: g++(version 13.2.1) clang++(version 16.0.6)
  • C/C++ build tools: cmake(version 3.28.3) xmake(version 2.8.8) make(version 4.4.1)

一般我使用的工具链是 CMake + ninja 作为构建工具,使用 gcc/g++ 编译,使用 gdb 进行调试,你可以参考 C++ 项目初始化指北 来查看一个项目初始化的模板

XMake#

如果你想写一个简单的小项目,但是这个项目依赖的库或者包有点多,例如你可能需要使用 boost 来解析参数,你可能需要 dense_unorderedmap 来替代 STL 中的 unorderedmap,但这个时候,Cmake 似乎就对你很不友好了,而如何管理这些包也成为了一个难题

这个时候,你就需要 xmake 来帮你完成这个需求,xmake 的配置文件十分简单,你也可以使用 xmake 来初始化一个项目,缺少的包也可以通过 xmake 来进行下载和导入

最重要的是,xmake 有中文文档, 阅读这个中文文档进行安装和使用,xmake 对于小型项目而言十分友好,能够快速帮你构建项目,并且不需要烦恼依赖问题

Python#

  • Python
  • Python Debugger 这两个算是必装插件了,没有这两个不知道怎么写 Python

关于 Python 的格式化插件,有很多选择,这里可以选择 ruff 这个插件

如果你更喜欢使用 jupyter 的话,也可以安装 jupyter 的插件,有一个名为 Jupyter 的拓展包,直接安装即可

包管理#

Python 的包管理器有很多,这里推荐两个现代 Python 常用的:

  1. poetry
  2. uv

我目前常用的管理器是 poetry,uv 虽然快,但是感觉有很多功能都没实现,比如我最想要的 uv shell 这种(

Rust#

安装 rust 这个拓展包集合,但是由于里面有一个 crate 的拓展以及被弃用了,这里没有更新,因此还需要下载其他的插件:

  • Dependi:用于检测依赖包的版本,不仅适用于 rust,还可以检查 nodejs, python等的包版本
  • Even Better TOML:用来高亮 Cargo.toml 的拓展,其他的 .toml 文件也可以使用(

Typst#

  • Tinymist Typst

只需要这一个即可,这个插件完美到甚至不需要自己去查文档记符号,可以直接通过手写来识别,例如:

image.png

并且,插件还支持即时预览以及导出 pdf

包管理#

Typst 没有官方的包管理器,可以使用第三方的包管理器 utpm ,可以参考 github 链接进行安装

如果你使用 Windows,可以考虑下载二进制文件后,增加 PATH 路径 <----- 这一点可以通过软件 powertoys (微软商店下载)轻松搞定

另外,如果你想写一个自己的包,utpm 也提供了脚手架来创建一个新包

Latex#

没什么好说的,Latex 直接上 overleaf,虽然现在不付费的话编译速度极慢,不过本地配环境,字体等等一系列问题总会有一款问题比等编译更折磨人

CONVERSATION

讨论

想法、补充,或只是打个招呼。

关系图谱 ↓

全局关系图谱

页面标签
笔记
↑ ↓ 选择↵ 打开Esc 关闭