Intellij插件
文章平均质量分 60
Intellij插件
liuzhenghua66
这个作者很懒,什么都没留下…
展开
-
IntelliJ插件开发-status bar
IntelliJ平台允许插件通过自定义小部件扩展IDE状态栏。状态栏小部件是小型的UI元素,允许为当前文件、项目、IDE等提供有用的信息和设置。例如,状态栏包含显示当前文件编码或项目的当 前版本控制分支的小部件。由于其突出的展示和有限的空间,它们应仅用于显示足够相关的信息或设置。扩展状态栏以添加新的小部件的起点是接口,该接口在扩展点中注册。注意:在plugin.xml中的注册中必须提供id属性,并与StatusBarWidgetFactory.getId()的值匹配。原创 2023-12-21 10:26:24 · 437 阅读 · 0 评论 -
IntelliJ插件开发-AnAction
AnAction是IntelliJ提供的菜单项,可以添加到Menu或者ToolBar(底部状态栏)中。原创 2023-12-20 14:02:33 · 505 阅读 · 0 评论 -
IntelliJ插件开发-EventDispatcher
java.awt包的EventQueue类提供了对EventQueue的发送(dispatch)机制,它会异步地从事件队列中拉取事件,调用方法。虽然是异步去发送事件,但是它保证了事件发送的有序性。是IntelliJ提供的事件处理类,它集成了awt的EventQueue,重写了dispatchEvent方法。它提供了EventDispatcher让我们可以对事件进行拦截处理,可以通过它提供的扩展点,或者编程式的方式来添加自己的EventDispatcher。原创 2023-12-18 10:11:27 · 61 阅读 · 0 评论 -
IntelliJ插件开发-Code Vision Hints
Code Vision Hints是idea Inlay提示中的一种类型,它只能提供block类型的inlay,可以把它添加到字段、方法、类等上面,一个元素如果包含多个提示的话,这些inlay会被展示在同一行上。Code vision hints可以展示在元素的上面、右边、或者行末尾,具体展示的位置可以在IDE中修改:Preferences | Editor | Inlay Hints | Code vision。Java代码中,会在链式调用的每行展示返回类型信息版本控制的项目中,会展示提交者信息。原创 2023-12-12 17:11:10 · 1088 阅读 · 7 评论 -
IntelliJ插件开发-国际化支持
如果你开发的插件需要对多语言进行支持,就需要用到国际化功能。java原生提供了类实现国际化功能,idea插件也可以通过国际化文件配置的方式,实现多语言支持。原创 2023-12-12 16:03:10 · 457 阅读 · 3 评论 -
IntelliJ插件开发 - PersistentStateComponent
PersistentStateComponent是idea给插件开发者提供的接口,用于存储插件的配置。实现该接口后,idea会将配置持久化成文件存储到磁盘中,idea关闭或者插件卸载都不会导致配置丢失。原创 2023-12-08 09:35:20 · 205 阅读 · 0 评论 -
IntelliJ插件开发-版本升级
idea启动过程中,并不会自动去插件市场检查插件是否有更新。发布插件后,需要用户重启IDE,或者点击help -> check for updates,体验不太好。原创 2023-12-04 09:40:40 · 356 阅读 · 0 评论 -
IntelliJ插件开发 - 常用监听器
IntelliJ插件开发 - 消息文章中介绍了消息的使用方法,除了自定义消息外,开发插件过程中需要经常与系统内置消息打交道,例如:插件被加载,卸载,用户输入了一些命令等。原创 2023-12-01 14:02:51 · 316 阅读 · 0 评论 -
Swing布局 - SpringLayout
SpringLayout是弹性布局,适用于表单的展示。弹性针对的是该布局中组件的高度、宽度会随着Container的变化自动变化。getMinimumValue : 最小值getPreferredValue : 偏好值getMaximumValue : 最大值getValue : 当前值往使用了Spring布局的Container中添加Component后,需要指定元素的坐标 (x, y),高度与宽度。与绝对布局不同的是,Spring布局指定坐标,高宽等信息不是用代表像素的int。原创 2023-11-21 21:37:04 · 134 阅读 · 0 评论 -
IntelliJ插件开发 - Editor组件
Swing提供了JTextArea, JTextPane等组件提供编辑器功能,IntelliJ也提供了一个编辑器组件,提供了许多高级的特性: 语法高亮、代码提示、折叠等功能。Editors除了可以展示在editor tab页中外,还可以被内嵌到dialogs, tool windows中。原创 2023-11-20 09:46:55 · 168 阅读 · 0 评论 -
IntelliJ插件开发 - 工具方法
【代码】IntelliJ插件开发 - 工具方法。原创 2023-11-17 14:58:04 · 111 阅读 · 0 评论 -
IntelliJ插件开发 - 消息
开发IntelliJ平台的插件时,可以使用它提供的消息服务,使用Publish/Subscribe模式实现,可以支持消息的广播消费。需要创建一个接口,定义消息的Topic以及消息提供哪些事件,事件取决于你的业务,例如你想弄个用户退出登录通知,你可以定义一个方法为afterLogout(User user)。事件方法由发送者显示调用。原创 2023-11-17 09:29:05 · 82 阅读 · 0 评论 -
IntelliJ插件开发 - Disposer and Disposable
IntelliJ平台简化了资源的清理过程,如果你开发的插件所创建的一些资源的生命周期和某个父对象一致,则这些资源应当注册到Disposer中,进行生命周期绑定。Disposer管理的资源中,最常见的就是各种listener文件句柄、数据库连接缓存以及一些其他比较重要的数据结构Disposer是一个单例对象,它内部维护着Disposable实例树。一个Disposable实例指的是任何实现了方法的对象,这个方法中定义了在生命周期结束后的释放资源动作。原创 2023-11-16 16:12:29 · 190 阅读 · 0 评论 -
Dialog
使用弹框需求时,需要用到Dialog。Swing原生的为JDialog类,如果你在开发Idea插件,推荐使用DialogWrapper。原创 2023-11-03 09:52:50 · 79 阅读 · 0 评论 -
idea插件开发
idea插件开发教程:https://plugins.jetbrains.com/docs/intellij/welcome.htmlEditor相对于JTextView支持代码高亮,自动提示等特性。原创 2023-10-24 17:36:51 · 349 阅读 · 0 评论 -
JTextPane自动换行
使用JTextPane展示文本内容时,为了体验更好,我们希望内容可能自动换行,即:只有垂直滚动条,水平方向文本超出自动换行。原创 2023-10-07 21:54:50 · 280 阅读 · 0 评论 -
禁用JTextPane自动换行
有时候,我们并不需要JTextPane的自动换行功能(例如展示代码块的时候),可以通过自定义JTextPane来实现。原创 2023-10-07 21:48:39 · 91 阅读 · 0 评论 -
swing后台任务
请求http接口获取数据后才能渲染实现打字机效果渲染耗时较大(chat gpt效果)如果不进行特殊处理,这些耗时操作将会导致用户UI端阻塞(转圈圈,无响应)等,造成体验较差。如果你直接将这些耗时任务放入一个新的线程中,又会有新的问题,由于swing并不是线程安全的,多个线程进行修改UI组件可能会导致不可预测的效果。原创 2023-10-07 21:32:23 · 88 阅读 · 0 评论 -
JTable增加自动序号&存储自定义数据
为了表格的展示友好性,通常我们会给表格数据增加序号列;实际业务需求中,表格中的行对应的数据并不仅仅是展示在表格上的部分,还需要存储一些额外数据。使用默认的每个表格都需要修改列标题和数据,增加序号。需要自己额外维护一套逻辑来存储行展示数据之外的数据。当表格行进行拖拽后,序号以及表格额外数据部分不能自动调换。原创 2023-09-24 16:51:00 · 191 阅读 · 0 评论 -
JTable实现行拖拽
JTable是swing中的表格插件,官方提供的DnD (drag and drop)指的是将数据从不同组件之间进行拖拽,如将JTable中某行的数据拖到JTextView。为了实现一个JTable中不同行之间进行拖拽,需要自己实现。原创 2023-09-24 16:38:04 · 166 阅读 · 0 评论