Skip to content

Neovim + MSBuild 配置 Windows 开发环境

为了与 Linux 拥有一致的开发体验,特在此记录:在 Windows 上使用 Neovim + CMake + MSBuild 搭建 C/C++ 环境。

配置完成后,您将拥有以下几种开发环境:

  • C/C++
  • Qt/qml
  • python
  • nodejs
  • rust

首先上效果: 效果1效果2

注意

由于 Neovim 插件和一些配置需要访问Github,若无法访问,请自行百度科学上网DNS解析,另不推荐使用镜像站或Gitee,因为某些插件可能并没有被同步。

本篇文章提到环境变量(PATH)的设置,关于 Windows 环境变量设置,网上有很多教程,这里不再赘述。

系统基础环境配置

可以创建一个目录用来存放工具,并且将这个目录添加进系统环境变量:

powershell
D:\Tools

微软推荐使用PowerShell,本篇文章基于Windows TerminalPowerShell进行配置,请自行在微软商店中安装这两款软件,即本配置不适用于Win7及以下版本。

7z

  1. 下载7-Zip,选择x64版本
  2. 下载完成后双击安装
  3. 将安装路径添加道系统环境变量,如C:\Program Files\7-Zip

unzip

  1. 下载unzip.exe
  2. 下载完成后直接丢到D:\Tools目录 download unzip.exe

gzip

  1. 下载Binaries压缩包
  2. 解压后将gzip.exe放在D:\Tools目录 download gzip.exe

wget

  1. 下载wget.exe
  2. wget.exe放在D:\Tools目录

tree-sitter

  1. 下载tree-sitter-windows-x64.gz,看名字下载,别下错了。
  2. 解压文件将tree-sitter.exe文件放在D:\Tools目录

ripgrep

  1. 下载ripgrep-14.1.0-x86_64-pc-windows-msvc.zip
  2. 解压文件将rg.exe文件放在D:\Tools目录

若找不到该文件,点击下方的Show all xx assets,展开后下载即可。

fd

  1. 下载fd-v10.1.0-x86_64-pc-windows-msvc.zip
  2. 解压文件将rg.exe文件放在D:\Tools目录

若找不到该文件,点击下方的Show all xx assets,展开后下载即可。

fnm

  1. 下载fnm-windows.zip
  2. 解压文件将fnm.exe文件放在D:\Tools目录

配置 fnm:

powershell
echo "fnm env --use-on-cd | Out-String | Invoke-Expression" >> ~\Documents\PowerShell\Profile.ps1

提示

若提示找不到路径,可以新建目录:

mkdir ~\Documents\PowerShell

重启PowerShell,安装 nodejs:

powershell
fnm install --latest --node-dist-mirror=https://npmmirror.com/mirrors/node
fnm default 21
fnm use 21

版本号可能会随着官方版本迭代有变化,修改为自己安装的版本即可!

配置 nodejs 国内源:

powershell
npm config set registry https://registry.npmmirror.com/

安装 neovim 支持:

powershell
npm install -g neovim

python

  1. 下载python
  2. 双击 exe 文件安装

勾选 pip: 勾选pip

勾选所有用户: 勾选所有用户

建议自定义安装,注意勾选pip

配置虚拟环境:

powershell
python -m venv .venv
powershell
echo "~\.venv\Scripts\Activate.ps1" >> ~\Documents\PowerShell\Profile.ps1

重启PowerShell,配置 pip 国内源:

powershell
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

安装 nvim 工具:

powershell
pip install pynvim

Neovim

下载nvim-win64.msi后双击安装

Git

查看Git官方文档,点击64-bit Git for Windows Setup进行下载,然后安装即可

添加PowerShell git 支持,执行:

powershell
Install-Module posh-git -Scope CurrentUser

MSBuild

  1. 下载Visual Studio 2022 生成工具
  2. 双击 exe 文件进行安装
  3. 在弹出的界面,左侧勾选使用 C++ 的桌面开发,右侧按下图勾选即可 安装 C++ 编译器和 SDK

安装完成后,系统开始菜单应该有Developer PowerShell for VS 2022,右键->打开文件位置->右键文件->属性->快捷方式,复制目标(T):里面的内容:

terminal

powershell
explorer.exe $PROFILE

打开的文件~\Documents\PowerShell\Profile.ps1添加刚刚复制的内容,并进行调整(删一些双引号),最终结果为:

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'

其中-DevCmdArguments参数是手动添加的,目的是调整架构,为后面编译Neovim插件做准备。

最终的配置文件内容:

powershell
# Install-Module posh-git -Scope CurrentUser
# 引入 git 模块,引入之前需要先执行上面的命令,若报错需要执行:set-executionpolicy remotesigne
Import-Module posh-git
# 添加开发环境
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.ps1

Rust

查看官网,下载64位程序

使用官方的源下载比较慢,可以临时设置环境变量,加速下载:

powershell
$env:RUSTUP_DIST_SERVER="https://mirrors.tuna.tsinghua.edu.cn/rustup"
powershell
~\Downloads\rustup-init.exe

配置cargo国内源,在~\.cargo\config.toml中添加:

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/"

开发环境配置

Git 配置

有时配置 ssh key 之后,每次 clone pull push 的时候还是提示输入密码,可以参考官方文档 添加~/.ssh/config文件,并且写入:

powershell
Host github.com
Hostname ssh.github.com
Port 443
User git

Neovim 配置

提示

作为开发者,最好有条理的管理自己的项目,本人将D:\Projects作为项目目录,还可以将该目录设置为启动目录。

  1. Neovim 配置对于刚接触的人可能比较复杂,其实就是配置一些插件,大部分插件的 github 都有其使用说明,这里为了方便,可以直接使用本人的配置,执行:
powershell
git clone [email protected]:Groveer/nvchad-starter.git nvim
  1. 创建软链,Neovim 读取配置是在固定的目录,在powershell中执行:
powershell
New-Item -ItemType Junction -Path "C:\Users\Administrator\AppData\Local\nvim" -Target "D:\Projects\nvim"

其中,Administrator是本地账户名,D:\Project\nvim是 git clone 下来的项目

  1. 本人的 Neovim 配置使用 Lazy.nvim 进行插件管理,首次启动会自动进行安装插件,若因网络问题安装失败,可以重新打开,多尝试几次:
powershell
nvim
  1. 一般来说,进行了上面的软件安装,Neovim 所需的程序就齐全了,当然也可以执行命令进行检查:
powershell
:checkhealth
  1. 若 Lsp 提示安装失败,可查看日志,然后根据日志内容进行修复:
powershell
:MasonLog

扩展字体配置

  1. 使用图标字体才能完全支撑某些终端图标的正常显示,否则某些字体可能会显示为方块。
  2. 下载Maple字体
  3. 解压文件后全选 ttf 文件,然后右键安装
  4. 终端:设置->默认值->字体,选择Maple Mono SC NF,保存弹窗提示忽略
  5. 重启终端,进入 nvim,正常显示图标字体

Qt 开发环境配置

  1. 进入 Qt 在线下载页面
  2. 选择最高的版本,进入目录
  3. 选择qt-online-installer-windows-x64-4.8.0.exe进行下载(版本可能会更新,撰写本文时,官网上最新的是 4.8.0 版本,若有更新,选择最新的版本即可)
  4. 为了加快安装速度,使用命令行启动安装文件,可以配置使用国内源进行安装:
powershell
~\Downloads\qt-online-installer-windows-x64-4.8.0.exe --mirror https://mirror.nju.edu.cn/qt
  1. 登录 Qt 账户,等待元信息检索完成。
  2. 勾选展开 Qt 对应版本,勾选MSVC 2019 64-bit
  3. 其他默认勾选的选项可取消勾选,若习惯使用 qtcreator,可以将其勾选上,建议保留CMake&ninja
  4. 最后点击右下角的安装,等待安装完成。
  5. 在环境变量中,Path变量需添加一行:C:\Qt\6.7.1\msvc2019_64\bin,注意需改为自己的安装路径。
  6. 使用本人的 Neovim 配置已经自动支持qml补全和提示。

在配置过程中若遇到什么问题,可在博客中留言。

博客内容遵循 CC BY-NC-SA 4.0 协议。