在日常开发中,我们经常需要使用 VS Code 或 Cursor 打开不同的代码项目。
常规操作一般是:
- 启动 VS Code 或 Cursor;
- 点击
File; - 选择
Open Folder; - 在多层目录中找到项目文件夹。
偶尔操作一次问题不大,但如果每天需要频繁切换项目,这套流程就会显得比较繁琐。
除此之外,有些文件在打开后还可能被识别为 Plain Text,导致没有语法高亮、代码补全和格式化功能。
本文记录两个比较实用的配置:
- 在资源管理器中右键文件夹,直接使用 VS Code 或 Cursor 打开;
- 通过
settings.json批量配置文件类型关联。
一、文件夹右键直接使用 VS Code / Cursor 打开
配置完成后,可以直接在资源管理器中右键项目文件夹,选择:
text
通过 Code 打开
或者:
text
通过 Cursor 打开
这样不需要提前启动编辑器,也不需要再手动执行 Open Folder。
二、Windows 配置方法
1. 安装时勾选右键菜单选项
安装 VS Code 或 Cursor 时,建议勾选以下选项:
text
将"通过 Code/Cursor 打开"操作添加到 Windows 资源管理器文件上下文菜单
text
将"通过 Code/Cursor 打开"操作添加到 Windows 资源管理器目录上下文菜单
其中:
- 文件上下文菜单:右键单个文件时,可以使用编辑器打开;
- 目录上下文菜单:右键文件夹时,可以直接将整个文件夹作为项目打开。
第二项对于日常项目开发更加实用。
2. 安装时没有勾选怎么办?
可以重新运行 VS Code 或 Cursor 安装程序,然后选择覆盖安装。
重新安装通常不会删除已有的:
- 插件;
- 用户设置;
- 快捷键配置;
- 主题;
- 项目文件。
安装过程中重新勾选右键菜单选项即可。
3. Windows 11 找不到右键菜单
Windows 11 默认使用精简版右键菜单,部分应用入口可能被折叠。
可以点击:
text
显示更多选项
也可以使用快捷键:
text
Shift + F10
然后查看是否存在"通过 Code 打开"或"通过 Cursor 打开"。
三、通过终端快速打开项目
除了右键菜单,也可以使用命令行打开当前目录。
VS Code
进入项目目录后执行:
bash
code .
Cursor
Cursor 安装命令行工具后,可以执行:
bash
cursor .
其中,. 表示当前目录。
例如:
bash
cd D:\workspace\robot-project
code .
或者:
bash
cd D:\workspace\robot-project
cursor .
这种方式适合经常使用 PowerShell、CMD、Git Bash 或终端工具的开发者。
四、macOS 配置方法
在 macOS 中,可以先安装编辑器对应的 Shell Command。
VS Code
按下:
text
Command + Shift + P
打开命令面板,输入:
text
Shell Command: Install 'code' command in PATH
执行完成后,即可在终端中使用:
bash
code .
Cursor
在 Cursor 命令面板中搜索对应的 Shell Command,例如:
text
Install 'cursor' command in PATH
安装后可以执行:
bash
cursor .
需要注意的是,安装 Shell Command 主要解决的是终端启动编辑器的问题。
如果需要在访达中实现右键打开,可以进一步通过 macOS 的"快捷指令"或"自动操作"创建访达快捷操作。
五、解决文件被识别为 Plain Text 的问题
有时打开 .vue、.tsx、.sh 或自定义后缀文件时,编辑器可能没有正确识别语言类型。
常见表现包括:
- 文件右下角显示
Plain Text; - 没有语法高亮;
- 没有代码提示;
- 无法正常格式化;
- 注释和括号颜色异常。
单个文件可以点击编辑器右下角的语言类型,手动选择正确语言。
如果需要长期、批量配置,更推荐直接修改 settings.json。
六、打开 VS Code / Cursor 的 settings.json
按下快捷键:
text
Ctrl + Shift + P
macOS 使用:
text
Command + Shift + P
然后搜索:
text
Preferences: Open User Settings (JSON)
中文界面中可能显示为:
text
首选项:打开用户设置(JSON)
打开后即可直接修改用户配置。
七、批量配置文件关联
可以在 settings.json 中添加以下配置:
jsonc
{
"files.associations": {
// Web 前端
"*.jsx": "javascriptreact",
"*.tsx": "typescriptreact",
"*.vue": "vue",
"*.css": "css",
"*.scss": "scss",
// 后端与脚本
"*.py": "python",
"*.java": "java",
"*.c": "c",
"*.h": "c",
"*.cpp": "cpp",
"*.hpp": "cpp",
"*.go": "go",
"*.rs": "rust",
"*.sh": "shellscript",
// 配置文件
"*.yaml": "yaml",
"*.yml": "yaml",
"*.env": "properties",
"*.env.*": "properties",
"Dockerfile": "dockerfile",
"Dockerfile.*": "dockerfile"
}
}
如果原来的 settings.json 中已经存在其他配置,不要重复添加最外层的大括号,只需要把 files.associations 合并进去。
例如,原配置为:
jsonc
{
"editor.fontSize": 16,
"editor.formatOnSave": true
}
修改后应为:
jsonc
{
"editor.fontSize": 16,
"editor.formatOnSave": true,
"files.associations": {
"*.vue": "vue",
"*.tsx": "typescriptreact",
"*.py": "python",
"*.sh": "shellscript"
}
}
八、Files: Associations 中 Item 和 Value 怎么填写?
如果通过图形界面添加文件关联,需要注意两个字段的含义。
例如,要把所有 .py 文件识别为 Python:
| 配置项 | 填写内容 |
|---|---|
| Item | *.py |
| Value | python |
要把 .tsx 文件识别为 TypeScript React:
| 配置项 | 填写内容 |
|---|---|
| Item | *.tsx |
| Value | typescriptreact |
可以简单理解为:
text
Item = 文件名或文件后缀匹配规则
Value = 编辑器内部的语言标识
常见错误是把两者写反,例如:
text
Item:python
Value:*.py
这种配置不会生效。
九、文件关联不等于安装语言插件
files.associations 只负责告诉编辑器:
这种文件应该按照哪一种语言进行解析。
它可以解决基础的语法高亮问题,但不一定能提供完整的:
- 智能补全;
- 代码跳转;
- 错误检查;
- 自动导入;
- 调试功能;
- 格式化;
- 类型分析。
因此,还需要根据开发语言安装相应插件。
常见插件包括:
Python
text
Python
Pylance
Vue
text
Vue - Official
旧项目可能仍然使用 Vetur,但 Vue 3 项目通常优先使用 Vue - Official。
C/C++
text
C/C++
Java
text
Extension Pack for Java
Rust
text
rust-analyzer
Go
text
Go
可以按下:
text
Ctrl + Shift + X
打开插件市场进行搜索。
十、关于 JSON 和 JSONC 的注意事项
VS Code 的 settings.json 实际支持注释,因此其编辑体验更接近 JSONC。
但是,不建议直接把所有普通 .json 文件都配置为:
jsonc
"*.json": "jsonc"
原因是标准 JSON 文件通常不允许注释和尾随逗号。如果统一关联为 JSONC,可能会让编辑器放宽语法检查,从而掩盖配置文件中的格式错误。
更稳妥的做法是:
jsonc
"*.jsonc": "jsonc"
普通 .json 文件继续使用默认的 JSON 语言模式。
只有在明确知道某类 JSON 文件支持注释时,再单独进行关联,例如:
jsonc
"tsconfig*.json": "jsonc",
"jsconfig*.json": "jsonc"
十一、自定义文件后缀关联
files.associations 也适合处理项目中的自定义文件。
例如,项目中存在 .launch 文件,希望按照 XML 解析:
jsonc
{
"files.associations": {
"*.launch": "xml"
}
}
ROS 2 中的部分配置文件希望按照 Python 识别:
jsonc
{
"files.associations": {
"*.launch.py": "python"
}
}
将特定配置文件识别为 YAML:
jsonc
{
"files.associations": {
"*.config.yaml": "yaml",
"*.params.yaml": "yaml"
}
}
将特殊名称的构建文件识别为 Shell:
jsonc
{
"files.associations": {
"build_robot": "shellscript",
"deploy_robot": "shellscript"
}
}
十二、配置没有生效怎么办?
可以按照以下顺序检查。
1. 检查 JSON 语法
常见问题包括:
- 少写逗号;
- 多写大括号;
- 重复定义
files.associations; - 引号使用错误;
- 把配置写到了最外层大括号之外。
2. 检查语言标识是否正确
语言名称不一定等于插件名称。
例如:
text
JavaScript React → javascriptreact
TypeScript React → typescriptreact
Shell Script → shellscript
C++ → cpp
3. 重新加载编辑器窗口
按下:
text
Ctrl + Shift + P
搜索并执行:
text
Developer: Reload Window
4. 检查插件是否安装
部分语言即使完成文件关联,没有安装对应插件,也只能获得基础语法高亮,无法获得完整的代码补全和检查能力。
5. 检查工作区配置是否覆盖用户配置
VS Code 和 Cursor 的配置可能存在多个层级:
text
默认设置
用户设置
工作区设置
项目文件夹设置
项目目录中的:
text
.vscode/settings.json
可能会覆盖部分用户设置。
如果用户配置正确但当前项目仍然异常,可以检查项目中的 .vscode/settings.json。
十三、开启 Settings Sync
完成插件、主题、快捷键和文件关联配置后,可以开启设置同步。
在 VS Code 或 Cursor 中登录账号后,开启 Settings Sync,通常可以同步:
- 用户设置;
- 快捷键;
- 插件;
- UI 状态;
- 主题;
- 部分用户偏好。
更换电脑或重装系统后,可以快速恢复开发环境。
对于经常在公司电脑、个人电脑和远程开发环境之间切换的用户,这项功能比较实用。
十四、配置后的实际效果
完成以上设置后,可以获得以下体验:
1. 更快打开项目
直接右键项目文件夹,通过 VS Code 或 Cursor 打开,不再需要先启动编辑器再查找目录。
2. 文件类型自动识别
.vue、.tsx、.py、.cpp、.yaml 等文件可以自动使用对应的语言模式。
3. 减少重复配置
通过 settings.json 集中管理文件关联,比在设置界面逐项添加更加直观。
4. 方便多设备迁移
结合 Settings Sync,可以在新设备上快速恢复常用开发环境。
总结
这套配置主要解决两个问题:
text
项目怎么更快打开?
答案是配置资源管理器右键菜单,或者使用:
bash
code .
bash
cursor .
另一个问题是:
text
文件类型识别错误怎么办?
答案是通过:
jsonc
"files.associations"
建立文件后缀与语言模式之间的映射,并安装对应语言的官方插件。
配置完成后,日常打开项目、识别文件和切换开发环境都会更加顺畅。