- 写 IntelliJ 平台插件需要对照平台内部实现:调试插件时断点要打进平台代码,只有这份源码能让你从 Action 一路跟到 PSI 和 VFS,用 SDK 反编译的 class 跟不下去
- 给 JetBrains IDE 提 patch 或做深度定制:改编辑器渲染、索引、重构引擎这类核心行为,绕不开这份仓库,第三方插件 API 覆盖不到这些层
- 研究大型 Java 桌面应用的工程组织:多模块 Gradle/Bazel 混合、跨平台打包、增量构建,当作一个可运行的样本读,比读架构文章具体
- 基于 IntelliJ Platform 做自有 IDE 产品:平台本身就是产品骨架,但要注意开源部分不含 PyCharm 专业版、WebStorm 等商业模块,产品化前先确认模块边界
intellij-community
JetBrains活跃维护 有专家点评JetBrains 官方开源的 IntelliJ IDEA 社区版源码,也是构建各类 JetBrains IDE 的底层平台,适合想研究 IDE 实现或开发插件的开发者。
IntelliJ IDEA & IntelliJ Platform
专家点评
上手难度:硬核更新于 2026-11-11JetBrains 全线 IDE 的开源底座,也是唯一能拿到 IntelliJ 平台真实实现而非 API 文档的地方
适用场景
踩坑
- 构建链路已切到 Bazel,IDE 内置构建不再支持:按老教程用 IDEA 直接 Build Project 会失败,必须先在 IDE 里装 Bazel 插件,且构建脚本是 bazel-build-all-community
- 克隆阶段就会卡住:Windows 上不先设 core.longpaths 和 core.autocrlf,路径过长和换行符会让 clone 中途报错;getPlugins.sh 拉 Android 等额外模块时,intellij-community 与 android 仓库必须同一分支或标签,版本错位会在编译期才暴露
- 全量构建的资源开销 README 没写:这是完整 IDE 的源码树,首次构建的耗时和磁盘占用远超普通 Java 项目,机器配置不足时会在构建中途而不是启动时出问题
同类对比
只做插件、不需要改平台内部的话,直接用 IntelliJ Platform SDK + Gradle IntelliJ Plugin 就够,不必碰这份仓库;要做轻量代码编辑器而非完整 IDE,Monaco、CodeMirror 或 Eclipse Theia 的集成成本低一个量级。
git clone https://github.com/JetBrains/intellij-community.git
cd intellij-community
./getPlugins.shREADME 未说明
项目说明
由 README 自动翻译提炼JetBrains IDE 的开源代码库,用于构建 IntelliJ IDEA、PyCharm 及 IntelliJ 平台插件
JetBrains 官方开源的 IntelliJ IDEA 社区版源码,也是构建各类 JetBrains IDE 的底层平台,适合想研究 IDE 实现或开发插件的开发者。
核心能力
- 包含 IntelliJ IDEA 与 PyCharm 的开源部分源码
- 作为 IntelliJ Platform 插件开发的基础代码库
- 提供 bazel-build-all-community.cmd 一键构建应用
- 提供 installers.cmd 打包各平台安装包
- 提供 Docker 化构建环境,预装依赖与工具
容易踩的坑
构建已迁移到 Bazel,需在 IDE 中安装并启用 Bazel 插件,仅靠 IDE 内置构建能力已不支持;需先运行 getPlugins.sh 或 getPlugins.bat 拉取 Android 等额外模块,且 intellij-community 与 android 仓库须 checkout 到相同分支或标签;Windows 上需先设置 core.longpaths 和 core.autocrlf 两个 Git 配置,否则克隆易出问题
- pycharm/2026.3最新正式版2026-11-05 · 2026-11-05 09:50 UTC
Release notes are available here
- idea/2026.32026-11-04 · 2026-11-04 19:56 UTC
查看更新说明
Release notes are available here
- pycharm/2026.1.5.12026-10-30 · 2026-10-30 08:52 UTC
查看更新说明
Release notes are available here
- pycharm/2025.3.6.22026-10-30 · 2026-10-30 08:36 UTC
查看更新说明
Release notes are available here
- idea/2026.1.5.12026-10-30 · 2026-10-30 07:39 UTC
查看更新说明
Release notes are available here
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
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:
<USER_HOME>is your OS user's home directory.<IDEA_HOME>is the root directory for the IntelliJ source code.
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
- Install Git.
- On Windows, set these Git options to avoid common issues during cloning:
git config --global core.longpaths true git config --global core.autocrlf input
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 1option afterclone.- 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:
- Unix:
./getPlugins.sh - Windows:
getPlugins.bat
[!IMPORTANT]
Always
git checkouttheintellij-communityandandroidGit 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.cmdscript mentioned in the Running IntelliJ IDEA in a CI/CD environment section.
Opening the IntelliJ IDEA Source Code in the IDE
Prerequisites:
- Install IntelliJ IDEA 2026.1 or newer.
- Install the Bazel plugin (via Settings | Plugins | Marketplace).
- If the Maven plugin is disabled, add the path variable
MAVEN_REPOSITORYpointing to<USER_HOME>/.m2/repositorydirectory.
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.cmdis used to run OpenSourceCommunityInstallersBuildTarget from the command line. You can also call it directly from IDEA, using run configurationBuild 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:
- Working dir:
<IDEA_HOME>/bin - VM options:
-ea
Running IntelliJ IDEA from the command line
./bazel.cmd run //build:idea_community
To debug it, set the JVM debug option in the IJ_JAVA_OPTIONS environment variable.
The IDE waits until a debugger attaches to port 5005, for example a Remote JVM Debug run configuration:
IJ_JAVA_OPTIONS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:5005' ./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 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.