IntelliJ Platform SDK DevGuide

About this Guide

本指南分为几个部分,类似于教科书. 每个部分都基于前一部分的内容,但没有必要按顺序阅读指南. Key Topics页面旨在链接到能够理解体系结构并开始构建插件所必需的页面.

描述如何创建可以扩展IntelliJ Platform的插件. 包括有关如何设置项目,注册扩展点,确定IntelliJ Platform的特定版本以及如何打包,部署和测试插件的详细信息.

描述了体系结构的基础层,它提供了许多功能和实用程序,例如组件模型,用户界面,文档和编辑器,虚拟文件​​系统,设置和线程以及后台任务. 基础平台层基本上包含IntelliJ Platform的功能,该功能不针对语言功能或解析.

记录项目模型,它表示当前加载的项目的文件和配置,以及用于构建项目的构建系统.

程序结构接口为许多不同的文件类型构建语法和语义模型. 本节介绍如何使用PSI,导航和操作语法树,还介绍了强大的引用系统,它允许语法树节点引用语义模型中的项. 它还详细说明了PSI如何创建和使用索引.

  • 第五部分 - 特点

描述如何扩展和与使用PSI层的各种功能进行交互,例如代码完成,导航, Alt + 输入项目,意图,重构等. 有关特定于语言的功能,请参阅下面的自定义语言部分,该功能仅在添加对新语言的支持时适用.

描述用于编写涵盖插件功能的自动化测试的可用基础结构.

插件经常扩展对现有语言的支持,例如向Java文件添加检查. 本节介绍如何为IntelliJ Platform添加对新语言的支持,默认情况下不支持该语言,创建解析器,语法和语义模型以及构建在顶层的所有功能.

IntelliJ Platform中的许多功能都是语言和产品无关的. 例如,代码检查在Java中的工作方式与在Ruby中的工作方式相同,只是语法树和语义信息不同. 本节介绍产品特定功能,例如特定项目模型差异以及如何在插件中定位它们.

  • **第九部分 - 自定义IDE **

记录如何使用IntelliJ Platform创建新的自定义IDE,而不是插入现有产品,例如 像WebStorm或Android Studio.

记录JetBrains维护的Plugin Repository服务的API,用于托管插件. 没有必要知道这个API才能发布插件 - 插件可以手动上传,也可以通过Gradle IntelliJ插件上传.

链接到有用的资源,例如IntelliJ Community Edition源代码,插件开发论坛和插件开发者Gitter室.

提供IntelliJ平台每个主要版本中向后不兼容的API更改列表.

Last modified: 11 May 2019