Neovim + MSBuild 配置 Windows 开发环境
为了与 Linux 拥有一致的开发体验,特在此记录:在 Windows 上使用 Neovim + CMake + MSBuild 搭建 C/C++ 环境。
配置完成后,您将拥有以下几种开发环境:
- C/C++
- Qt/qml
- python
- nodejs
- rust
首先上效果: 

本篇文章提到
环境变量(PATH)的设置,关于 Windows 环境变量设置,网上有很多教程,这里不再赘述。
系统基础环境配置
可以创建一个目录用来存放工具,并且将这个目录添加进系统环境变量:
D:\Tools微软推荐使用PowerShell,本篇文章基于Windows Terminal及PowerShell进行配置,请自行在微软商店或者github中安装这两款软件,即本配置不适用于Win7及以下版本。
7z
- 下载7-Zip,选择
x64版本 - 下载完成后双击安装
- 将安装路径添加道系统环境变量,如
C:\Program Files\7-Zip
unzip
- 下载unzip.exe
- 下载完成后直接丢到
D:\Tools目录
gzip
- 下载Binaries压缩包
- 解压后将
gzip.exe放在D:\Tools目录
wget
- 下载wget.exe
- 将
wget.exe放在D:\Tools目录
tree-sitter
- 下载tree-sitter-windows-x64.gz,看名字下载,别下错了。
- 解压文件将
tree-sitter.exe文件放在D:\Tools目录
ripgrep
- 下载ripgrep-14.1.0-x86_64-pc-windows-msvc.zip
- 解压文件将
rg.exe文件放在D:\Tools目录
提示
版本号可能会随着官方版本迭代有变化,安装最新版本即可!
若找不到该文件,点击下方的Show all xx assets,展开后下载即可。
fd
- 下载fd-v10.1.0-x86_64-pc-windows-msvc.zip
- 解压文件将
rg.exe文件放在D:\Tools目录
提示
版本号可能会随着官方版本迭代有变化,安装最新版本即可!
若找不到该文件,点击下方的Show all xx assets,展开后下载即可。
fzf
- 下载 fzf-0.63.0-windows_amd64.zip
- 解压文件将
fzf.exe文件放在D:\Tools目录
提示
版本号可能会随着官方版本迭代有变化,安装最新版本即可!
若找不到该文件,点击下方的Show all xx assets,展开后下载即可。
fnm
- 下载fnm-windows.zip
- 解压文件将
fnm.exe文件放在D:\Tools目录
配置 fnm:
echo "fnm env --use-on-cd | Out-String | Invoke-Expression" >> $PROFILE小提示
若提示找不到路径,可以新建目录,再重新执行上面的命令:
mkdir ~\Documents\PowerShell重启PowerShell,安装 nodejs:
fnm install --latest --node-dist-mirror=https://npmmirror.com/mirrors/node
fnm default 24
fnm use 24提示
版本号可能会随着官方版本迭代有变化,修改为自己安装的版本即可!
fnm 只是个 nodejs 的版本管理器,不喜欢可以自行以其他方式安装 nodejs!
配置 nodejs 国内源:
npm config set registry https://registry.npmmirror.com/python
- 下载python
- 双击 exe 文件安装
勾选 pip: 
勾选所有用户: 
建议自定义安装,注意勾选
pip。
配置虚拟环境,在家目录执行:
cd ~
python -m venv .venvecho "~\.venv\Scripts\Activate.ps1" >> $PROFILE重启PowerShell,配置 pip 国内源:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simpleNeovim
下载nvim-win64.msi后双击安装,如果需要nightly版本,可点击直接下载。
Git
查看Git官方文档,点击64-bit Git for Windows Setup进行下载,然后安装即可
添加PowerShell git 支持,执行:
Install-Module posh-git -Scope CurrentUser提示
posh-git 可能会导致 PowerShell 启动速度变慢,安装后只是会帮助 git 命令自动补全,熟悉 git 命令可以不安装,但 git 一定要安装!
MSBuild
- 下载Visual Studio 2022 生成工具
- 双击 exe 文件进行安装
- 在弹出的界面,左侧勾选
使用 C++ 的桌面开发,右侧按下图勾选即可
安装完成后,系统开始菜单应该有Developer PowerShell for VS 2022,右键->打开文件位置->右键文件->属性->快捷方式,复制目标(T):里面的内容:
提示
如果已经安装了 Visual Studio,可以不必安装生成工具,直接使用即可!

explorer.exe $PROFILE打开的文件~\Documents\PowerShell\Profile.ps1添加刚刚复制的内容,并进行调整(删一些双引号),最终结果为:
Import-Module "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
Enter-VsDevShell e344e64a -DevCmdArguments '-arch=x64 -no_logo'提示
其中-DevCmdArguments参数是手动添加的,目的是调整架构,为后面编译Neovim插件做准备。e344e64a 每次安装都不一样的,注意别直接复制!
最终的配置文件内容:
# Install-Module posh-git -Scope CurrentUser
# 引入 git 模块,引入之前需要先执行上面的命令,若报错需要执行:set-executionpolicy remotesigne
Import-Module posh-git # 可选,会导致 PowerShell 启动速度变慢
# 添加开发环境
Import-Module "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
Enter-VsDevShell e344e64a -DevCmdArguments '-arch=x64 -no_logo'
# 设置 Ctrl+D 退出终端
Set-PSReadLineKeyHandler -Key 'Ctrl+d' -Function DeleteCharOrExit
# 设置 fnm 环境变量
fnm env --use-on-cd | Out-String | Invoke-Expression
# 引入 python 虚拟环境
~\.venv\Scripts\Activate.ps1Rust
使用官方的源下载比较慢,可以临时设置环境变量,加速下载:
$env:RUSTUP_DIST_SERVER="https://mirrors.tuna.tsinghua.edu.cn/rustup"~\Downloads\rustup-init.exe配置cargo国内源,在~\.cargo\config.toml中添加:
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
# 指定镜像
replace-with = 'rsproxy' # 如:tuna、sjtu、ustc,或者 rustcc
# 字节跳动
[source.rsproxy]
registry = "sparse+https://rsproxy.cn/index/"
# 中国科学技术大学
[source.ustc]
registry = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"
# 上海交通大学
[source.sjtu]
registry = "sparse+https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index/"
# 清华大学
[source.tuna]
registry = "sparse+https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index/"
# rustcc社区
[source.rustcc]
registry = "sparse+https://code.aliyun.com/rustcc/crates.io-index/"注意
安装完成后,终端里面会提示添加环境变量:%USERPROFILE%\.cargo\bin,注意这个路径添加在用户基本的环境变量里面,而不是系统级别,也就是上面的环境变量,不是下面的!
开发环境配置
在配置开发环境之前,可以检查下上面的工具是否都全部安装了,环境变量是否都配置好了:
很重要:
7z -h
unzip -h
gzip -V
wget -V
tree-sitter -V
rg -V
fd -V
fzf --version
fnm -V
npm --version
cargo -V
pip -V如果有报错,自行百度或者检查下上面的步骤!
Git 配置
有时配置 ssh key 之后,每次 clone pull push 的时候还是提示输入密码,可以参考官方文档 添加~/.ssh/config文件,并且写入:
Host github.com
Hostname ssh.github.com
Port 443
User gitNeovim 配置
提示
作为开发者,最好有条理的管理自己的项目,本人将D:\Projects作为项目目录,还可以将该目录设置为启动目录。
- Neovim 配置对于刚接触的人可能比较复杂,其实就是配置一些插件,大部分插件的 github 都有其使用说明,这里为了方便,可以直接使用本人的配置,执行:
git clone [email protected]:Groveer/nvvim.git nvim- 创建软链,Neovim 读取配置是在固定的目录,在
powershell中执行:
New-Item -ItemType Junction -Path "~\AppData\Local\nvim" -Target "D:\Projects\nvim"其中,D:\Projects\nvim`是 git clone 下来的项目
- 本人的 Neovim 配置使用 Lazy.nvim 进行插件管理,首次启动会自动进行安装插件,若因网络问题安装失败,可以重新打开,多尝试几次:
nvim- 一般来说,进行了上面的软件安装,Neovim 所需的程序就齐全了,当然也可以执行命令进行检查:
:checkhealth- 第一次启动可以安装推荐 Lsp:
:Mason- 若 Lsp 提示安装失败,可查看日志,然后根据日志内容进行修复:
:MasonLog扩展字体配置
- 使用图标字体才能完全支撑某些终端图标的正常显示,否则某些字体可能会显示为方块。
- 下载Maple字体
- 解压文件后全选 ttf 文件,然后右键安装
- 终端:设置->默认值->字体,选择
Maple Mono NF CN,保存弹窗提示忽略 - 重启终端,进入 nvim,正常显示图标字体
Qt 开发环境配置
- 进入 Qt 在线下载页面
- 选择最高的版本,进入目录
- 选择
qt-online-installer-windows-x64-4.8.0.exe进行下载(版本可能会更新,撰写本文时,官网上最新的是 4.8.0 版本,若有更新,选择最新的版本即可) - 为了加快安装速度,使用命令行启动安装文件,可以配置使用国内源进行安装:
~\Downloads\qt-online-installer-windows-x64-4.8.0.exe --mirror https://mirror.nju.edu.cn/qt- 登录 Qt 账户,等待元信息检索完成。
- 勾选展开 Qt 对应版本,勾选
MSVC 2019 64-bit。 - 其他默认勾选的选项可
取消勾选,若习惯使用 qtcreator,可以将其勾选上,建议保留CMake&ninja。 - 最后点击右下角的安装,等待安装完成。
- 在环境变量中,
Path变量需添加一行:C:\Qt\6.7.1\msvc2019_64\bin,注意需改为自己的安装路径。 - 使用本人的 Neovim 配置已经自动支持
qml补全和提示。
在配置过程中若遇到什么问题,可在博客中留言。