Idea Plugin Dev-05-01-actions
Actions
动作系统允许插件将它们的项目添加到基于 IntelliJ 平台的 IDE 菜单和工具栏。
例如,其中一个操作类负责 File
打开文件…菜单项和打开…工具栏按钮。
IntelliJ 平台中的操作需要代码实现并且必须注册。 操作实现确定操作可用的上下文,以及在 UI 中选择时的功能。
注册确定操作在 IDE 用...
2017-10-13 02:24:52 |
Java
Idea Plugin Dev-04-01-JCEF — Java Chromium Embedded Framework
介绍下 idea 插件开发之 JCEF
JCEF(Java Chromium Embedded Framework)是基于 Chromium 的 Java 嵌入式浏览器框架,可以在 Java 应用程序中嵌入 Chrome 浏览器的功能。
在 IntelliJ IDEA 插件开发中,您可以使用 JCEF 来创建具有浏览器功能的自定义界面。
以下是有关 JCEF 插件开发的一些重要信息:
...
2017-10-13 02:24:52 |
Java
Idea Plugin Dev-03-03-Combox 下拉框
idea 插件中如何实现下拉框
在 IntelliJ IDEA 插件开发中,你可以使用 ComboBox 类来实现下拉框。
ComboBox 是一个可编辑的组合框,可以显示一个下拉列表供用户选择或输入。
以下是一个简单的例子,演示如何在 IDEA 插件中创建和使用下拉框:
在插件的界面类中定义一个 ComboBox 对象,并添加需要显示的选项:
ComboBox<...
2017-10-13 02:24:52 |
Java
Idea Plugin Dev-03-02-Popup 组件 优化消息提醒
2. 介绍一下 ui 组件 Popups
Popups(弹出窗口)是用户界面中常用的组件,用于在屏幕上方或下方显示临时的信息、菜单或用户界面。它们通常是短暂的、模态或非模态的,并提供了一种在用户界面上方或下方显示内容的方式,而不中断当前操作或转移焦点。
Popups 可以用于多种场景,例如:
Tooltips(工具提示):当用户将鼠标悬停在组件上时,显示一个短暂的、带有...
2017-10-13 02:24:52 |
Java
Idea Plugin Dev-03-01-User Interface Components
User Interface Components
IntelliJ 平台包含大量自定义 Swing 组件。
在您的插件中使用这些组件将确保您的插件的外观和工作与 IDE 其余部分的 UI 一致,并且与使用默认的 Swing 组件相比通常可以减少代码大小。
值得注意的部分
ps: 这部分没必要全部按照文档来,直接大概学习,使用时遇到问题再参考文档。
The following co...
2017-10-13 02:24:52 |
Java
Idea Plugin Dev-02-04-IDE Infrastructure IDE基础架构
Logging
IntelliJ 平台使用 Logger 抽象类来屏蔽底层日志记录实现和配置。
插件应该获得一个专用实例:
import com.intellij.openapi.diagnostic.Logger;
public class MyPluginClass {
private static final Logger LOG = Logger.getInstance...
2017-10-13 02:24:52 |
Java
Idea Plugin Dev-04-Messaging Infrastructure 消息基础设施
目的
本文档的目的是向开发人员和插件编写者介绍 IntelliJ 平台中可用的消息传递基础结构。
它旨在回答为什么、何时以及如何使用它。
理由
那么,什么是 IntelliJ 平台中的消息传递,我们为什么需要它?
基本上,它的发布者订阅者模式的实现提供了额外的特性,比如在层次结构上广播和特殊的嵌套事件处理(这里的嵌套事件是指从另一个事件的回调中(直接或间接)触发新事件的情况)。
...
2017-10-13 02:24:52 |
Java
Idea Plugin Dev-03-threading 多线程
Read-Write Lock
通常,IntelliJ 平台中与代码相关的数据结构由单个读取器/写入器锁覆盖。
您不得在以下子系统的读取或写入操作之外访问模型:
程序结构接口 (PSI)
虚拟文件系统 (VFS)
项目根模型。
读取权限 Read Access
允许从任何线程读取数据。
从 UI 线程读取数据不需要任何特别的努力。
但是,从任何其他线程执行的读取操作需要包装...
2017-10-13 02:24:52 |
Java