跳转到主要内容
OpenIDEA 的应用 id 是 ai.l0ng.openidea,下面所有目录都以它命名。

目录位置

在 macOS 和 Linux 上,其中几项是同一个文件夹。关于 OpenIDEA 对话框会显示配置目录,并提供 打开配置目录。

配置

  • settings.toml:全局设置,参见设置项。
  • recent.json、recent-groups.json:最近打开的项目及其分组。
  • languages/:你添加或覆盖的语言定义。

用户数据

  • plugins/:已安装的插件。
  • scratches/:临时文件。
  • history/:所有项目的本地历史记录。
  • project-trust.json:受信任的项目和位置。

本地数据

这里的内容都可以重新下载或重建,所以在 OpenIDEA 关闭时删除是安全的:
  • tools/:OpenIDEA 安装的语言服务器、调试适配器、格式化工具和 JDK。
  • language-server-runtimes/:运行语言服务器所用的运行时。
  • index/:每个项目的符号索引。
  • cache/:构建工具(Maven、Gradle)的同步结果和其他缓存。
  • lsp/:语言服务器的工作区,例如 Java 服务器的导入数据。
  • notebook-runtime/、server/:Notebook 运行时和远程开发服务器的下载。
  • agents/tools/、agents/registry.json:智能体工具和智能体注册表。
想在 IDE 内清理缓存,使用 文件 › 清除缓存…。符号索引和语法缓存总会重建;还可以勾选 清除文件系统缓存和本地历史记录、清除语言服务器工作区(Java 导入数据和索引) 和 清除构建工具缓存(Maven / Gradle 同步结果)。选择 清除并重启 后,这些缓存会在下次启动、打开任何项目之前删除。

项目文件夹

每个项目在根目录的 .openidea/ 中保存自己的文件:
  • settings.toml:选中 此项目 时保存的设置。
  • run.toml:作为项目文件保存的运行配置,适合提交到版本库。
  • run.local.toml:只给自己用的运行配置,OpenIDEA 会把它加入 .openidea/.gitignore。
  • workspace.json:工作区包含的项目。

移动本地数据

本地数据可能很大(JDK、语言服务器、索引)。想把它放到其他磁盘,在启动 OpenIDEA 前把 OPENIDEA_LOCAL_DATA_DIR 设为一个绝对路径。IDE 随后会使用 <OPENIDEA_LOCAL_DATA_DIR>/ai.l0ng.openidea,不存在时自动创建。 在 Windows 上,例如:
在 macOS 和 Linux 上,需要在启动 OpenIDEA 的环境中设置这个变量。
  • 如果路径是相对路径或不可写,OpenIDEA 会显示错误并退出,而不会退回默认位置。
  • 配置、用户数据和日志的位置不变。即使变量设置有误,日志仍会写入,方便排查原因。
  • 已有数据不会自动迁移。可以让 OpenIDEA 重新下载和重建;也可以先退出 OpenIDEA,只移动 tools/、language-server-runtimes/、index/、cache/、lsp/、notebook-runtime/、server/、logs/、agents/tools/、agents/registry.json 以及顶层的 java-usages-*.jar / java-usages-*.tmp 文件,并保持相对路径不变。其他内容请留在原处。

日志

OpenIDEA 每天写一个日志文件 openidea.<日期>.log,保留最近 7 个。程序崩溃(panic)的信息也会写入当前日志。
  • 用 帮助 › 在访达中显示日志(macOS)、帮助 › 在资源管理器中显示日志(Windows)或 帮助 › 在文件管理器中显示日志(Linux)打开日志目录。关于 OpenIDEA 对话框中也有同样的链接。
  • 需要更详细的日志时,启动 OpenIDEA 前设置环境变量 RUST_LOG,例如 RUST_LOG=debug。默认级别为 info,应用自身输出 debug 级别日志。
报告问题时请附上日志。