Skip to content

工作区编辑器 ​

不只是 AI 终端——智码 AICoder 内置了一套轻量代码工作区:文件树、带语法高亮的编辑器、代码大纲、Git 面板、终端和预览浏览器,让你在与 AI 协作的同时直接查看和修改代码,无需来回切换到外部 IDE。

工作区视图布局 ​

工作区把一个项目目录的常用操作集中到一个视图里:

┌──────────┬───────────────────────────┬──────────┐
│  文件树   │       代码编辑器            │  大纲     │
│          │   (语法高亮 + One Dark)    │(符号导航)│
│  src/    │                           │          │
│  ├ App   │   1  import ...           │ ▸ 类 Foo  │
│  ├ lib/  │   2  function foo() {     │   · 方法  │
│  └ ...   │   3    ...                │          │
├──────────┴───────────────────────────┴──────────┤
│  Git 面板  /  内置终端  /  预览浏览器(可切换)       │
└─────────────────────────────────────────────────┘

本地项目和远程主机上的项目都能用同一套工作区界面操作。

内嵌到主窗口右侧(v5.2.0+) ​

工作区早期只能弹独立窗口——想看一眼文件树或改动清单就得切窗口,切回来还得重新找会话。现在它也能嵌在主窗口右边,跟终端并排。

  • 常驻活动条 — 主窗右缘一条 40px 的窄栏,上半部分是视图开关:项目文件、变更、分支、终端、远程文件;识别为 Maven 项目时多一个「构建」
  • 可拖宽面板 — 拖分隔条调宽度(280–720px);双击分隔条还原该视图的默认宽度(终端和远程文件天然需要更宽,各有各的舒适值)
  • 随时弹出独立窗口 — 活动条底部有按钮,需要大屏细看时一键弹出
  • 用 IDEA 打开 — 活动条底部、弹出按钮上方,一键把当前项目交给本机的 JetBrains IDE。图标直接取你本机那个程序的图标(装的是 IDEA、WebStorm 还是 PyCharm,显示的就是哪个),取不到时显示文字「IDEA」;第一次没检测到 IDE 时会让你手动选一次可执行文件。远程工作区下不显示(本机 IDE 打不开远端路径)
  • 点文件直接打开 — 内嵌栏没有编辑器,点文件会把路径带到工作区窗口并直接定位到那个文件

终端视图切走了也不会断

切到「变更」再切回「终端」,之前跑着的命令还在——终端视图一旦挂载就常驻,只是切换可见性,不会被卸载重开 shell。

本地工作区下「远程文件」按钮是置灰而不是隐藏,这样你能知道有这个能力、切到远程主机就能用。

另外还有一个悬浮终端窗:在项目目录拉起一个置顶小窗跑系统 shell,适合「边看终端边操作主窗口」,弹出后不受内嵌栏开合影响。

文件树 ​

左侧文件树展示项目目录结构,支持完整的文件操作:

操作方式
展开 / 折叠目录点击目录行(chevron 图标居中对齐)
新建文件 / 文件夹右键菜单 → 新建
重命名右键菜单 → 重命名
删除右键菜单 → 删除
把文件作为 AI 上下文右键菜单 → 加入上下文
长文件名查看支持横向滚动,不截断

文件树针对深层目录和长文件名做了优化,配合横向滚动,再深的路径也能完整浏览。

代码编辑器 ​

点击文件在中间区域打开,编辑器基于 CodeMirror,采用 One Dark 暗色主题:

语法高亮 ​

覆盖常见语言:

类别语言
前端JavaScript / TypeScript、HTML、CSS、Vue 单文件组件
后端Rust、Python、Java
数据 / 配置JSON、YAML、XML
文档Markdown

Vue 单文件组件(v5.2.0+) ​

打开 .vue 文件时补全能认识你这个项目:

  • 项目内组件 — 敲 <MyTa 能补出项目里定义的组件
  • 组件的 props — 敲 <MyTable :co 能补出该组件声明过的 props
  • Vue 指令 — v-if / v-for / @click / :prop 这些都在补全里
  • <style lang="scss"> — scss / less / postcss 的样式块正常高亮(此前会整块退化成纯文本)

关于缩进语法

.sass 与 stylus 这类缩进语法不接——它们和 CSS 差别太大,硬套 CSS 解析器的结果比纯文本还糟。

编辑器标签 ​

打开的每个文件一个标签,标签上带 IDEA 风格的文件类型图标,开着十几个文件时也能凭图标一眼分出哪个是组件、哪个是配置、哪个是样式。

代码大纲 ​

右侧大纲面板从当前文件提取符号结构(类、函数、方法等),点击可快速跳转到对应位置,适合在长文件里导航。

Git 面板 ​

针对当前工作区目录的 Git 仓库,提供图形化操作:

功能说明
状态查看已修改 / 已暂存 / 未跟踪文件
Diff逐文件查看改动内容(编辑器风格的差异视图),已删除的文件也能看
提交暂存改动并填写提交信息提交
分支查看 / 切换分支

远程工作区下,这些操作通过 SSH 作用于远端仓库。

变更导航条 ​

几百行的文件里到底改了几处、改在哪儿,不用靠手滚。工作区的 Diff 视图、提交详情,以及推送弹窗里点开文件看到的「远端版 vs 本地版」只读对比,顶部都有一条变更导航条:

  • ↑ / ↓ 按钮旁边是计数:刚打开时显示共「N 处变更」,跳过之后显示当前是「第 x/N 处」
  • 点 ↑ / ↓,或按 Shift+F8 / F8,逐处跳到上一处 / 下一处变更
  • 点计数本身也能跳到下一处
  • 两个版本完全相同时不显示这条栏

构建面板(Maven,v5.2.0+) ​

Java 项目在内嵌栏里多一个「构建」视图,对标 IDEA 的 Maven 工具窗:

分区内容
生命周期clean / validate / compile / test / package / verify / install / site / deploy 九项,点一下就在隔壁终端跑
依赖刷新依赖、强制更新(-U)、依赖树
Profiles列出 pom 里定义的 profile
模块多模块项目的子模块清单
可启动识别出的可运行入口(Spring Boot 主类、可执行 jar 等),点一下交给侧边栏任务启动
其他任务项目里扫到的非 Maven 命令(npm 脚本、bat / sh / ps1 / py 等),点一下在隔壁终端跑

打开面板不会跑任何 Maven 命令

只读 pom、查一次 mvn 路径,都是毫秒级。dependency:tree 这类真要跑 Maven 的操作一律点了才触发——"打开项目就自动同步依赖"是 IDEA 挨骂最多的点,这里不学。

Maven wrapper(mvnw)、多模块递归、父子去重这些都已经处理好,与侧边栏的任务启动共用同一套项目扫描结果。

「可启动」项:启动、停止与状态 ​

「可启动」里都是要一直跑着的服务,所以它们不往共享终端里塞命令,而是走任务系统:第一次点会在侧边栏该项目下登记成一条任务(之后再点复用这一条,不会越点越多),并在单独的任务标签里运行。进程清理、端口占用、停止、重启都由任务系统接管。

行上的元素说明
火箭图标 / 绿色圆点圆点表示该服务的端口正在监听,一眼看出哪几个已经起来了
:端口号服务起来后点它,直接在浏览器打开 localhost:端口
停止按钮只在服务运行时出现在行尾。服务是从任务系统起的,就按任务停止;是别处起的(外部终端、IDEA、上次残留),就按端口结束占用它的进程
点整行未运行时启动;已在运行时重新启动

纯库项目与「其他任务」 ​

真实的 Java 仓库很少只有 Java,常常还带着前端子工程和各种脚本。这些非 Maven 的命令不会被过滤掉,而是单独归到「其他任务」一组;没扫到就不显示这一组。

纯库项目(没有可启动的入口)的「可启动」会如实显示为空,此时「其他任务」默认展开,打开面板不会只看到一句「没有可启动项」。

编译前的内存提醒 ​

跑 package / install 这类重编译时,如果系统提交内存所剩不多,面板会先提醒一句「提交内存只剩 X GB,重编译峰值约 Y GB」,建议先点状态栏内存百分比腾一些,或等会儿再编译。只提醒、不拦截,仅 Windows 有这项提醒。内存优化见系统与更多。

认不出已经装好的 JDK 怎么办

可以联系我们获取 JDK 诊断脚本:双击即可运行,它会把检测结果保存成一个文本文件放在脚本旁边,把这个文件发回给我们即可,不用手敲任何命令。

内置终端 ​

工作区底部内置终端,与主会话终端独立,方便在不打断 AI 会话的情况下手动跑命令:

  • 路径可点击:终端输出里的文件路径会被识别为链接,点击直接在编辑器中打开
  • 远端 tmux:远程工作区的终端基于 tmux,开启了鼠标支持,滚轮可向上翻阅历史输出
  • 其它面板能往它发命令:构建面板的生命周期、依赖、「其他任务」等命令都会送进这个终端执行,不再另开一个;「可启动」里的长期服务则交给侧边栏任务,在单独的任务标签里跑

预览浏览器 ​

对于跑着本地开发服务器的前端项目,工作区可内嵌一个预览浏览器窗口,边改代码边看效果,无需切到外部浏览器。

快捷键在各类标签上都可用 ​

Git 提交(Ctrl+K)、Git 推送(Ctrl+Shift+K)、打开工作区窗口(Ctrl+Shift+O)这几个快捷键,不只在会话标签上有效:当前停在项目快捷 Tab 或任务标签上时,同样按该标签所属的项目执行,不会再提示「没有项目路径」。完整键位见快捷键。

侧边栏任务 ​

dev server、后端服务这类要一直跑着的命令,可以登记成项目的「任务」,挂在侧边栏该项目分组的上方,一键启停,每个任务在自己的任务标签里运行。

登记与启停 ​

  • 登记 — 目录右键 →「扫描可启动命令」,从扫描结果里勾选;或在「任务」分组头上右键 →「手动添加任务」。构建面板「可启动」里点过的服务也会自动登记在这里
  • 启停 — 鼠标移到任务行上出现启动 / 停止、重启、删除按钮;双击任务行等同点启动;单击只切到已打开的任务标签,不会误启动
  • 状态 — 行首圆点区分运行中、启动中(声明了端口但端口还没起来)、已结束、崩溃,以及后台有未查看的新输出;悬停圆点看一句话状态(端口是否就绪、退出码、运行了多久)
  • 右键菜单 — 启动 / 停止、重启、复制指令、打开产物目录、删除任务

发给 AI 排查 ​

任务崩溃,或日志里扫到了疑似错误时,任务名旁会出现一个警告图标。点它(或右键 →「发给 AI 排查」)会新建一个 AI 会话,把命令、目录、退出码、错误行和日志末尾整理成排查提示词直接发出去,AI 马上开始排查。只想自己贴给别的 AI,用右键 →「复制排查信息」。

临时任务 ​

编排里的 AI 子会话为验收、预览单独起的服务会登记成临时任务,收在该项目任务分组里单独的「临时」子组中(默认折叠,正在看的那条会自动展开),不挤占常驻任务的位置:

  • 临时任务的停止按钮叫「停止并移除」:停止后自动从列表移除;重启智码后也会自动清掉
  • 想留下来常用,右键 →「保留为常驻任务」,之后就不会再被自动移除

AI 启动任务不打扰你 ​

AI 通过 MCP 启动或重启项目任务时(例如编排里改完后端代码要重新测),任务标签会在后台打开,不会把你从正在看的标签上拽走。

移除目录会连任务一起删

在侧边栏对目录执行「移除整个目录」时,该目录下的任务会一并删除,正在运行的先停止。详见多标签会话管理。

本地与远程一致 ​

工作区编辑器的所有能力——文件树、编辑器、大纲、Git、终端——在本地工作区和远程 SSH 工作区下表现一致。切换到远程工作区后,操作的就是远端主机上的文件和仓库。

相关章节 ​

若依科技工作室 · 承接后台管理 / 桌面软件 / 全栈 / 小程序定制开发 · 技术服务咨询