Files
openidea/docs/zh/reference/troubleshooting.mdx
T

76 lines
5.7 KiB
Plaintext

---
title: "常见问题与故障排查"
description: "查找日志,以及解决常见问题:受限模式、缺少代码洞察、Java 内存占用、缓存过期、快捷键、启动和下载问题。"
---
## 查找日志
**帮助 › 在访达中显示日志**(macOS)、**帮助 › 在资源管理器中显示日志**(Windows)或 **帮助 › 在文件管理器中显示日志**(Linux)会打开日志目录并选中当前日志。日志文件名为 `openidea.<日期>.log`。日志位置以及如何用 `RUST_LOG` 输出更详细的日志,参见[数据目录与日志](/zh/reference/data-directories)。
## 什么都运行不了,也没有代码洞察
如果窗口顶部显示 **受限模式:项目命令和工具已禁用。**,说明项目尚未被信任。受限模式下,语言服务器、构建、运行配置等项目命令都不会启动,依赖它们的操作会提示“项目处于受限模式。信任项目后可启用执行功能。”
确认来源可信后,点击横幅中的 **信任项目**。要查看或撤销信任,打开 **设置 › 安全 › 项目信任**。**受信任的位置** 中的文件夹,其下所有项目都会直接被信任。
## 某种语言没有代码洞察
- **语言服务器没有安装。** OpenIDEA 会弹出类似“rust-analyzer 未安装”的通知,并提供 **安装** 和 **语言服务器…** 按钮。可以直接安装,也可以打开 **设置 › 语言和框架 › 语言服务器** 安装服务器、指定自己安装的服务器,或查看 OpenIDEA 找到了哪些。
- **项目仍在建立索引。** 等待状态栏中的 **正在编制索引** 任务完成。
- **省电模式已开启。** 编辑器上方会显示“省电模式已开启:补全和文档弹出窗口以及用法高亮显示已关闭。”点击 **关闭**,或切换 **文件 › 省电模式**。
各语言需要什么,参见[语言支持总览](/zh/languages/index)。
## Java 语言服务器占用大量内存
Java 语言服务器(jdtls)会分析它导入的每个模块,所以大型 Maven 或 Gradle 构建需要较多内存。它默认以 `-Xmx2G` 运行。
- **调整内存上限。** 在 **设置 › 语言和框架 › Java** 的 **语言服务器** 部分设置 **JVM 选项**,例如 `-Xmx4g`。这里设置的选项会替换同名的默认选项。
- **少导入一些模块。** 在 Maven 工具窗口中右键点击不需要的模块,选择 **取消链接 Maven 项目**。语言服务器不再导入它们;文件仍保留在项目视图中,重新添加对应的 `pom.xml` 即可恢复。
- **共用一个服务器。** 同一页面中的 **在构建间共享 JDT LS** 会让一个项目窗口中已关联的构建共用一个 jdtls 进程。
更多内容参见[Java 与 Kotlin](/zh/languages/java)。
## 结果过期或不正确
如果导航、搜索或高亮与文件内容不符,用 **文件 › 清除缓存…** 并选择 **清除并重启** 重建缓存。符号索引总会重建。语言服务器保留了旧的项目数据时,再勾选 **清除语言服务器工作区(Java 导入数据和索引)**;构建文件出问题后,可以勾选 **清除构建工具缓存(Maven / Gradle 同步结果)**。
## 快捷键没有反应
1. 打开 **设置 › 按键映射**,点击 **按快捷键查找操作** 并按下该快捷键,查看它绑定在哪个操作上。
2. 如果 OpenIDEA 根本收不到这个按键,说明被其他程序占用了:操作系统(例如 macOS 的 `⌃⌘D`),或显卡叠加层之类的应用。修改那个程序的快捷键,或在 OpenIDEA 中换一个快捷键。
3. 开启 Vim 模式时,编辑器中的按键可能由 Vim 处理。参见[Vim 模式](/zh/guide/vim)。
## Windows 安装时出现警告
Windows 安装包目前还没有代码签名,Microsoft Defender SmartScreen 可能提示“未知发布者”。点击 **更多信息**,再点击 **仍要运行**。参见[安装](/zh/guide/install)。
## Linux 上窗口一片空白
在使用 NVIDIA 驱动的 Wayland 会话中,WebKitGTK 的 DMA-BUF 渲染器会出错。OpenIDEA 检测到这种组合时会自动设置 `WEBKIT_DISABLE_DMABUF_RENDERER=1`。如果在其他环境下也出现空白或显示异常的窗口,先退出 OpenIDEA,再在终端中带上这个变量启动,例如:
```sh
WEBKIT_DISABLE_DMABUF_RENDERER=1 ./OpenIDEA_<version>_amd64.AppImage
```
## 启动时提示数据目录错误并退出
`OPENIDEA_LOCAL_DATA_DIR` 被设成了相对路径或不可写的文件夹。修正或删除这个变量即可。参见[数据目录与日志](/zh/reference/data-directories)。
## 设置不生效
如果手动编辑的 `settings.toml` 无法解析,或者某个值类型不对,OpenIDEA 会忽略整个文件,并在日志中写入类似 “has invalid settings, ignoring it” 的警告。修正文件,或改用设置窗口修改(设置窗口写入的 TOML 一定有效)。参见[设置项](/zh/reference/settings)。
## 下载或更新缓慢、失败
- 检查 **设置 › 外观与行为 › 系统设置 › HTTP 代理**。**检查连接…** 可以用当前代理设置测试某个 URL。
- 在国内,可以在 **设置 › 外观与行为 › 系统设置 › 更新** 中把 **更新源** 设为 **CNB(国内镜像)**。下载失败或被取消时,通知中会提供改用另一个来源重试的按钮。
## 报告问题
1. 在 **关于 OpenIDEA** 中点击 **复制信息**,复制版本和平台信息。
2. 点击 **报告问题**(或直接前往 [GitHub Issues](https://github.com/l0ng-ai/openidea/issues/new/choose)),写明复现步骤。
3. 附上日志中相关的部分。
也欢迎在 [Discord](https://discord.gg/2Zy4yn7gP) 提问和反馈;README 中还有微信群二维码。