Code Intentions
本主题描述了conditional_operator_intention,这是一个添加新[意图行动]的示例插件(https://www .jetbrains.com/help/idea/intention-actions.html)到IntelliJ平台意图列表.
此外,示例插件包含基于JUnit的测试.
关于意向行动
** IntelliJ平台**分析您的代码并帮助处理可能导致错误的情况.
当怀疑存在可能的问题时,IDE会建议适当的意图操作,用特殊图标表示.
有关更多信息,请参阅** IntelliJ IDEA ** Web帮助中的意图操作.
您可以使用IDE提供的注意列表查看所有可用意图操作的列表.
显示意向清单
1.打开设置对话框.
2.在** IDE Settings 下,单击 Intentions . 这将显示 IntelliJ IDEA **中当前可用的所有意图操作的列表.
-
意图行动根据其使用区域分组.
-
要启用/禁用意图操作,请选中/取消选中其左侧的复选框.
使用的技术
conditional_operator_intention示例插件说明了以下技术的使用:
-
如何分析PSI树.
-
如何在PSI树中查找感兴趣的Java令牌.
-
如何使用PsiElementBaseIntentionAction类为游标下的标记元素调用快速修复操作.
-
如何使用IdeaTestFixtureFactory类为此插件创建JUnit测试.
示例插件
** ConditionalOperatorConverter **示例插件位于<%IntelliJ SDK Docs project%>/code_samples/conditional_operator_intention
目录中.
启动时,此插件将转换三元运算符if语句项添加到IDEA意图列表中的条件运算符节点:
运行插件
运行示例插件
1.启动** IntelliJ IDEA 并打开保存在<%IntelliJ SDK Docs project%>/code_samples/conditional_operator_intention
目录中的 conditionalOperatorConvertor **插件项目.
2.打开项目结构对话框,确保项目设置对您的环境有效.
3.如有必要,修改运行/调试配置并选择** Run **运行插件 在主菜单上.
它是如何工作的?
该插件分析在IDEA编辑器中打开的代码中光标下的符号.
如果光标位于“?” 条件运算符,** IntelliJ IDEA **建议用“if-then-else”语句替换此条件(三元)运算符:
在这个例子中,代码:
return (n>=0) ? n : -n;
将替换为代码:
if ((n>=0)) {
return n;
} else {
return -n;
}
测试插件
示例插件包含testSource/testPlugin /
包中的YourTest
Java类和testData /
目录中的测试数据.
要执行插件测试,请运行YourTest.test()
方法.
有关测试和所有相关过程的详细信息,请参阅** IntelliJ IDEA ** Web帮助中的测试.