mount 与多工作区自然融合
1. 什么是挂载
"挂载"就是把 其他目录 以逻辑别名的方式,附加到当前工作区中,让 AI 助手的视野覆盖多个工作区域(或项目)。
SolonCode 支持三种挂载类型。其中文件类型挂载:
| 类型 | 说明 | 典型用途 |
|---|---|---|
| 文件类型(FILES) | 挂载一个完整的目录树 | 把关联的子项目、共享库、配置文件目录挂进来 |
文件挂载的核心价值在于:跨项目协作。你可以对一个提示词同时操作两个工作区,比如 "把 @common-lib 下的版本号更新到 2.0.0,同时在 @web-app 的 pom.xml 里更新依赖"——一次对话完成。
2. 在设置页添加挂载
打开设置 / 挂载
点击右上角的「齿轮」图标打开设置面板,选择「挂载」tab,再点添加挂载:

添加一个文件类型挂载
- 在挂载页面点击「添加挂载」
- 填写表单:
- 别名:为挂载取一个唯一的名字(如
@my-lib、@config),这是后续在 AI 对话中引用它的标识 - 类型:选择
FILES(文件/目录类型) - 路径:选择要挂载的目录(绝对路径)
- 是否可写:这个开放权限很重要(可以只读,可以又读又写)
- 别名:为挂载取一个唯一的名字(如
- 点击「保存」
启用 / 禁用挂载
每个挂载条目右侧有一个开关(toggle),可以随时启用或禁用挂载。禁用后,AI 助手的视野中不再包含该挂载,但配置保留,方便再次启用。
删除挂载
点击挂载条目右侧的删除按钮,确认后移除。删除不会影响原始文件,仅移除 SolonCode 中的挂载配置。
3. 挂载后的即时同步体验
在设置页中对挂载进行任何操作(添加/更新/启用禁用/删除)后,右侧区域的文件面板和审查面板会即时同步变化:
| 操作 | 文件面板变化 | 审查面板变化 |
|---|---|---|
| 添加挂载 | 立即出现新的工作区节点(带 @别名) | 工作区下拉列表中出现新的挂载选项 |
| 禁用挂载 | 对应工作区节点消失 | 工作区下拉中移除该选项 |
| 启用挂载 | 对应工作区节点重新出现 | 工作区下拉中重新出现 |
| 删除挂载 | 对应节点彻底移除 | 下拉中彻底移除 |
无需手动刷新页面,也无需关闭设置面板再打开,一切实时生效。

4. 文件面板的快捷入口
在文件面板底部,随时可以看到一个「添加文件类型挂载」入口:
- 当你想把另一个项目目录加进来时,点击它直接跳转到「设置 → 挂载」页面
- 不需要在设置面板中翻找,从文件面板一步直达
5. 在对话中操控多个工作区
挂载的目录和文件,会在文件面板中以独立的工作区节点展示,每个节点前带有 @别名 标识。
在 AI 对话中,你可以通过 @别名 来引用不同工作区中的资源:
语法
@工作区别名/相对路径
示例
假设你挂载了两个工作区:
- 当前工作区(默认,无需 @ 前缀)
@solon-ai-source(已挂载的目录)
对话示例:
"把工作区的
a.md删掉,@solon-ai-source 的b.md删掉"
SolonCode 会识别 @solon-ai-source 前缀,将操作定位到对应的挂载目录,同时执行两次删除。
更实际的场景:
"把 @web-app 下
src/main/resources/application.yml的端口改成 8081,然后在 @backend 下添加一个新的接口路由"
一次对话,跨两个项目完成需求。
6. 在审查面板中筛选工作区
审查面板的「工作区」下拉菜单列出了所有已启用且可访问的挂载。选择某个工作区后,审查范围将被限定在该工作区内:
- Git 状态:仅显示该工作区的变更文件
- 文件差异:对比仅限于该工作区路径
- 提交记录:针对该工作区进行版本查看
这让「审查」变得精准——不会把不同项目的变更混在一起,也不会因为项目庞大而加载过慢。
7. 挂载配置的存储
挂载配置保存在当前工作区的 settings.json 中(位于 .soloncode/settings.json),结构大致如下:
{
"mounts": [
{
"alias": "@solon-ai-source",
"type": "FILES",
"path": "/Users/me/projects/solon-ai",
"enabled": true
},
{
"alias": "@shared-config",
"type": "FILES",
"path": "/Users/me/config/shared.properties",
"enabled": true
}
]
}
这意味着:
- 可版本控制:
settings.json可纳入 Git(当然需留意路径在不同机器上的差异) - 可迁移:复制
settings.json即可迁移挂载配置 - 可脚本化:可以用文本编辑器或脚本批量修改挂载配置
8. 最佳实践
什么时候用挂载?
- 微服务/模块化项目:将多个模块以挂载形式加入,AI 可以理解整个调用链路
- 共享库引用:把公共 SDK、工具库挂进来,AI 在写代码时能自动参考其 API
- 文档与代码联动:把需求文档目录挂进来,AI 可以按文档描述实现功能
小建议
- 别挂太多:通常 3~5 个工作区挂载是比较舒适的范围,过多会让 AI 上下文变重
- 常用挂载保持启用:不常用的可以禁用而非删除,下次需要时一键恢复
- 别名要语义化:
@common-lib比@lib1更容易记住和理解 - 关闭不再需要的挂载:避免 AI 被不相关的文件干扰
9. 常见问题
Q:挂载会影响源文件吗? A:不会。挂载仅指 AI 助手的"视野"范围,文件的操作仍然通过你的工作区控制。删除/修改文件是真实的操作。
Q:挂载的目录路径变了怎么办? A:在设置页编辑该挂载,更新路径即可。如果是共用 settings.json 的场景,直接修改 JSON 中的 path 字段最快。
Q:为什么有的挂载在文件面板中不可见? A:请检查该挂载是否已启用(toggle 处于开启状态),以及路径是否依旧有效(目录未被移动或删除)。
Q:不同工作区有同名文件时,AI 怎么区分? A:通过 @别名 前缀明确指定。不指定默认操作当前工作区。