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