IDE-Intellij IDEA

之前同事一直给我推荐IDEA,说跟eclipse相比就是石器时代的工具,我一直任何一个工具熟练起来都很牛逼,所以一直坚持使用eclipse,不过看了下IDEA的功能,有几点比较吸引我,1可以全键盘操作,2双栏显示,3多窗口显示,4插件集成要比eclipse方便 ,5界面很漂亮。所以还是决定去尝试下IDEA,如果真的有那么好用,可以提升工作效率何乐而不为呢?

下载安装

IDEA有2个版本,社区版本跟商业版本,社区版本是免费的商业版本是收费的(商业版本要比社区版本提供更多的功能)。 
官网地址下载】【百度云盘下载2016商业版】(我还是想支持正版(购买license链接)的,只是499刀/年对我来说还是太贵了,所以只能默默的在心里支持下,破解方式可以参考http://idea.lanyus.com/,离线破解最好在本地起一个license server,网上有很多覆盖jar文件的,我试了几个都没有成功。离线破解教程链接)安装虽然没有eclipse那样绿色压缩直接解压就ok,但是直接下一步下一步没有遇到任何阻碍。

第一印象

启动页面还是看到比较熟悉的进度条,只是进度条走完后,没法直接进入工作页面,而是需要先选择一个项目。这里也是IDEA与eclipse的一个重要区别,eclipse里面有workspace的概念,一个workspace里面可以有多个project,project之间都是相对独立的,而IDEA中没有workspace概念,最顶级的就是project,project下面可以建多个module,虽说层级关系都是两层,但却不能完全相等,IDEA中的module要比eclipse更加的灵活。埋个坑后面说。总得来说对IDEA的第一印象还是非常不错的。 

HELLO WORLD

对于程序员来说所有的说教都不如屏幕出现一个helloword来的靠谱。首先开始之前要清空一下脑子,忘了以前我们用eclipse的那些习惯,完全从0开始。IDEA提供给了我们几乎所有新建项目的可能,create new project。 
 
 
进入下一步create project form template相当于选择模板工程,可以跳过,输入project nameproject location项目的名称跟项目存储路径。点击finish,好了一个新项目新建完成。src右键new package一切还是那么熟悉,新建一个熟悉的helloword类。ctrl+F9编译shift+F10编译运行。 
 
如果你发现我跟你的界面不太一样,是因为我为了适应eclipse跟IDEA的差别修改了下配置,后面会说如何配置eclipse。这里填一下刚才说的project跟workspace的坑,刚才的新建project过程其实跟eclipse里的新建project过程几乎是相同的,并没有太多的差别,但是网上很多说eclipse里的workspace相当于IDEA中的project。我觉得并不应该这样去理解,首先我们应该清楚不管是workspace还是project都是IDE提供给我们的为了方便管理项目的,在Java中其实并没有这样的概念的,对于java来说只需要执行类似这样的命令就可以,并不关心你是如何管理项目的,

D:\Work\Java\jdk1.6.0_34\bin\java -Didea.launcher.port=7534 "-Didea.launcher.bin.path=D:\Work\JetBrains\IntelliJ IDEA 2016.1.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\Work\Java\jdk1.6.0_34\jre\lib\charsets.jar;D:\Work\Java\jdk1.6.0_34\jre\lib\deploy.jar;D:\Work\Java\jdk1.6.0_34\jre\lib\ext\dnsns.jar;D:\Work\Java\jdk1.6.0_34\jre\lib\ext\localedata.jar;D:\Work\Java\jdk1.6.0_34\jre\lib\ext\sunjce_provider.jar;D:\Work\Java\jdk1.6.0_34\jre\lib\ext\sunmscapi.jar;D:\Work\Java\jdk1.6.0_34\jre\lib\ext\sunpkcs11.jar;D:\Work\Java\jdk1.6.0_34\jre\lib\javaws.jar;D:\Work\Java\jdk1.6.0_34\jre\lib\jce.jar;D:\Work\Java\jdk1.6.0_34\jre\lib\jsse.jar;D:\Work\Java\jdk1.6.0_34\jre\lib\management-agent.jar;D:\Work\Java\jdk1.6.0_34\jre\lib\plugin.jar;D:\Work\Java\jdk1.6.0_34\jre\lib\resources.jar;D:\Work\Java\jdk1.6.0_34\jre\lib\rt.jar;H:\IDEAWORK\Test01\out\production\Test01;D:\Work\JetBrains\IntelliJ IDEA 2016.1.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain com.baidu.test01.Test01

所以eclipse提供了一种workspace的管理方式,workspace里面的project是相对独立的,比如说project编译后都会生成在各自的bin目录下。eclipse更倾向于多个项目管理,而IDEA更倾向于单个project的管理,而project中的module跟project之间的关系是一种归属关系,但是eclipse中workspace跟project并没有这个概念,但IDEA中的module其实是属于project的,IDEA的module更像maven中的module的概念,多个module只是这个project不同的分层而已,但是恰巧IDEA的module也可以做的类似比较独立,module之间也可以没有任何依赖,这样感觉好像跟eclipse中的project就相似了,但这并不是IDEA的设计初衷,还有一点可以体现project跟module的关系的紧密就是IDEA中的输出路径,一个project下的所有module输出路径都是project/out/production目录下,所以并不建议你把多个项目放到一个project作为不同的module来管理,实在不行你可以双开IDEA嘛。

这是我的工具!

IDEA虽然做的很漂亮,但是对于我这种用惯了eclipse的人来说,还是太超前了吧。所以还是让它适应一下我得习惯吧。

打开配置管理

首先记住这个快捷键ctrl+alt+s,按一下就知道了,settings出来了,跟以前eclipse里的window->Preferences差不多,配置项不少,但是大部分我们都用不到。

修改主题风格

IDEA给我们提供了三种主题,Darcla的黑色风格逼格太高,我还是改回默认的intellij吧,ctrl+alt+s -appearance&behacior-appearance-theme

代码提示键

alt+/在eclipse里面这个键可以说是神键,但是在IDEA里面却不起作用,IDEA里面的代码提示快捷键是ctrl+空格(很熟悉,与切换输入法快捷键冲突了改成我们熟悉的alt+/吧) 
ctrl+alt+s->keymap->mainmenu->code->completion将原来的ctrl+空格删了同时也把alt+/删了,然后再添加alt+/保存ok。

Code字体不好看字号太小?

看惯了eclipse的courier字体,在看IDEA代码的字体太不舒服了,而且字号也太小,ctrl+alt+s-edit-color&fonts-font(这里需要新建一个,字体courier size14)look是不是好很多了。我们顺便也把下面控制台console font字体改了。

显示行号

行号这个是绝对不能少的,不过idea没有eclipse那么方便单击右键show line number,IDEA也需要ctrl+alt+s-editor-general-appearance-show line numbers

双栏显示代码

这个真的是eclipse没法比的,对写代码真的是太实用了。操作很简单,体验了一下不过没有sublime text的好用。但是已经很好了,而且窗口还可以脱出去,这个在eclipse里面是没法想的。 

先让IDEA走起来

Maven 
IDEA中已经集成了maven插件,不需要再次下载,几乎可以不修改配置就可以使用,不过我们还是习惯性的去修改下maven的版本,保证我们在使用过程中不会出现因为版本导致的问题。 
 
版本控制 
不管你是使用svn、Git还是github在IDEA中都能很快的上手,IDEA中内置了多种版本控制插件。 
 
首先下载sliksvn(可以不下载svn工具,直接使用IDEA的svn工具,我第一次在使用中遇到svn commit无法提交的问题,所以还是建议下载svn 工具)安装完成后,配置user command line clientsvn.exe的路径例如我的是D:\Work\SlikSVN\bin\svn.exe 
git需要先安装git的客户端 
windows的git版本下载地址点我下载(msysgit链接)
安装完成后,修改IDEAgit配置: 
 
则可以跟eclipse一样方便使用版本控制。 
(version control 有一个配置,建议勾选上:Show directories with changed descendants 跟eclipse的的修改效果是一样的,文件如果被修改了,那么这个文件的长层所有的目录都变成被修改的标识) 
编译web项目 
其实IDEA所有使用第三方运行项目的操作基本都差不多,比如我们用maven编译项目,之前在eclipse里需要右键 run as配置下maven的参数就可以运行了(clean install -Dmaven.test.skip=true(跳过测试)),在IDEA中也差不多。 
 
然后跟eclipse的配置是几乎完全一样的,配置启动名称以前eclipse里还不可以重名,这里完全没有限制,然后选择运行的项目,执行的命令。 
 
运行时只需要选择运行配置 shift+F10 
运行web项目 
tomcat 
(之前遇到了一个奇怪的问题,tomcat 配置里面没有on frame deactivation,后来发现是因为项目配置的问题,pom文件里面缺少一个war导致的,项目的没有artifacts,更新pom文件ok) 
首先需要下载安装tomcat。下载tomcat,安装tomcat后配置启动配置,1增加一个tomcat启动配置2配置tomcat3选择tomcat安全目录4配置启动名称5勾掉启动自动启动浏览器 
 
6切换到deployment中,将我们要部署的项目添加到tomcat中。 
(debug如果需要热部署只需要勾选on update action->hot swap classes,on frame deactivation ->hot swap classes 
deployment部署需要选择 exploded包,exploded包才能热部署资源文件,还要勾选build on make,修改课好几次还是不能热部署web-inf下的文件,后来勾选了Deploy applications configured in Tomcat instance就可以了) 
 
启动tomcat ok部署完成。

让IDEA帮你上天

IDEA有超级多的快捷键可以方便我们的使用,这是一张快捷键列表有兴趣可以打印出来,多尝试下使用快捷键操作。

IDEA快捷键

快捷键 说明
Ctrl+Shift + Enter 语句完成
“!” 否定完成,输入表达式时按 “!”键
Ctrl+E 最近的文件
Ctrl+Shift+E 最近更改的文件
Shift+Click 可以关闭文件
Ctrl+[OR] 可以跑到大括号的开头与结尾
Ctrl+F12 可以显示当前文件的结构
Ctrl+F7 可以查询当前元素在当前文件中的引用,然后按F3可以选择
Ctrl+N 可以快速打开类
Ctrl+Shift+N 可以快速打开文件
Alt+Q 可以看到当前方法的声明
Ctrl+P 可以显示参数信息
Ctrl+Shift+Insert 可以选择剪贴板内容并插入
Alt+Insert 可以生成构造器/Getter/Setter等
Ctrl+Alt+V 可以引入变量。例如:newString();自动导入变量定义
Ctrl+Alt+T 可以把代码包在一个块内,例如:try/catch
Ctrl+Enter 导入包,自动修正
Ctrl+Alt+L 格式化代码
Ctrl+Alt+I 将选中的代码进行自动缩进编排,这个功能在编辑JSP文件时也可以工作
Ctrl+Alt+O 优化导入的类和包
Ctrl+R 替换文本
Ctrl+F 查找文本
Ctrl+Shift+Space 自动补全代码
Ctrl+空格 代码提示(与系统输入法快捷键冲突)
Ctrl+Shift+Alt+N 查找类中的方法或变量
Alt+Shift+C 最近的更改
Alt+Shift+Up/Down 上/下移一行
Shift+F6 重构–重命名
Ctrl+X 删除行
Ctrl+D 复制行
Ctrl+/或Ctrl+Shift+/ 注释(//或者/**/)
Ctrl+J 自动代码(例如:serr)
Ctrl+Alt+J 用动态模板环绕
Ctrl+H 显示类结构图(类的继承层次)
Ctrl+Q 显示注释文档
Alt+F1 查找代码所在位置
Alt+1 快速打开或隐藏工程面板
Ctrl+Alt+left/right 返回至上次浏览的位置
Alt+left/right 切换代码视图
Alt+Up/Down 在方法间快速移动定位
Ctrl+Shift+Up/Down 向上/下移动语句
F2或Shift+F2 高亮错误或警告快速定位
Tab 代码标签输入完成后,按Tab,生成代码
Ctrl+Shift+F7 高亮显示所有该文本,按Esc高亮消失
Alt+F3 逐个往下查找相同文本,并高亮显示
Ctrl+Up/Down 光标中转到第一行或最后一行下
Ctrl+B/Ctrl+Click 快速打开光标处的类或方法(跳转到定义处)
Ctrl+Alt+B 跳转到方法实现处
Ctrl+Shift+Backspace 跳转到上次编辑的地方
Ctrl+O 重写方法
Ctrl+Alt+Space 类名自动完成
Ctrl+Alt+Up/Down 快速跳转搜索结果
Ctrl+Shift+J 整合两行
Alt+F8 计算变量值
Ctrl+Shift+V 可以将最近使用的剪贴板内容选择插入到文本
Ctrl+Alt+Shift+V 简单粘贴
Shift+Esc 不仅可以把焦点移到编辑器上,而且还可以隐藏当前(或最后活动的)工具窗口
F12 把焦点从编辑器移到最近使用的工具窗口
Shift+F1 要打开编辑器光标字符处使用的类或者方法Java文档的浏览器
Ctrl+W 可以选择单词继而语句继而行继而函数
Ctrl+Shift+W 取消选择光标所在词
Alt+F7 查找整个工程中使用地某一个类、方法或者变量的位置
Ctrl+I 实现方法
Ctrl+Shift+U 大小写转化
Ctrl+Y 删除当前行
Shift+Enter 向下插入新行
psvm/sout main/System.out.println();
Ctrl+J 查看更多
Ctrl+Shift+F 全局查找
Ctrl+F 查找
Shift+F3 向上查找/F3向下查找
Ctrl+Shift+S 高级搜索
Ctrl+U 转到父类
Ctrl+Alt+S 打开设置对话框
Alt+Shift+Inert 开启/关闭列选择模式
Ctrl+Alt+Shift+S 打开当前项目/模块属性
Ctrl+G 定位行
Alt+Home 跳转到导航栏
Ctrl+Enter 上插一行
Ctrl+Backspace 按单词删除
Ctrl+”+/-” 当前方法展开、折叠
Ctrl+Shift+”+/-” 全部展开、折叠
【调试部分、编译】  
Ctrl+F2 停止
Alt+Shift+F9 选择Debug
Alt+Shift+F10 选择Run
Ctrl+Shift+F9 编译
Ctrl+Shift+F10 运行
Ctrl+Shift+F8 查看断点
F8 步过
F7 步入
Shift+F7 智能步入
Shift+F8 步出
Alt+Shift+F8 强制步过
Alt+Shift+F7 强制步入
Alt+F9 运行至光标处
Ctrl+Alt+F9 强制运行至光标处
F9 恢复程序
Alt+F10 定位到断点
Ctrl+F8 切换行断点
Ctrl+F9 生成项目
Alt+1 项目
Alt+2 收藏
Alt+6 TODO
Alt+7 结构
Ctrl+Shift+C 复制路径
Ctrl+Alt+Shift+C 复制引用,必须选择类名
Ctrl+Alt+Y 同步
Ctrl+~ 快速切换方案(界面外观、代码风格、快捷键映射等菜单)
Shift+F12 还原默认布局
Ctrl+Shift+F12 隐藏/恢复所有窗口
Ctrl+F4 关闭
Ctrl+Shift+F4 关闭活动选项卡
Ctrl+Tab 转到下一个拆分器
Ctrl+Shift+Tab 转到上一个拆分器
【重构】  
Ctrl+Alt+Shift+T 弹出重构菜单
Shift+F6 重命名
F6 移动
F5 复制
Alt+Delete 安全删除
Ctrl+Alt+N 内联
【查找】  
Ctrl+F 查找
Ctrl+R 替换
F3 查找下一个
Shift+F3 查找上一个
Ctrl+Shift+F 在路径中查找
Ctrl+Shift+R 在路径中替换
Ctrl+Shift+S 搜索结构
Ctrl+Shift+M 替换结构
Alt+F7 查找用法
Ctrl+Alt+F7 显示用法
Ctrl+F7 在文件中查找用法
Ctrl+Shift+F7 在文件中高亮显示用法
 
 

IDEA教程的更多相关文章

  1. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  2. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  3. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  4. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

  5. Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境

    一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...

  6. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  7. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  8. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  9. Virtual Box配置CentOS7网络(图文教程)

    之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...

  10. webpack之傻瓜式教程

    接触webpack也有挺长一段时间了,公司的项目也是一直用着webpack在打包处理,但前几天在教新人的情况下,遇到了一个问题,那就是:尽管网上的webpack教程满天飞,但是却很难找到一个能让新人快 ...

随机推荐

  1. CodeWarrior 10 自定义关键字模版

    ==============================================版本信息开始============================================ 相关作 ...

  2. 在Linux 安装Python3.5.6详细文档!!!!

    在Linux 安装Python3.5.6详细文档!!!! 1.安装相关依赖库(工具包) yum install gcc patch libffi-devel python-devel  zlib-de ...

  3. django 富文本编辑器

    创建工程,数据中数据格式设置为 models.TextField() 此时编辑器是普通的文本框. 使用 tinymce .安装 django-tinymce pip install django-ti ...

  4. Redis master/slave,sentinel,Cluster简单总结

    现在互联网项目中大量使用了redis,本文著主要分析下redis 单点,master/slave,sentinel模式.cluster的一些特点. 一.单节点模式 单节点实例还是比较简单的,平时做个测 ...

  5. oracle自带总页数分页sql

    string strSQL = string.Format(@"select * from( with temp as (select * from * where {0} order by ...

  6. BFC是什么及能用它能做什么

    最近较为频繁的碰到了一个新的名词:BFc,每次都可以在相关的技术博客里面看到对其的简单介绍,刚开始以为自己懂了,但实际上没懂,今天就来搞清楚它到底是什么,以及我们能用他做什么? BFC:全名为 Blo ...

  7. 用Java代码通过JDBC连接Hiveserver2

    1.在终端启动hiveserver2#hiveserver2 2.使用beeline连接hive另外打开一个终端,输入如下命令(xavierdb必须是已经存在的数据库)#beeline -u jdbc ...

  8. 面试简单整理之zookeeper

    157.zookeeper 是什么? ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现. 分布式应用程序可以基于 ZooKeeper 实现诸如数据 ...

  9. java多线程系列 目录

    Java多线程系列1 线程创建以及状态切换    Java多线程系列2 线程常见方法介绍    Java多线程系列3 synchronized 关键词    Java多线程系列4 线程交互(wait和 ...

  10. 使用WinMerge作为git的Merge工具

    使用WinMerge作为git的Merge工具 我比较喜欢使用免费的WinMerge作为diff和merge工具,虽然TortoiseGit也自己带了TortoiseGitMerge工具,但是使用起来 ...