intellij-community README

The project's README from github.com/JetBrains/intellij-community. As one markdown file: README.md.

official JetBrains project IntelliJ IDEA build status PyCharm build status

IntelliJ Open Source Repository

This repository is the open-source part of the JetBrains IDEs codebase. It also serves as the basis for IntelliJ Platform development.

These instructions will help you build and run open source parts of IntelliJ Platform / IntelliJ IDEA / PyCharm.

If you are new to the community and would like to contribute code or help others learn, see CONTRIBUTING.md to get started.

The following conventions will be used to refer to directories on your machine:


Getting the Source Code

This section will guide you through getting the project sources and help avoid common issues in Git config and other steps before opening it in the IDE.

Prerequisites

Clone Main Repository

IntelliJ open source repository is available from the GitHub repository, which can be cloned or downloaded as a zip file (based on a branch) into <IDEA_HOME>. The master (default) branch contains the source code which will be used to create the next major version of all JetBrains IDEs. The branch names and build numbers for older releases of JetBrains IDEs can be found on the Build Number Ranges page.

You can clone this project using IntelliJ IDEA (see Opening the IntelliJ IDEA Source Code in the IDE).

Alternatively, run the following commands in the terminal:

git clone https://github.com/JetBrains/intellij-community.git
cd intellij-community

[!TIP]

  • For faster download: If the complete repository history isn't needed, create shallow clone. To download only the latest revision of the repository, add --depth 1 option after clone.
  • Cloning in IntelliJ IDEA also supports creating shallow clone.

Get Android Modules

IntelliJ IDEA requires additional Android modules from separate Git repositories. Run the following script from project root <IDEA_HOME> to get the required modules:

[!IMPORTANT]

Always git checkout the intellij-community and android Git repositories to the same branches/tags.


Building IntelliJ IDEA

These instructions will help you build IntelliJ IDEA from source code, which is the basis for IntelliJ Platform development.

[!IMPORTANT]

IntelliJ IDEA project is currently being migrated to the Bazel build system. The migration is still in progress, so you may encounter some rough edges or temporary issues along the way, mostly related to IDE integration.

  • Building the project using only IDE built-in capabilities is not supported anymore, so make sure the Bazel plugin is installed and enabled.
  • Known issue: some tests are not yet possible to be run with Bazel. In case of any issues, please depend on the tests.cmd script mentioned in the Running IntelliJ IDEA in a CI/CD environment section.

Opening the IntelliJ IDEA Source Code in the IDE

Prerequisites:

Using the latest IntelliJ IDEA, click File | Open and select the <IDEA_HOME>/.bazelproject. If IntelliJ IDEA displays a message about a missing or out-of-date required plugin (e.g., Kotlin), enable, upgrade, or install that plugin and restart IntelliJ IDEA.

Building the IntelliJ IDEA Application

In IntelliJ IDEA, choose Build | Build Project from the main menu.

From the command line, run the bazel-build-all-community.cmd script in the <IDEA_HOME> directory (note: all *.cmd scripts work on both Windows and Unix systems).

To build installation packages, run the installers.cmd script in the <IDEA_HOME> directory. Options to build installers are passed as system properties to installers.cmd command. You may find the list of available properties in BuildOptions.kt

Pass --debug to suspend and wait for the debugger to attach to port 5005.

Installer build examples:

# Build installers only for current operating system:
./installers.cmd -Dintellij.build.target.os=current

[!TIP]

The installers.cmd is used to run OpenSourceCommunityInstallersBuildTarget from the command line. You can also call it directly from IDEA, using run configuration Build IntelliJ IDEA Installers (current OS).

Dockerized Build Environment

To build installation packages inside a Docker container with preinstalled dependencies and tools, run the following command in <IDEA_HOME> directory (on Windows, use PowerShell):

docker build . --target intellij_idea --tag intellij_idea_env
docker run --rm --user "$(id -u)" --volume "${PWD}:/community" intellij_idea_env

[!NOTE]

Please remember to specify the --user "$(id -u)" argument for the container's user to match the host's user. This prevents issues with permissions for the checked-out repository, the build output, if any.


Running IntelliJ IDEA from IDEA

To run the IntelliJ IDEA that was built from source, choose Run | Run... from the main menu and choose the preconfigured run configuration Run //build:idea_community.

To run tests on the build, apply these settings to the Run | Edit Configurations... | Templates | JUnit configuration tab:

Running IntelliJ IDEA from the command line

./bazel.cmd run //build:idea_community

Running IntelliJ IDEA in a CI/CD environment

To run tests outside IntelliJ IDEA, use the tests.cmd command in <IDEA_HOME> directory. Options to run tests are passed as system properties to tests.cmd command. You may find the list of available properties in TestingOptions.kt

# Run specific run configuration:
./tests.cmd -Dintellij.build.test.configurations=ApiCheckTest
# Run a specific test: 
./tests.cmd -Dintellij.build.test.patterns=com.intellij.util.ArrayUtilTest

To debug tests, use: -Dintellij.build.test.debug.enabled=true -Dintellij.build.test.debug.suspend=true -Dintellij.build.test.debug.port=5005.

tests.cmd is used just to run CommunityRunTestsBuildTarget from the command line. You can also call it directly from IDEA, see run configuration tests for an example.

intellij-community (JetBrains/intellij-community)

Searching Database…

这是什么?这是 JetBrains 各款 IDE 代码库的开源部分,也是 IntelliJ Platform 开发的基础——也就是用来构建 IntelliJ IDEA 或 PyCharm 的源代码,而不是一个可以直接下载安装的 IDE。
那这是一个现成的 IDE,还是它背后的源代码?这是源代码。master 分支保存着所有 JetBrains IDE 下一个大版本的代码;你需要克隆这个仓库,然后自己从中构建一个 IDE,而不是在这里直接安装编译好的程序。
我怎么用这些代码构建 IDE?先用 Git 克隆仓库(如果不需要完整历史记录,可以加上 --depth 1),用 getPlugins.sh 或 getPlugins.bat 拉取 Android 模块,然后在 IntelliJ IDEA 中打开 .bazelproject 并运行 Build | Build Project——或者在命令行运行 bazel-build-all-community.cmd 脚本。
构建之前我需要安装哪些东西?克隆代码需要 Git,还需要 IntelliJ IDEA 2026.1 或更新版本来打开项目,并在 Settings | Plugins | Marketplace 中启用 Bazel 插件。Android 模块还需要用到 getPlugins 脚本,而且 intellij-community 和 android 两个仓库必须检出相同的分支或标签。
构建能一次顺利跑通吗,还是会有不少坑?要有心理准备会遇到一些坑:这个项目正在向 Bazel 迁移,问题主要集中在 IDE 集成方面。只靠 IDE 自带的功能来构建已经不再支持,而且有些测试还无法在 Bazel 下运行——这些测试可以用 tests.cmd 脚本作为替代方案。
为什么不直接下载 IntelliJ IDEA,而要克隆这个仓库?单纯使用 IDE 并不需要这个仓库——它是为想贡献代码、帮助他人学习,或者想参与 IntelliJ Platform 本身开发的人准备的。新贡献者可以从 CONTRIBUTING.md 开始。
在 Windows 上能构建吗,还是只有 macOS 和 Linux 可以?三大主流桌面系统都支持:README 提到所有 .cmd 脚本在 Windows 和 Unix 系统上都能运行,还有一个预装了依赖的 Docker 化构建环境,可以用来构建安装包。
到底有哪些 IDE 是用这个仓库构建出来的?IntelliJ Platform 是所有 JetBrains IDE 的底层基础,而这个仓库专门介绍了如何构建 IntelliJ IDEA 和 PyCharm。IntelliJ IDEA 所需的 Android 模块存放在另外的 Git 仓库中,通过 getPlugins.sh 或 getPlugins.bat 拉取。
能不能不在自己机器上配置一堆环境就构建安装包?可以。有一个 Docker 化的构建环境,已经预装了构建安装包所需的依赖和工具;在 Windows 上通过 PowerShell 运行。要传入一个与宿主机用户一致的 --user 参数,否则在检出的仓库和构建输出上可能遇到权限问题。
能在命令行运行测试套件吗?可以——tests.cmd 可以在 IntelliJ IDEA 之外运行 CommunityRunTestsBuildTarget,用于 CI 风格的运行,选项以系统属性的形式传入,具体列表见 TestingOptions.kt。像 -Dintellij.build.test.debug.port=5005 这样的参数可以让你挂起并连接调试器。
整个代码库都适用同一个开源协议吗?不是。GitHub 上显示这个仓库的协议是 NOASSERTION,意思是没能为整个代码库识别出单一的标准协议。如果想在自己的项目中复用它的代码,请先查看仓库里的协议文件。
Creator
JetBrains
Size
5.8 GB
Stars
20.6K
Age
15y
Commits · 90 Days