PyCharm 2025.3 Help

共享索引

减少索引时间的一种可行方式是使用共享索引。 与在本地构建的常规索引不同,共享索引仅生成一次,之后在需要时可在另一台计算机上重复使用。

PyCharm 可以为您项目的代码构建并使用共享索引。 每当 PyCharm 需要为您的应用重建索引时,它会使用可用的共享索引,并为项目的其余部分构建本地索引。 通常,这比从头为整个应用构建本地索引更快。

共享项目索引

共享项目索引针对项目源代码及其依赖项构建。 在单台计算机上生成索引并将其分发到其他计算机,您即可避免在每台机器上重复执行索引过程。 这样,每台计算机都能受益于预先计算的索引,而无需各自执行代价高昂的索引操作。 这是共享索引相较于普通索引的主要优势。

对于大型项目,使用共享索引是合理的选择,因为索引可能耗时很长,从而给相关团队带来不便。 对于较小的项目,我们建议采用 缩短索引时间的其他方法

请确保已安装插件

要使用共享项目索引,必须在设置中启用捆绑的 共享项目索引 插件:

  1. 按下 Ctrl+Alt+S 打开设置,然后选择 插件

  2. 切换到 已安装 选项卡,输入 Shared Project Indexes ,并确保选中其旁边的复选框。

    否则,请选中该复选框以启用插件。

  3. 应用更改并关闭对话框。 如果出现提示,请重启 IDE。

安装插件

要能够使用共享项目索引,请安装 共享项目索引 插件:

  1. 按下 Ctrl+Alt+S 打开设置,然后选择 插件

  2. 切换到 Marketplace 选项卡,并在搜索字段中输入 Shared Project Indexes

  3. 在可用插件列表中找到该插件后,点击其旁边的 安装

  4. 应用更改并关闭对话框。 如果出现提示,请重启 IDE。

开始之前

构建项目共享索引的计算机以及使用项目共享索引的任何计算机:

  • 应使用相同的 IDE 版本以确保索引兼容性。

  • 可以使用不同的操作系统。

    不过,在较早的 PyCharm 版本中,共享项目索引是特定于操作系统的。 请使用本页左上角的版本切换器,查阅与您的 IDE 版本对应的文档。

在将共享项目索引纳入您的基础架构之前,您可以通过运行命令行工具来 评估它们在索引方面可节省的时间。

如果对结果满意,您可以继续使用共享索引。 在更复杂的场景中,您可以自定义 IntelliJ Shared Indexes Tool Example 存储库中的示例脚本。 例如,生成共享索引时,您可以使用 JSON 配置文件来禁用 xz 压缩,或使用 gzip 压缩。

评估使用共享索引的索引时间

在将共享项目索引用于您的工作流程之前,您可以了解它能为您节省多少时间。 在评估期间,该工具会在您指定的目录中生成一些文件。

  1. 下载最新版本的 命令行工具 ,并解压压缩包。

  2. 在命令行中,导航到命令行工具的目录,然后运行可执行文件:

    .\bin\ij-shared-indexes-tool-cli.bat boost
    ./bin/ij-shared-indexes-tool-cli boost
    ./bin/ij-shared-indexes-tool-cli boost

    并使用以下选项:

    • --ij: (必需)本地安装的 IDE 的路径。

    • --project: (必需)要构建共享索引的项目的路径。

    • --port :用于运行本地服务器的端口。 默认端口为 25561。

    • --data-directory :用于存储生成的索引和服务器数据的目录。 默认目录为 ./ij-shared-indexes-tool-data

    例如:

    ./bin/ij-shared-indexes-tool-cli boost --ij "/Users/jetbrains/Library/Application Support/JetBrains/Toolbox/apps/PyCharm-P/ch-1/232.7754.76/PyCharm 2023.2 EAP.app" --project "/Users/jetbrains/PycharmProjects/mySampleProject"
  3. 请稍等片刻。 之后,您将看到使用共享索引和不使用共享索引时的索引时间。

通过比较时间差,您可以决定是否在工作流程中使用共享项目索引。

生成项目索引

按照以下步骤生成索引文件。 生成索引后,您需要 将文件上传到文件服务器或 S3 兼容存储

  1. 下载最新版本的 命令行工具 ,并解压压缩包。

  2. 在命令行中,导航到命令行工具的目录,并通过命令行运行可执行文件:

    .\bin\ij-shared-indexes-tool-cli.bat indexes
    ./bin/ij-shared-indexes-tool-cli indexes
    ./bin/ij-shared-indexes-tool-cli indexes

    并使用以下选项:

    • --ij: (必需) 本地安装的 IDE 的路径。

    • --project: (必需)要构建共享索引的项目的路径。

    • --base-url: (必需)索引服务器 URL。 用于确定托管共享索引的完整 URL 的基本 URL。

    • --data-directory :用于存储生成的索引和服务器数据的目录。 默认目录为 ./ij-shared-indexes-tool-data 。 您应将此目录中的文件上传到在 base-url 参数中指定的服务器。

  3. 生成项目索引后,您将看到一条消息,其中包含 在项目中配置共享索引所需的信息。

生成索引后,在执行 indexes 命令时, 您指定的目录 中会出现两个文件夹: server temp 。 索引文件存储在 server 目录中。

将文件上传到存储

生成索引后,在执行 indexes 命令时, 您指定的目录 中会出现两个文件夹: server temp 。 索引文件存储在 server 目录中。

将共享索引上传到远程存储

  • data project 文件夹从 server 目录上传到您的文件服务器或 S3 兼容存储。 存储位置应与生成索引时使用 base-url 参数定义的 URL 具有相同的基本 URL。

在本地测试时发布共享索引

在测试共享索引时,您可以使用 server 命令基于生成的文件启动服务器。

  • 在命令行中,导航到命令行工具的目录,然后运行可执行文件:

    .\bin\ij-shared-indexes-tool-cli.bat server
    ./bin/ij-shared-indexes-tool-cli server
    ./bin/ij-shared-indexes-tool-cli server

    并使用以下选项:

    • --port :用于运行本地服务器的端口。

    • --server-directory :用于服务器数据的目录。 默认目录为 ./ij-shared-indexes-tool-data/server

    例如:

    .\bin\ij-shared-indexes-tool-cli.bat server --port 8080 --server-directory "C:\Users\jetbrains\ij-shared-indexes-tool-data\server"
    ./bin/ij-shared-indexes-tool-cli server --port 8080 --server-directory "/Users/jetbrains/ij-shared-indexes-tool-data/server"
    ./bin/ij-shared-indexes-tool-cli server --port 8080 --server-directory "/home/jetbrains/ij-shared-indexes-tool-data/server"

配置对共享索引的访问权限

项目索引 上传到文件存储后,可在另一台计算机上下载并应用。

  • 在项目目录中,新建一个 intellij.yaml 文件,并将终端中的信息复制到该新文件中,例如:

    包含共享索引的 YAML 文件

    如果项目尚未建立索引,或者您 清除了系统缓存 ,IDE 将下载共享索引并使用它们。

    在默认配置中,IDE 将自动下载共享索引。 您可以选择更改此设置并 手动确认每次下载

项目索引将下载到 IDE 系统目录中的 index/shared_indexes

下载索引时,进度会显示在状态栏中。

一切就绪后,您将在 通知 工具窗口中看到相应的通知。

更改索引的下载方式

在默认配置中,IDE 将自动下载共享索引。 您可以手动确认每次下载。

  1. intellij.yaml 文件中,移除 consents 部分,然后重启您的项目。

  2. 设置 对话框(Ctrl+Alt+S )中,选择 工具 | 共享索引 ,并在 项目共享索引 区域选择 下载前询问

    配置共享索引的下载选项
  3. 应用更改并关闭对话框。

共享索引 CLI 命令参考

boost

测量使用项目共享索引后的索引加速效果。 选项:

  • --project: (必需)项目的路径。

  • --ij: (必需) 本地安装的 IDE 的路径。

  • --port :用于运行本地服务器的端口。 默认端口为 25561。

  • --data-directory :用于生成和服务器数据的目录。

indexes

生成项目共享索引并使其可供上传。 选项:

  • --project: (必需)项目的路径。

  • --ij: (必需) 本地安装的 IDE 的路径。

  • --base-url: (必需)索引服务器 URL。

  • --data-directory :用于生成和服务器数据的目录。

server

基于本地索引启动服务器。 选项:

  • --port :用于运行本地服务器的端口。 默认端口为 25561。

  • --server-directory :用于服务器数据的目录。 默认目录为 ./ij-shared-indexes-tool-data/server

version

显示共享索引的版本信息。 选项:

您可以继续通过命令行使用共享索引。 在更复杂的场景中,您可以自定义 IntelliJ Shared Indexes Tool Example 存储库中的示例脚本。

最后修改日期: 2025年 12月 2日