本文和下篇文章介绍一下官方的样版项目里各个功能的用法。通过了解这些样版项目。能组合出我们想要的功能。官方样版项目地址:
项目简介:
Action Basics 像我们介绍了
- IDEA中Action的概念
- 通过com.intellij.openapi.ui.Messages#showMessageDialog类来弹出对话框
- 通过继承com.intellij.openapi.actionSystem.ActionGroup实现动态新增Action
动态生成Action
Comparing References Inspection为我们实现了一个有代码提示的功能插件的小例子。
在这个例子里我们可以了解IDEA中关于PSI的概念,简单来说IDEA把代码抽象成PSI代码树,通过PSI我们可以方便的操作,改写代码。
该插件可以将 == 号替换为 equals
Conditional Operator Intention同上一个项目类似,一个通过PSI改写代码的小例子
可以把三目运算符改写成if else 的结构
editor_basics 像我们介绍了操作编辑器相关的功能,包括插入光标,获取光标位置等
获取光标处的位置信息
新建一个光标,但是感觉这个项目有问题,创建多个光标以后输入文字的时候,会在文件开头增加editor_basics字符串。
替换选中的字符串为 editor_basics
Facet Basics提供了新增Facet种类的例子。
IDEA的Facet功能我基本没怎么用过,大概是告诉IDEA你的项目用了什么框架,IDEA会给你做出一些优化吧。
Framework Basics新增了Java下Framework的类别
Inspection Basics 新增一个IDEA中的Inspection,这个Inspection在官网的定义是这样的
Inspections are built-in static code analysis tools that help you find probable bugs, locate dead code, detect performance issues, and improve the overall code structure.
感觉自己开发插件的话也不怎么用这个功能吧
Kotlin Demo 没接触过kotlin
Live Templates 像我们介绍了 live templates怎么开发的。
在IDEA中自带了很多live template
我常用的有sout ,itar ,iter等等,也会自己写一些live template。
Live Templates这个项目有两个功能
- 快速创建超链接
- 选择字符串后,按下ctrl + alt +T 触发,会变成大写字母开头(这里用到了IDEA live template中的SELECTION的概念)
Max Opened Projects 像我们介绍了通过ProjectManagerListener监控打开的窗口数,大于3个则会显示一个提示框如下
我们通过这个项目可以学习IDEA是怎么管理工程窗口的。
Module 新增Module功能
Product Specific - PyCharm Sample 没接触过Python