IntelliJ 平台本身并不是一个产品,而是提供了一个用于构建 IDE 的平台。这个平台本身是开源的,源码可从intellij-community源码,任何人都可以使用。但基于此平台开发的软件比如idea、phpStorem可能是收费的。

基于此是可以开发属于自己的idea软件的,最佳实践是修改runIde任务以使用本地安装的targetIDE作为IDE 开发实例。将该属性设置为目标 IDErunIde.ideDir应用程序的(用户特定的)绝对路径,确切的路径格式因操作系统而异。

一、如何开发

build.gradle.kts配置

intellij {//type.set("CUSTOM")// Define IntelliJ Platform against which to build the plugin project.type.set("IU")// Use the IntelliJ Platform BRANCH.BUILD version matching// "targetIDE" (PhpStorm):version.set("192.7142.36")   // baseIntelliJPlatformVersion// Require the targetIDE plugin or library. Use the stable version// compatible with intellij.version and intellij.type specified above:plugins.set(listOf("com.jetbrains.php:192.6603.42"))
}runIde {// Absolute path to the installed targetIDE to use as IDE Development// Instance (the "Contents" directory is macOS specific):ideDir.set(file("/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/PhpStorm/ch-0/192.7142.41/PhpStorm.app/Contents"))
}

配置plugin.xml

使用特定于目标产品的功能 (API) 时,必须声明对目标产品模块的依赖性,比如以PhpStorm 开发插件,就需要如下配置:

声明模块依赖

<!-- Targeting PhpStorm, so is dependent on the PHP plugin -->
<depends>com.jetbrains.php</depends>
<depends>com.intellij.modules.platform</depends>

兼容可用列表如下:

Module for <depends> Element

Functionality

com.intellij.modules.platform

Messaging, Themes, UI Components, Files, Documents, Actions, Components, Services, Extensions, Editors

com.intellij.modules.lang

File Type, Lexer, Parser, Highlighting, References, Code Completion, Find, Rename, Formatter, Code Navigation

com.intellij.modules.xml

XML, XML DOM, XSD/DTD, DOM Model

com.intellij.modules.vcs

VCS Revision Numbers, File Status, Change Lists, File History, Annotations

com.intellij.modules.xdebugger

Debug Session, Stack Frames, Break Points, Source Positions, Memory Views, Tracked Instances

有针对性的兼容列表如下:

Module or Plugin for <depends> Element

Functionality

Product Compatibility

com.intellij.modules.java or com.intellij.java

See Java below.

Java language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework

IntelliJ IDEA, Android Studio

com.intellij.modules.androidstudio

Android SDK Platform, Build Tools, Platform Tools, SDK Tools

Android Studio

com.intellij.modules.cidr.lang

C, C++, Objective-C/C++ language PSI Model, Swift/Objective-C Interaction, Inspections, Intentions, Completion, Refactoring, Test Framework

AppCode, CLion

com.intellij.modules.cidr.debugger

Debugger Watches, Evaluations, Breakpoints, Inline Debugging

AppCode, CLion, RubyMine

com.intellij.modules.appcode or com.intellij.appcode

See AppCode/CLion below.

Xcode Project Model, CocoaPods, Core Data Objects, Device & Simulator Support

AppCode

com.intellij.modules.clion or com.intellij.clion

See AppCode/CLion below.

CMake, Profiler, Embedded Development, Remote Development, Remote Debug, Disassembly

CLion

com.intellij.cidr.base

Native Debugger Integration, Utility Classes, C/C++ Project Model/Workspace Support (OCWorkspace, CidrWorkspace, etc.), C/C++ Build and Run Support

AppCode, CLion

com.intellij.database

Database Tools and SQL language PSI Model, Inspections, Completion, Refactoring, Queries

DataGrip, IntelliJ IDEA Ultimate, AppCode, PhpStorm, PyCharm Professional, RubyMine, CLion, GoLand, Rider, and WebStorm if the Database Tools and SQL plugin is installed.

org.jetbrains.plugins.go

Go language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework

GoLand

com.intellij.modules.python

Python language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework

PyCharm, and other products if the Python plugin is installed.

com.intellij.modules.rider

Connection to ReSharper Process in Background

Rider

com.intellij.modules.ruby

Ruby language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework

RubyMine, and IntelliJ IDEA Ultimate if the Ruby plugin is installed.

com.intellij.modules.ultimate

Licensing

All commercial IDEs (IntelliJ IDEA Ultimate, PhpStorm, DataGrip, ...)

com.intellij.swift

Swift language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework

AppCode, CLion

com.jetbrains.php

PHP language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework

PhpStorm, and other products if the PHP plugin is installed.

JavaScript

JavaScript language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework

WebStorm, and other products if the JavaScript plugin is installed.

Intellij platform所有公开的扩展点

  • IDEA平台提供:IntelliJ Platform Extension Point and Listener List
  • 开源插件提供:Open Source Plugins Extension Point and Listener List
  • Spring插件提供:Spring API Extension Point and Listener List

idea插件开发-开发属于自己的IDE开发平台相关推荐

  1. 天猫精灵 python_利用天猫精灵控制ESP8266(NodeMCU开发板)arduino ide开发

    第一 下载demo例程 下载地址: 点击下载 本demo 是利用arduino IDE开发,关于arduino IDE 的ESP8266环境配置可参考:环境配置: 点击跳转 第二 修改demo例程 需 ...

  2. Java SE 9:使用Eclipse和IntelliJ IDEA IDE开发和测试HelloWorld模块(第4部分)

    I have already discuss about "Java Module System" Basics in my previous posts. I'm going t ...

  3. 3000门徒内部训练绝密视频(泄密版)第8课:彻底实战详解使用IDE开发Spark程序

    彻底实战详解使用IDE开发Spark程序 使用IDE开发Spark分析 使用IDE开发Spark实战 使用IDE开发Spark的Local和Cluster 开发两种选择:IDEA.Eclipse 下载 ...

  4. 使用NetBeans IDE开发C程序

    使用NetBeans IDE开发C程序 在windows下开发调试linux环境的代码,同时还可以拷贝到Linux环境. 其实是NetBeans可以连接到远程Linux服务器,使用其中的GNU编译环境 ...

  5. 搭建Cocos Code IDE开发环境

    搭建Cocos Code IDE开发环境 Cocos Code IDE是Cocos2d-x团队开发的,用于开发Cocos2d-JS和Cocos2d-x Lua绑定的游戏工具,它是基于Eclipse[ ...

  6. 使用 .NET WinForm 开发所见即所得的 IDE 开发环境,实现不写代码直接生成应用程序...

    GitHub:https://github.com/iccb1013/Sheng.Winform.IDE SailingEase WinForm Framework WinForm开发框架开发手册:h ...

  7. qt creator:一款能够在windows/linux/mac系统上开发c程序的IDE

    qt creator:一款能够在windows/linux/mac系统上开发c程序的IDE 下面是下载地址:http://download.qt.io/official_releases/qtcrea ...

  8. 【软件使用】Windows下的Objective-C集成开发环境搭建(IDE)

    Objective-C是苹果软件的编程语言,想要上机学习.调试,有一个集成开发环境(IDE)方便很多.有三类方法搭建Objective-C的集成开发环境: 1)   使用苹果的平台,集成开发环境使用X ...

  9. VS2019正确创建C++步骤以及扩展插件美化你的VS2019的IDE开发环境

    使用扩展插件来美化你的IDE开发环境 前言 vs2019创建c++的步骤 1.错误分析 2.解决方法 拓展插件 附件 结语 前言 在安装了Visual Studio 2019社区版后,有的小伙伴会觉得 ...

最新文章

  1. 工业4.0技术路线图 - OPC UA
  2. UNIX环境高级编程 文件I/O
  3. centos7配置haproxy
  4. windows10 python2.7 opencv3
  5. python 写txt 换行_python中写入txt文件需要换行,以及\r 和\n
  6. hive数据去重测试
  7. 研究生小菜简谈“如何做研究”
  8. python 数据文件上传到ftp服务器
  9. ubuntu SecureCRT 下载并破解
  10. 我的世界java边境之地_我的世界边境之地是否存在 我的世界边境之地大揭秘
  11. EditPlus 5.0 激活+汉化
  12. python 调用easydl接口
  13. 数据分析笔记--matplotlib(五)绘制条形图
  14. 【CN精品系统】《 Ghost_Win7 SP1 电脑公司通用版 v4.0 》 装机版
  15. USB学习笔记(5)STM32 USB库移植步骤
  16. oracle闪回能保存多长时间,Oracle闪回
  17. flash版vista主题RealVista Desktop Mobile for s60v3
  18. steam一直显示更新登陆不上服务器失败,steam上WARFRAME一直登不上去,随后显示更新失败, 此更新将在短期内重启,之前玩都还好好的...
  19. 内网安全:Cobalt Strike 工具 渗透多层内网主机.(正向 || 反向)
  20. css中的定位以及绝对定位和相对定位的区别

热门文章

  1. mysql timespan_.NET对象序列化—TimeSpan
  2. 一文简介 SDP 消息格式
  3. DOTA2下载速度较慢解决方法
  4. 文件搜索-压缩解压缩命令
  5. kafka Streams
  6. 大一学的计算机应用,计算机应用技术专业学生大一学年自我鉴定.doc
  7. 专注于速度和安全优化的 Arch 发行版:CachyOS
  8. 市面主要办公用手写平板对照(学生党看过来)
  9. CSS3 + JS 数字滚动效果
  10. Android之串口232从不会到开发功能详解