> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# JetBrains 故障排查

> 排查 JetBrains 插件问题，包括 JCEF 错误、证书问题、自定义工作区以及扩展诊断。

<div id="supported-versions">
  # 支持的版本
</div>

支持 2022.3 及以上版本。

* 暂不支持 JetBrains Fleet 或 ReSharper
* 暂不支持 Remote SSH。

<div id="gathering-extension-logs">
  # 收集扩展日志
</div>

从扩展版本 1.10.0 起，Chat Panel 在 Settings 页面中新增了一个 Extension Diagnostics 按钮。点击此按钮后，系统会自动将相关日志和参数收集到一个可下载的文本文件中。

对于旧版本的扩展：

1. 日志会写入 idea.log 文件。要找到该文件，请前往 `Help > Show Log in Finder/Explorer` 菜单选项

2. 导出或复制日志

<div id="known-ide-issues-and-solutions">
  # 已知 IDE 问题及解决方法
</div>

<div id="cascade-not-being-displayed">
  ## Cascade 未正常显示
</div>

通常，你会在日志中看到以下错误：

```
JCEF is not supported in this env or failed to initialize
```

或

```
Internal JCEF not supported, trying external JCEF
```

JCEF 是显示 Cascade 所需的浏览器组件。要修复此问题，请前往 `Help > Find Actions > Choose Java Boot Runtime`，然后选择一个捆绑了 JCEF 的 runtime。
如果你的 runtime 已经捆绑了 JCEF，JCEF 可能是在你的 registry/properties 中被禁用了。
编辑你的 properties：Help > Edit Custom Properties，添加以下标志，然后重启 IDE：

```
ide.browser.jcef.enabled=true
```

<div id="certificate-issues">
  ## 证书相关问题
</div>

如果你遇到以下错误：

```
Failed to fetch extension base URL at <YourDomainURL>
```

```
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: 
unable to find valid certification path to requested target
```

这表明，Codeium 扩展无法信任与你的企业门户 / API 服务器之间的 TLS 连接，因为它不信任所提供的证书。这意味着，要么是 Codeium 部署提供的证书不受信任，要么是拦截该请求的企业代理提供的证书不受信任。

无论哪种情况，更理想的解决方案都是确保签发此证书的根证书已正确安装到终端用户设备上的适当位置。JetBrains IDE 和大多数其他 IDE 都会从操作系统的默认位置加载证书。

你的证书由本地 IT 或 Admin 团队签发和管理。请联系他们，协助你在系统上安装所需的证书。

必须确保在 TLS 终止的位置提供完整的证书链，这一点非常重要。很多时候，如果只提供终端证书，JetBrains IDE 和其他 IDE 将无法验证其真实性，因为它们无法识别用于验证终端证书、且自身又由根证书验证的中间证书。浏览器通常能够规避这个问题，因为用户很可能此前访问过提供完整证书链的其他网站，因此中间证书已被识别并缓存；但 JetBrains IDE 之类的应用并没有这种优势。

**注意**：JetBrains 系列产品 **2024.3** 中引入了一个 bug，导致 IDE 无法接受操作系统证书 ([JetBrains 问题报告](https://youtrack.jetbrains.com/issue/IJPL-171446/Unable-to-find-valid-certification-path-to-requested-target-exception-in-Settings-Sync-when-proxy-is-used)) 。要解决此问题，用户可以执行以下任一操作：

* 将 JB 产品降级到更早的版本
* 使用 2024.3.1 预览版 (beta 版本)
* 添加 `-Djavax.net.ssl.trustStoreType=Windows-ROOT` 作为自定义 JVM 选项

<div id="custom-workspaces">
  ## 自定义工作区
</div>

如果你在使用 Cascade 时看到以下报错：

```
Cascade cannot access paths without an active workspace
```

这表明 Cascade 需要访问自定义工作区才能正常运行。要解决此问题，请按以下步骤操作：

1. 前往 `File > Settings` (macOS 上为 `IntelliJ IDEA > Preferences`) ，打开 JetBrains IDE 的设置

2. 导航到 `Tools > Windsurf Settings`

3. 在 Windsurf Settings 面板中，找到底部的 "Custom Workspaces" 部分

4. 点击 "Add Workspace" 按钮，添加你的项目工作区

5. 为你的项目选择相应的工作区目录

6. 点击 "OK" 以应用设置

7. 重启 IDE，使更改生效

<div id="enterprise-vs-non-enterprise-behavior">
  ### Enterprise 与非企业版的行为差异
</div>

自定义工作区的行为会因用户类型不同而有所差异：

<div id="enterprise-users">
  #### Enterprise 用户
</div>

Enterprise 用户可以选择性地控制工作区索引：

* 添加工作区时，你会看到一个复选框，可为每个工作区启用索引
* 只有勾选该复选框的工作区才会建立索引，并可供 Cascade 使用
* 这样你就可以控制哪些工作区会占用索引资源
* 出于安全考虑，工具调用仅限于当前活动工作区

<div id="non-enterprise-users">
  #### 非 Enterprise 用户
</div>

非 Enterprise 用户的工作区会自动建立索引：

* 你添加的任何工作区都会自动建立索引，无需勾选复选框
* 所有已添加的工作区都会立即对 Cascade 可用
* 在当前活跃工作区之外，工具调用永远不会被阻止
* 在这种模式下，选择性索引功能不适用

完成上述设置步骤后，Cascade 应该就能访问你的工作区并正常运行。

<div id="keyboard-shortcuts-not-working-in-rider-on-windows">
  ## Windows 上 Rider 中的键盘快捷键无法使用
</div>

如果你在 Windows 上使用 JetBrains Rider，并遇到 Shift+Enter 无法在 Cascade 中另起一行，或 Delete 键不起作用的问题，这是由于 Rider 的 Unit Test Tool Window 存在键位绑定冲突导致的。

这是一个已知问题，会影响 Rider 中的 AI 插件。要解决此问题：

1. 打开 JetBrains IDE 设置，进入 `File > Settings`

2. 导航到 `Keymap`

3. 搜索 "Unit Test Tool Window Action"

4. 禁用或重新分配冲突的键位绑定 (Shift+Enter 和 Delete)

5. 重启 IDE，使更改生效
