注意
- 目前,在 JetBrains IDE 中使用 GitHub Codespaces 处于公开测试阶段,可能会发生变化。
- 要在 JetBrains IDE 中使用 codespace,您必须使用 JetBrains Gateway 的 2023.3.* 或 2024.1.* 版本。
Visual Studio Code 网页客户端故障排除
如果您在非 Chromium 浏览器中使用 GitHub Codespaces 时遇到问题,请尝试切换到基于 Chromium 的浏览器,例如 Google Chrome 或 Microsoft Edge。或者,在 microsoft/vscode
存储库中搜索您的浏览器名称标记的问题,以查看您的浏览器是否存在已知问题,例如 firefox
或 safari
。
如果您在基于 Chromium 的浏览器中使用 GitHub Codespaces 时遇到问题,您可以检查 microsoft/vscode
存储库中是否存在 VS Code 的其他已知问题。
与在本地 VS Code 中工作的区别
当您在浏览器中使用 VS Code 网页客户端打开 codespace 时,您会注意到与在 VS Code 桌面应用程序中使用本地工作区相比,有一些区别。例如,某些键绑定将有所不同或缺失,并且某些扩展可能表现不同。有关摘要,请参阅 VS Code 文档中的“已知限制和调整”。
您可以在 microsoft/vscode
存储库中检查已知问题并记录 VS Code 体验的新问题。
Visual Studio Code Insiders
Visual Studio Code Insiders 是 VS Code 的最频繁发布版本。它包含所有最新的功能和错误修复,但也可能偶尔包含导致构建失败的新问题。
如果您使用的是 Insiders 版本并注意到行为异常,建议您切换到 Visual Studio Code Stable 并重试。
点击 在编辑器的左下角,选择**切换到稳定版本...**。如果 VS Code 网页客户端无法加载,或者 不可用,您可以通过在您的 codespace URL 后附加 ?vscodeChannel=stable
并加载该 URL 的 codespace 来强制切换到 Visual Studio Code 稳定版。
如果问题在 Visual Studio Code 稳定版中没有解决,请检查已知问题,并在需要时在 microsoft/vscode
存储库中记录一个新问题。
简单浏览器故障排除
在 codespace 中启动 Web 应用程序后,您可以在嵌入在 VS Code 中的简单浏览器中预览正在运行的应用程序。在某些项目中,应用程序在应用程序启动时会自动在编辑器中的简单浏览器选项卡中打开。如果 codespace 的 devcontainer.json
配置文件中,应用程序运行的端口的 onAutoForward
属性设置为 openPreview
,就会发生这种情况。
"portsAttributes": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
}
如果简单浏览器选项卡没有自动打开,您可以手动打开简单浏览器以查看应用程序。
-
在 VS Code 中,单击**端口**选项卡。
-
右键单击端口,然后单击**在编辑器中预览**。
简单浏览器选项卡没有自动打开
如果 devcontainer.json
配置文件为端口指定了 "onAutoForward": "openPreview"
,但应用程序启动时简单浏览器没有自动打开,请检查应用程序是否已在配置中指定的端口上启动。如果目标端口繁忙,应用程序可能会在其他端口上启动。
为了实现 devcontainer.json
中指定的端口配置,GitHub Codespaces 在创建 codespace 时将配置写入 VS Code 的 settings.json
文件。您可以检查配置是否已正确写入 codespace 中的 settings.json
。
-
在 codespace 的终端中,输入以下命令。
Bash cat ~/.vscode-remote/data/Machine/settings.json
cat ~/.vscode-remote/data/Machine/settings.json
-
验证
settings.json
文件是否包含以下类似行。"remote.portsAttributes": { "3000": { "label": "Application", "onAutoForward": "openPreview" } }
如果 settings.json
文件不包含这些设置,请检查您是否启用了 dotfiles,以及您的 dotfiles 中的任何配置是否覆盖了 settings.json
文件。有关更多信息,请参阅“个性化您的帐户的 GitHub Codespaces”。
应用程序无法加载
有时,您可能会发现简单浏览器选项卡打开了,但显示的是错误页面图标或空白页面,而不是正在运行的应用程序。如果要加载的 Web 应用程序包含内容安全策略 (CSP),该策略会限制网站页面可以嵌入的域,则可能会发生这种情况。有关更多信息,请参阅 mdn 网站上的 CSP: frame-ancestors。
您可能能够在本地更改应用程序的 frame-ancestors
安全策略,以使应用程序显示在简单浏览器中。或者,如果 frame-ancestors
策略导致问题,您应该能够通过在常规浏览器选项卡中打开应用程序来查看应用程序,而不是简单浏览器。为此,请单击 VS Code 中的**端口**选项卡,右键单击端口,然后单击**在浏览器中打开**。
VS Code 故障排除
当您在 VS Code 桌面应用程序中打开 codespace 时,您可能会注意到与在本地工作区中工作相比有一些差异,但体验应该相似。
如果您遇到问题,您可以在 microsoft/vscode
存储库中查看已知问题并记录有关 VS Code 体验的新问题。
Visual Studio Code Insiders
Visual Studio Code Insiders 是 VS Code 的最频繁发布版本。它包含所有最新的功能和错误修复,但也可能偶尔包含导致构建失败的新问题。
如果您使用的是 Insiders 版本并注意到行为异常,建议您切换到 Visual Studio Code Stable 并重试。
要切换到 Visual Studio Code Stable,请关闭 Visual Studio Code Insiders 应用程序,打开 Visual Studio Code Stable 应用程序,然后重新打开您的 codespace。
如果问题在 Visual Studio Code 稳定版中没有解决,请检查已知问题,并在需要时在 microsoft/vscode
存储库中记录一个新问题。
简单浏览器故障排除
在 codespace 中启动 Web 应用程序后,您可以在嵌入在 VS Code 中的简单浏览器中预览正在运行的应用程序。在某些项目中,应用程序在应用程序启动时会自动在编辑器中的简单浏览器选项卡中打开。如果 codespace 的 devcontainer.json
配置文件中,应用程序运行的端口的 onAutoForward
属性设置为 openPreview
,就会发生这种情况。
"portsAttributes": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
}
如果简单浏览器选项卡没有自动打开,您可以手动打开简单浏览器以查看应用程序。
-
在 VS Code 中,单击**端口**选项卡。
-
右键单击端口,然后单击**在编辑器中预览**。
简单浏览器选项卡没有自动打开
如果 devcontainer.json
配置文件为端口指定了 "onAutoForward": "openPreview"
,但应用程序启动时简单浏览器没有自动打开,请检查应用程序是否已在配置中指定的端口上启动。如果目标端口繁忙,应用程序可能会在其他端口上启动。
为了实现 devcontainer.json
中指定的端口配置,GitHub Codespaces 在创建 codespace 时将配置写入 VS Code 的 settings.json
文件。您可以检查配置是否已正确写入 codespace 中的 settings.json
。
-
在 codespace 的终端中,输入以下命令。
Bash cat ~/.vscode-remote/data/Machine/settings.json
cat ~/.vscode-remote/data/Machine/settings.json
-
验证
settings.json
文件是否包含以下类似行。"remote.portsAttributes": { "3000": { "label": "Application", "onAutoForward": "openPreview" } }
如果 settings.json
文件不包含这些设置,请检查您是否启用了 dotfiles,以及您的 dotfiles 中的任何配置是否覆盖了 settings.json
文件。有关更多信息,请参阅“个性化您的帐户的 GitHub Codespaces”。
应用程序无法加载
有时,您可能会发现简单浏览器选项卡打开了,但显示的是错误页面图标或空白页面,而不是正在运行的应用程序。如果要加载的 Web 应用程序包含内容安全策略 (CSP),该策略会限制网站页面可以嵌入的域,则可能会发生这种情况。有关更多信息,请参阅 mdn 网站上的 CSP: frame-ancestors。
您可能能够在本地更改应用程序的 frame-ancestors
安全策略,以使应用程序显示在简单浏览器中。或者,如果 frame-ancestors
策略导致问题,您应该能够通过在常规浏览器选项卡中打开应用程序来查看应用程序,而不是简单浏览器。为此,请单击 VS Code 中的**端口**选项卡,右键单击端口,然后单击**在浏览器中打开**。
JetBrains IDE 故障排除
性能问题
建议使用至少 4 个内核的 GitHub Codespaces 机器类型来运行任何 JetBrains IDE。有关更多信息,请参阅“更改 codespace 的机器类型”。
如果您使用的是具有 4 个或更多内核的机器,并且您在 JetBrains 中体验到的性能有点迟缓,您可能需要增加最大 Java 堆大小。
建议的堆大小根据您的 codespace 的机器类型而异。
机器类型 | 最大堆大小 |
---|---|
4 核,16 GB RAM | 2048 MiB |
8 核,32 GB RAM | 4096 MiB |
16 核,64 GB RAM | 8192 MiB |
32 核,128 GB RAM | 16,384 MiB |
如果堆大小低于建议值,则您的 codespace 启动时会显示一条消息,建议您增加堆大小。您可以单击消息中的链接以自动增加堆大小。
根据您的代码库的大小以及运行应用程序所需的内存,您可能需要进一步增加堆大小。您应该将堆大小设置为介于上表中显示的大小和远程主机 RAM 的 60% 之间。如果您有一个大型应用程序,您不应该设置过大的堆大小,以便为应用程序提供足够的内存。
-
在应用程序窗口顶部导航栏的左侧,单击 codespace 的名称。
-
在“性能”选项卡中,注意 CPU 负载和内存详细信息。这些信息将指示机器是否过载。
-
点击“设置”选项卡并编辑堆大小,将其增加到不超过代码空间可用内存的 60%。
-
点击“保存并重启”。
客户端无法在 macOS Ventura 中打开
在 macOS Ventura 中,使用 2022.3 之前的 JetBrains Gateway 版本时,您第一次尝试从 JetBrains Gateway 连接到代码空间时,会显示一条消息,告诉您 JetBrains 客户端应用程序“已损坏,无法打开”。
此问题已在 JetBrains Gateway 2022.3 及更高版本中修复。
要避免此问题,请更新 JetBrains Gateway。
要解决使用旧版 Gateway 的问题
-
点击“取消”以关闭此消息。
-
点击屏幕左上角的苹果图标,然后点击“系统设置”。
-
点击“隐私与安全”,然后向下滚动到“安全”部分。
您将看到一条消息,告诉您 JetBrains 客户端已被阻止使用。
-
点击“仍然打开”将 JetBrains 客户端添加到您已识别的应用程序中。该消息将再次显示,但这次将显示一个“打开”按钮。
-
再次点击“取消”。
-
返回 JetBrains Gateway 应用程序,并再次连接到所需的代码空间。JetBrains 客户端现在将成功打开。授权客户端应用程序在您的 Mac 上运行后,您在将来连接到代码空间时将不再看到此消息。
SSH 连接问题
要通过代码空间中运行的 SSH 服务器连接,您必须在 ~/.ssh
目录(macOS 和 Linux)或 %HOMEPATH%\.ssh
目录(Windows)中拥有一个 SSH 密钥,该密钥已添加到您的 GitHub 帐户中。如果您在此目录中没有任何密钥,GitHub CLI 将为您生成密钥。有关更多信息,请参阅“将新的 SSH 密钥添加到您的 GitHub 帐户”。
如果您遇到密钥验证问题,请尝试升级您的 GitHub CLI 版本。有关信息,请参阅 GitHub CLI 自述文件中的 升级说明。
JetBrains IDE 问题
有关您正在使用的 JetBrains IDE 或 JetBrains Gateway 应用程序的特定问题,请参阅 JetBrains 网站上的 "产品支持"。