代码编辑器推荐
本地环境#
使用的设备均为 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 也是同理) 其实会频繁要求认证(也就是输密码),我们可以通过两个东西来避免这一点
~/.ssh/config
首先,我们需要编辑这个文件,然后把常用的服务器都保存进去,写成如下形式:
Host NAME
HostName <ip>
Port 22
User <user>这样,我们就可以在命令行/VS code 中找到名为 NAME 的服务器,然后 ssh/点击即可连接上,但这时还是会要求输入密码
ssh-copy-id命令
如果你使用 Windows,是没有这个命令的,但是可以通过打开 git bash 来使用这个命令,具体的使用方式是,命令行中输入:
ssh-copy-id NAME其中 NAME 就是第一步中保存的名称,然后输入一次密码即可
这样,后续再进行操作都无需输入密码进行认证(服务器上输入 sudo 并不属于这种类型的认证)
版本管理#
我的版本管理主要使用 git,插件选择 Git Graph,可以可视化 Commit 的历史,例如:
语言插件及其环境#
C++/C#
clangd:用于代码的高亮和补全,主要是解析项目结构C/C++:微软自家的插件,写C/C++必须会安装的插件,但其补全功能与clangd冲突,需要关闭Better C++ Syntax:更好的语法高亮clang-format:格式化插件CodeLLDB:调试用的插件,当然也可以直接用gdbVim:更好的打字体验,但需要一些配置和学习
配置后的样式如下:
当然,我的 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#
PythonPython Debugger这两个算是必装插件了,没有这两个不知道怎么写Python
关于 Python 的格式化插件,有很多选择,这里可以选择 ruff 这个插件
如果你更喜欢使用 jupyter 的话,也可以安装 jupyter 的插件,有一个名为 Jupyter 的拓展包,直接安装即可
包管理#
Python 的包管理器有很多,这里推荐两个现代 Python 常用的:
我目前常用的管理器是 poetry,uv 虽然快,但是感觉有很多功能都没实现,比如我最想要的 uv shell 这种(
Rust#
安装 rust 这个拓展包集合,但是由于里面有一个 crate 的拓展以及被弃用了,这里没有更新,因此还需要下载其他的插件:
Dependi:用于检测依赖包的版本,不仅适用于rust,还可以检查nodejs,python等的包版本Even Better TOML:用来高亮Cargo.toml的拓展,其他的.toml文件也可以使用(
Typst#
- Tinymist Typst
只需要这一个即可,这个插件完美到甚至不需要自己去查文档记符号,可以直接通过手写来识别,例如:
并且,插件还支持即时预览以及导出 pdf
包管理#
Typst 没有官方的包管理器,可以使用第三方的包管理器 utpm ,可以参考 github 链接进行安装
如果你使用
Windows,可以考虑下载二进制文件后,增加 PATH 路径 <----- 这一点可以通过软件powertoys(微软商店下载)轻松搞定
另外,如果你想写一个自己的包,utpm 也提供了脚手架来创建一个新包
Latex#
没什么好说的,Latex 直接上 overleaf,虽然现在不付费的话编译速度极慢,不过本地配环境,字体等等一系列问题总会有一款问题比等编译更折磨人



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