大部分编程语言写代码的时候,不能出现中文标点符号,必须使用英文的标点符号,但是写代码的过程中,很多时候是需要写中文注释的,这样来回切换输入法呢,有点繁琐,有时候不小心忘记切换,就写错了,有的编辑器比较智能,立马就能检测到,但有的文本编辑器并不能检测到,会导致出现bug。
本来计划自己写一个,不过发现了一个插件,支持idea以及JetBrains 全家桶。
源码在↓↓↓↓↓↓
默认情况下,这个插件可以把下面的常用标点符号进行中英文转换,也可以自定义需要的各种标点符号。
, , 。 . : : ; ; ! ! ? ? “ \" ” \" ‘ ' ’ ' 【 [ 】 ] ( ( ) ) 「 { 」 } 《 < 》 >
它的原理是实时检测你的输入,如果输入的字符正好匹配配置的规则,那么就进行替换。
从代码的角度分析,它依赖于idea工具包com.intellij.openapi.editor.Editor
利用Editor对象,获取文本对象
Document document = editor.getDocument();
如果检测到匹配字符,那么删除本字符,替换为目标字符
document.deleteString(caretOffset - 1, caretOffset);
document.insertString(caretOffset - 1, String.valueOf(c));
这几行代码是核心代码,这个方法也是重写工具jar包自带的方法即可,因此如果有别的需求,也可以参考这个思路进行开发一个插件。
idea插件开发也比较容易上手,可以按照这个步骤,搭建一个简易的插件工程:
Create new project -> IntelliJ Platform Plugin -> 输入project name
然后创建action,配置plugin.xml,这个类似Struts的配置文件。
最后打jar包,添加到idea插件即可。
其实这个功能,很多输入法也支持,中文输入标点符号按照英文显示,但是输入法设置以后,如果需要中文标点符号,就需要切换输入法,相对来说还是比较不智能。
这个插件还有有一个优点就是,不会影响别的软件标点符号,同时如果想在idea输入中文标点符号,也是支持的,输入/斜杠 标点符号即可。
如果你也正好需要源码,可以关注 转发/收藏后,私信“fhym”即可
,