IntelliJ IDEA 2025.3 Help

共享索引

共享索引可帮助您减少 IntelliJ IDEA 分析项目所需的时间。 与每次分析项目时本地构建的常规索引不同,共享索引只需生成一次,随后在其他计算机上需要时重复使用。

IntelliJ IDEA 可以为您的 JDK 和项目代码生成并使用共享索引。 每当 IDE 需要重新分析您的项目时,它将使用可用的共享索引,并为项目的其余部分构建本地索引。 通常,这种方式比从头开始在本地分析整个项目更快。

JDK 的共享索引

为加快项目分析流程,IntelliJ IDEA 会尽量使用所有可用的预构建共享 JDK索引,并在本地分析 JDK 的其余部分。 该 IDE 随附了最新三个长期支持版 JDK 的预构建共享索引。

共享项目索引

共享项目索引是为项目源代码及其依赖项生成的。 通过在单一计算机上生成索引并分发到其他计算机,您可以避免在每台机器上重复进行项目分析过程。 这样,每台计算机都可以受益于预先计算的索引,而无需单独进行耗时的项目分析操作。 这就是共享索引相对于常规索引的主要优势。

确保插件已安装

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

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

  2. 切换到 已安装 选项卡,输入 共享项目索引 ,并确保选中其旁边的复选框。

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

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

安装插件

要使用共享项目索引,请安装 Shared Project Indexes 插件:

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

  2. 切换到 Marketplace 选项卡,并在搜索字段中输入 共享项目索引

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

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

开始之前

构建共享项目索引的计算机和任何使用这些共享索引的计算机:

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

  • 可以有不同的操作系统。

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

在将共享项目索引纳入您的基础架构之前,您可以通过运行命令行工具 评估它们在项目分析中能节省多少时间

如果您对结果满意,您可以继续使用 shared indexes。 在更复杂的场景中,您可以自定义来自 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.bat boost --ij "C:\Users\jetbrains\AppData\Local\Programs\IntelliJ IDEA Ultimate" --project "C:\Users\jetbrains\IdeaProjects\spring-petclinic"
    ./bin/ij-shared-indexes-tool-cli boost --ij "/Users/jetbrains/Applications/IntelliJ IDEA Ultimate.app" --project "/Users/jetbrains/IdeaProjects/spring-petclinic"
    ./bin/ij-shared-indexes-tool-cli boost --ij "/home/jetbrains/.local/share/JetBrains/Toolbox/apps/intellij-idea-ultimate/" --project "/home/jetbrains/IdeaProjects/spring-petclinic"
  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 参数中的服务器。

    生产示例:如果您正在为生产用例生成共享索引,您可以创建要上传到文件服务器或兼容 S3 的存储的索引。 例如:

    .\bin\ij-shared-indexes-tool-cli.bat indexes --ij "C:\Users\jetbrains\AppData\Local\Programs\IntelliJ IDEA Ultimate" --project "C:\Users\jetbrains\IdeaProjects\spring-petclinic" --base-url "http://your-aws-bucket.s3-website.eu-north-1.amazonaws.com"
    ./bin/ij-shared-indexes-tool-cli indexes --ij "/Users/jetbrains/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-1/232.8453.116/IntelliJ IDEA 2023.2 EAP.app" --project "/Users/jetbrains/IdeaProjects/spring-petclinic" --base-url "http://your-aws-bucket.s3-website.eu-north-1.amazonaws.com"
    ./bin/ij-shared-indexes-tool-cli indexes --ij "/home/jetbrains/.local/share/JetBrains/Toolbox/apps/intellij-idea-ultimate/" --project "/home/jetbrains/IdeaProjects/spring-petclinic" --base-url "http://your-aws-bucket.s3-website.eu-north-1.amazonaws.com"

    测试示例: 如果您在本地测试共享索引,您可以创建索引并上传到本地服务器。 例如:

    .\bin\ij-shared-indexes-tool-cli.bat indexes --ij "C:\Users\jetbrains\AppData\Local\Programs\IntelliJ IDEA Ultimate" --project "/Users/jetbrains/IdeaProjects/spring_example_project" --base-url "http://127.0.0.1:8080" --data-directory "C:\Users\jetbrains\ij-shared-indexes-tool-data"
    ./bin/ij-shared-indexes-tool-cli indexes --ij "/Users/jetbrains/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-1/232.8453.116/IntelliJ IDEA 2023.2 EAP.app" --project "/Users/jetbrains/IdeaProjects/spring_example_project" --base-url "http://127.0.0.1:8080"
    ./bin/ij-shared-indexes-tool-cli indexes --ij "/home/jetbrains/.local/share/JetBrains/Toolbox/apps/intellij-idea-ultimate/" --project "/Users/jetbrains/IdeaProjects/spring_example_project" --base-url "http://127.0.0.1:8080" --data-directory "/home/jetbrains/ij-shared-indexes-tool-data"
  3. 项目索引生成完成后,将出现包含 在项目中配置共享索引所需信息的消息。

    共享索引已生成
    共享索引已生成

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

上传文件到存储空间

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

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

  • data 项目 文件夹从 server 目录上传到您的文件服务器或 S3-compatible 存储。 存储位置应与使用 base-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 将自动下载共享索引。 您可以选择更改此设定,并 手动确认每次下载

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

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

正在下载共享索引

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

共享索引已下载

更改索引的下载方式

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

  1. intellij.yaml 文件中删除 同意 部分,并重新启动您的项目。

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

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

共享索引 CLI 命令参考

提升

测量使用项目共享索引带来的项目分析加速效果。 选项:

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

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

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

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

索引

生成项目共享索引并使其准备好上传。 选项:

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

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

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

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

server

启动本地索引上的服务器。 选项:

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

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

版本

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

您可以继续在命令行中使用 shared indexes。 在更复杂的场景中,您可以自定义来自 IntelliJ Shared Indexes Tool Example 存储库的示例脚本。

2026年 1月 23日