DevWeekly收集整理每周优质开发者内容,包括开源项目、工具资源、技术文章等方面,每周五首发于DevWeekly,欢迎大家Star并收藏!
如果你还把IntelliJ IDEA当成文本编辑器一样用解决写代码、运行这些简单的操作,那就太可惜了!
IntelliJ IDEA功能非常强大的IDE,开箱即用,而且把开发者日常能够提高效率的点都囊括进去了。
其实,我觉得倒谈不上相见恨晚的「技巧」,只是发掘那些原本我们不知道的操作,进而转化成自己的操作习惯,从而提升开发效率。
我认为要最大化发挥IDEA的效率和价值,可以从3个方面着手:
自带配置指的是IDEA本身就有的,但是比较容易被忽略的。
快捷键基本都是IDEA内置的功能,这些功能是针对大多数开发者比较通用的,通过快捷键可以避免鼠标点按过程中低效的问题。
插件则是针对不同开发者提供的一些个性化支撑,比如你喜欢Vim的键盘操作,那可以使用IdeaVim插件,如果你觉得在代码之间的跳转比较麻烦,可以使用AceJump插件。
下面,我就分别从这两个方面给大家介绍一些如何更大程度的发挥IntelliJ IDEA的效率。
每当你有一个现有的表达式时,你可以在一个点后面附加一个特定的后缀,并使用Tab键来应用它。IntelliJ IDEA接收表达式,并根据提供的后缀对其进行转换。
加入,你有一个字符串列表名为items,现在你需要遍历它,按照常规操作,就应该开始敲击键盘输入for …,写一大串循环遍历语句。
如果通过后缀补全,你只需要输入items.for,IDEA就会自动识别for这个后缀自动创建一个for-each表达式,如下图所示:
是不是很有意思?接下来再试试try这个后缀后缀:
它会快速生成一个try-catch表达式,是不是很高效?
除了这两个之外,还有很多后缀补全模板:
通过一个简单的后缀,就可以补全一串表达式,效率也得到了很大的提升。
该功能最初在ReSharper中可用,然后作为IDEA的一个单独插件,后来在13.1版本中作为核心功能被引入IDEA。
我在另一篇文章中详细的介绍了后缀补全功能的用法,想要深入了解的同学可以看一下:
首先,来看一个,你怎么编写下面这个数函数:
public static void main(String[] args) {
}
逐字逐句的敲击键盘吗?效率太低了!
4个字母就可以解决的事情,为啥要那么麻烦?
我们只需要在IDEA里输入psvm然后按下Tab键就可以快速生成模板
这就是实施模板的功能。
除了这个之外,还有很多。
psfs:
public static final String
sout:
System.out.println();
它的用法和后缀补全有点相似,我们可以在设置Editor→Live Templates查看当前支持的实时模板,也可以自定义实时模板。
Codota根据数以百万计的开源Java程序和你的上下文补全代码行,帮助你更快地编码,减少错误。
它提供代码自动补全,内联和相关的代码示例,以及基于你自己的编码情况的代码建议。
Rainbow Brackets可以提供醒目、好看的括号,能够帮助我们更高效的匹配代码中成对的括号。
Statistic插件显示项目统计数据,这个插件显示按扩展名排序的文件以及大小、行数等。
AceJump允许你快速将光标导航到编辑器中可见的任何位置。
你只需要简单地按下ctrl+;,输入一个字符,然后输入匹配的字符给AceJump。
使用这个插件,你可以在CamelCase、camelCase、snake_case和SNAKE_CASE这些不同格式的命名之间轻松切换。
这个插件显示你调用任何行动的名称和对应的Win/Mac快捷方式,能够在你操作的过程中教会你如何使用快捷键。
这个插件将你的项目中的模块、包和类可视化。它就像一个基于UML的地图,可以用于你的源代码。
QAPlug是一个用于管理代码质量的Intellij IDEA插件,它集成了PMD、Checkstyle和Findbugs等工具。
这个插件使你在使用IntelliJ时更有效率,它可以将经常使用的操作映射到一个快捷方式上,以此提升效率。
这个插件为你在IDE中写的文本提供智能拼写和语法检查。
建议大家有空可以多浏览Github,有很多好用的开源免费工具。但是,目前Github上项目多如牛毛,而且刷榜现在也非常严重,想要找到优质的项目变得越来越难。这里,给大家推荐Github上一个非常不错的项目《DevWeekly》,这个项目每周都会精挑细选一些优质的开源项目,涵盖C++、JAVA、JavaScript、Python、Go等不同编程语言。此外,还有一些开源工具、优秀的技术文章,喜欢的同学可以Star并收藏一下,每周五会定期更新:
GitHub - Jackpopc/DevWeekly: 每周五发布,精选优质开发者内容,包括开源项目、工具资源、技术文章等方面。