带你装逼带你飞之IntellJ IDEA使用攻略
一直习惯了用Eclipse,刚开始接触IdeaIU总会有很多不习惯的地方,但是使用了两周多的时间,发现这款开发工具的开发效率比Eclipse要高很多,真正做到了解放双手,额~错了,是解放鼠标。应王大神的要求,在这里制作一个攻略(有些东西是我在用的,还有很多不常用的算是现学现卖了),希望有兴趣的同学可以尝试一下,真的不错哟~
注意:IDEA IC为免费版本,IDEA IU为商务版,要花钱的,个人用的就是IDEA IU(破解了的),这里也以IDEA IU界面介绍使用。
1. IDEA长啥样?直接上图。
IDEA告别了Eclipse单一主题时代,高逼格的黑色主题酷到没朋友,而且还保护眼睛,当然主题可不是只有这一种。如果你安装成功之后默认是白色的主题,那么你可以这样修改:
--->工具栏上的扳手图标或者是用ctrl+alt+s打开设置窗口,在打开窗口的左侧,找到Appearance>Theme 选择Darcula主题应用
Attention:如果出现中文乱码应该这样改:
---à Appearance>Overridedefault fonts by(not recommended)前面打勾此时下方的name下拉框为可选状态找到Name:DialogInput.plain- Size:12 应用就oK
2.如何安装,请自行百度。(应该放第一步,不过为了直观展示,屈居第二步吧)
3.如何创建工程并使用?
小伙伴们清晰的看到创建project这个选项了,但这里的Project和Eclipse不同,它类似于Eclipse里面的workspace,也就是工作空间。具体是这个样子(看图)。点开后看到很多选项,选第一个Java,然后选择JavaEE下的Web application,Next。这里我的工作空间就叫JSD1504.在创建了工作空间的同时,点击下面的框框,创建第一个工程。
长这样(Module是什么?马上讲直接点finish创建就OK了)
然后会弹出上面这个对话框,IdeaIU一个工作空间一个窗口,点击This Window就会将当前工作空间隐藏掉。当需要打开多个工作空间的时候,点击New Window。然后长这样↓↓
前面我们默认创建另一个叫laowang 的工程,接着再在下面创建一个叫laozheng 的工程。File->New->Module…注意是这家伙(Module),这个才和Eclipse下面的Project一样。
和上面一样选择Web Application,改名就OK,在JSD1504下就有了两个工程
至此,工程创建Over。
4.实际开发
①创建第一个类
创建好了类之后,便是编写代码,这里开始介绍重点的地方了,那就是快捷键的使用,以及代码的智能提示,这是IDEA能够解放鼠标的关键。
我们以用一个例子来涉及常用的快捷键和智能提示:
②智能提示:
1)瞬间生成(示例:Eclipse里面main和syso)
a) 下图出现了psvm是public static void main的全拼 Sout则是system.out.println()的快捷方式,然后点击Enter或者tab就可以自动生成。其他的我就不再累述了。后面会单独罗列讲述。
自动命名:只要打出类的首字母便能提示建立引用名,再长的类名都不怕不怕了,这是自动提示,如果没有出现自动提示,这个时候怎么办呢?后面会讲到用快捷键的形式提示。
当然还可以这样啦↓,智能提示真的智能到不行不行的了,所有的关键字,包括你写的参数,类都是可以提示的。所以,就问你效率高不高?
b) 一步到位,开发中在类与接口间转换也很不方便。自从用了IDEA,再也不用担心找不到的问题了。提示很到位
点击图中绿色的小东西,就到了他的接口那里去了。返回的之后,点击接口里面同样地方的按钮即可。
③ 只能快捷键(这个厉害,但是太多太牛逼,我只能拷贝一下然后整理整理),快捷键我敲你们也看不见,所以你们对照着快捷键的说明试一下就知道了。
a)上面讲到的如果不自己智能提示,那你就这么办↓
基本的代码提示用Ctrl+Space,还有更智能地按类型信息提示Ctrl+Shift+Space。用F2/ Shift+F2移动到有错误的代码,Alt+Enter快速修复(即Eclipse中的Quick Fix功能Ctrl+1)。当智能提示为我们自动补全方法名时,我们通常要自己补上行尾的反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾的字符。而且不只是括号,例如敲完if/for时也可以自动补上{}花括号。
最后要说一点,IDEA能够智能感知Spring、Hibernate等主流框架的配置文件和类,以静制动,在看似“静态”的外表下,智能地扫描理解你的项目是如何构造和配置的。
b)重构
IDEA重构是另一完爆Eclipse的功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。尤其看过《重构-改善既有代码设计》之后,有了IDEA的配合简直是令人大呼过瘾!也正是强大的智能和重构功能,使IDEA下的TDD开发非常顺畅。
切入正题,先说一个无敌的重构功能大汇总快捷键Ctrl+Shift+Alt+T,叫做Refactor This。按法有点复杂,但也符合IDEA的风格,很多快捷键都要双手完成,而不像Eclipse不少最有用的快捷键可以潇洒地单手完成(不知道算不算Eclipse的一大优点)。此外,还有些最常用的重构技巧,因为太常用了,若每次都在Refactor This菜单里选的话效率有些低。比如Shift+F6直接就是改名,Ctrl+Alt+V则是提取变量。
c)代码生成
这一点类似Eclipse,虽不是独到之处,但因为日常使用频率极高,所以还是罗列在榜单前面。常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码,用Ctrl+J可以查看所有模板。后面“辅助”一节中将会讲到Alt+Insert,在编辑窗口中点击可以生成构造函数、toString、getter/setter、重写父类方法等。这两个技巧实在太常用了,几乎每天都要生成一堆main、System.out和getter/setter。
另外,IDEA IDEA 13中加入了后缀自动补全功能(Postfix Completion),比模板生成更加灵活和强大。例如要输入for(User user : users)只需输入user.for+Tab。再比如,要输入Date birthday = user.getBirthday();只需输入user.getBirthday().var+Tab即可。
d)编辑
编辑中不得不说的一大神键就是能够自动按语法选中代码的Ctrl+W以及反向的Ctrl+Shift+W了。此外,Ctrl+Left/Right移动光标到前/后单词,Ctrl+[/]移动到前/后代码块,这些类Vim风格的光标移动也是一大亮点。以上Ctrl+Left/Right/[]加上Shift的话就能选中跳跃范围内的代码。Alt+Forward/Backward移动到前/后方法。还有些非常普通的像Ctrl+Y删除行、Ctrl+D复制行、Ctrl+>折叠代码就不多说了。
关于光标移动再多扩展一点,除了IDEA本身已提供的功能外,我们还可以安装ideaVim或者emacsIDEAs享受到Vim的快速移动和Emacs的AceJump功能(超爽!)。另外,IDEA的书签功能也是不错的,用Ctrl+Shift+Num定义1-10书签(再次按这组快捷键则是删除书签),然后通过Ctrl+Num跳转。这避免了多次使用前/下一编辑位置Ctrl+Left/Right来回跳转的麻烦,而且此快捷键默认与Windows热键冲突(默认多了Alt,与Windows改变显示器显示方向冲突,一不小心显示器就变成倒着显式的了,冏啊)。
e)查找打开
类似Eclipse,IDEA的Ctrl+N/Ctrl+Shift+N可以打开类或资源,但IDEA更加智能一些,我们输入的任何字符都将看作模糊匹配,省却了Eclipse中还有输入*的麻烦。最新版本的IDEA还加入了SearchEverywhere功能,只需按Shift+Shift即可在一个弹出框中搜索任何东西,包括类、资源、配置项、方法等等。
类的继承关系则可用Ctrl+H打开类层次窗口,在继承层次上跳转则用Ctrl+B/Ctrl+Alt+B分别对应父类或父方法定义和子类或子方法实现,查看当前类的所有方法用Ctrl+F12。
要找类或方法的使用也很简单,Alt+F7。要查找文本的出现位置就用Ctrl+F/Ctrl+Shift+F在当前窗口或全工程中查找,再配合F3/Shift+F3前后移动到下一匹配处。
IDEA更加智能的又一佐证是在任意菜单或显示窗口,都可以直接输入你要找的单词,IDEA就会自动为你过滤。
f)其他辅助
以上这些神键配上一些辅助快捷键,即可让你的双手90%以上的时间摆脱鼠标,专注于键盘仿佛在进行钢琴表演。这些不起眼却是至关重要的最后一块拼图有:
Ø 命令:Ctrl+Shift+A可以查找所有IDEA的命令,并且每个命令后面还有其快捷键。所以它不仅是一大神键,也是查找学习快捷键的工具。
Ø 新建:Alt+Insert可以新建类、方法等任何东西。
Ø 格式化代码:格式化import列表Ctrl+Alt+O,格式化代码Ctrl+Alt+L。
Ø 切换窗口:Alt+Num,常用的有1-项目结构,3-搜索结果,4/5-运行调试。Ctrl+Tab切换标签页,Ctrl+E/Ctrl+Shift+E打开最近打开过的或编辑过的文件。
Ø 单元测试:Ctrl+Alt+T创建单元测试用例。
Ø 运行:Alt+Shift+F10运行程序,Shift+F9启动调试,Ctrl+F2停止。
Ø 调试:F7/F8/F9分别对应Step into,Step over,Continue。
此外还有些我自定义的,例如水平分屏Ctrl+|等,和一些神奇的小功能Ctrl+Shift+V粘贴很早以前拷贝过的,Alt+Shift+Insert进入到列模式进行按列选中。
7 最终榜单
这榜单阵容太豪华了,后几名都是如此有用,毫不示弱。
Ø Top #10切来切去:Ctrl+Tab
Ø Top #9选你所想:Ctrl+W
Ø Top #8代码生成:Template/Postfix +Tab
Ø Top #7发号施令:Ctrl+Shift+A
Ø Top #6无处藏身:Shift+Shift
Ø Top #5自动完成:Ctrl+Shift+Enter
Ø Top #4创造万物:Alt+Insert
常用Top3
Ø Top #1智能补全:Ctrl+Shift+Space
Ø Top #1自我修复:Alt+Enter
Ø Top #1重构一切:Ctrl+Shift+Alt+T
④ jar包引用,程序运行,项目部署
FileàProject Structure下引入Jar(当然实际项目直接用maven管理就行了,不需要自己引用)如下
程序部署如下:
这样点击,如果找不到这行工具栏,可以点击View--->Toolbar
在这里我把老王打包部署,点左下角的OK就行了
以war发布可以避免文档的损坏,而且IDEA不同于Eclipse,他部署文件之后是在tomcat webapps文件夹下是找不到的。
⑤ 带你看界面(从左上角开始来)
Structure可以看类结构
右边默认显示MavenProject DataBase AntBuild
下边长这样,没有这么多很正常,我打开了很多服务,所以这么多
包括run debug都已在这里找到
附送:公司大神编制(5S加密级别文件)
效率指南列出了所有可以帮你提高开发效率的操作方式。
可以看到你最近打开了哪些文件,单击它们即可重新打开。
在Navigate 菜单下有三个菜单项,可以快速打开源代码。
有时候你刚刚关闭一个文件,又想重新打开编辑,这时候你只需要回到上一个位置即可。
点击“FilePath”即可看到当前文件的完整路径,点击即可在资源管理器中打开。
选中一个表达式,然后在菜单中选择Refactor - Extract - Variable,即可将该表达式提取为一个变量。同理你也可以提取为成员、参数、常量等。
菜单Code - Surround With 可以让你轻松的为代码块用try-catch,for,if 等包裹起来。
IntelliJ 能帮助你快速优化语句。下面的例子中,IntelliJ检测到用户在通过循环来拷贝数组,因此建议用户用更加简单的 System.arraycopy()
方法。