上个月,idea的使用量超越eclipse的消息席卷了整个IT界,idea到底好在哪里呢?

最智能的IDE

IDEA相对于eclipse来说最大的优点就是它比eclipse聪明。聪明到什么程度呢?我们先来看几个简单的例子。

智能提示重构代码

如果你写的代码过于复杂,或者有更好的方式来替代你写的代码,那么IDEA会给你一个提示,告诉你还可以有更好的方式。如下图:

这个是说你使用了没有必要的装箱操作(什么是装箱和拆箱可以自行百度,也可以看我之前写的文章),对比两句add操作可以看出来,IDEA在帮我们优化代码。

第二个例子:

我们学java的时候学过增强的for循环,其实它的学名叫做foreach语句,上面的代码我使用了普通的for循环,IDEA告诉我,使用foreach语句更好。

更友好的代码提示功能

使用eclipse的都应该清楚,如果你想要输入StringBuffer,那么你必须得按着顺序输入,直接输sb是不行的,但是在IDEA里你可以这样输入。

不仅如此,看下一个例子

还可以这样提示。

这些只是一些很简单的例子,但是已经足够强大了。

什么叫智能?

上面的其实都是很基础的功能,IDEA正真智能的 地方在于它会不断的分析你的代码,并且智能的进行反馈。我们 再看一个简单的例子。

这是一个普通的structs程序。在配置文件里定义了一个action并设置了两种不同的返回值。打开我们的action,我们可以看到,你可以直接从代码的左侧找到跳转到对应配置文件的快捷按钮。如果你的某一个方法是覆盖了父类方法,那么你也可以直接查看父类方法。更人性化的是,IDEA可以分析出你的action方法可以跳转到哪些界面?你是不是也有点心动了呢?

强大的纠错能力

我们总是会犯一些低级错误,比如一不留神打错一个字母,可能找了好久都找不到错误所在,IDEA的纠错能力也许可以帮到你,再看一个例子。

我们只创建了两个jsp,当你的返回值中出现了你没创建的文件时,IDEA会提示错误,这样就可以避免你因为写错单词而造成的错误。

IDEA的强大之处还有很多,我没办法在一篇文章里全部讲出来,如果你对IDEA产生了一点兴趣,那么请往下看,我们从最基础的环节学起。

当然,在这之前,我们要做的是安装IDEA。

IDEA官方下载地址:

https://www.jetbrains.com/idea/

JetBrains旗下的所有ide对于学生来说都是可以免费使用的,点击下面的链接,使用edu邮箱注册一个账号,审核通过后就可以使用正版的JerBrains工具了。

https://www.jetbrains.com/student/

如果你没有edu邮箱,那么请支持正版。

具体的安装过程我就不细说了,正常人都知道。

IDEA的基础配置

下载好IDEA,免不了一些配置和个人设置。一些设置问题和操作我放在最后讲,因为不影响我们的 使用。先说一下jdk和tomcat的配置。

jdk的配置。

在首页点击configure,找到project structure,打开。进入project目录,添加sdk,选择添加jdk,选择你安装jdk的目录即可。

tomcat的配置。

我们在下面的项目中进行tomcat的配置。

IDEA创建一个structs项目

接下来我们正式创建一个structs项目。

1)点击Create New Project。

在下载structsjar包的过程中,可能会失败,属于正常情况,多试几次就好了。。也可以使用自己的jar包。我第一次下载完之后就把下载好的jar包保存起来了,方便下次直接使用(其实IDEA会自动帮你保存的,成功一次后第二次再下载会非常快的)。

2)接下来起个名字,选择路径,点击finish就可以了。

3)将jar包添加到相应路径。在项目名上右键-> Open Module Settings ->Artifacts

在structs的jar包上右键,选择put into /WEB-INF/lib

点击ok即可。

4)对tomcat进行配置

创建tomcat服务

配置相关信息

如果没有配置过tomcat,在这里配置一下就好

这样就可以运行了,点击右上角的绿三角。系统会启动,并且自动打开浏览器访问默认地址(刚刚配置过的,如果默认不变的话,会进入index界面)。接下来就可以愉快的写代码了。

IDEA与eclipse有一个非常大的区别就是没有workspace这个概念,对于IDEA来说,project就是eclipse里的workspace,而IDEA里的Module才是eclipse里的project。刚刚从eclipse转到IDEA的人可能会不习惯。但是没关系,你也可以不创建module,就在project里写也可以。想要深入了解module以及多module编程的可以自己百度,我就不细说了。

IDEA的个人配置与常用操作

IDEA的个人配置

修改代码编辑器

新版的IDEA默认使用vim编辑器(linux下的一个工具),虽然熟练掌握后可以提高工作效率,但是学习成本很大,不习惯的可以选择关闭。

修改主题及字号

这个完全看个人喜好了。

设置代码提示不区分大小写

区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 stringBuffer IntelliJ IDEA 是不会帮我们提示或是代码补充的,但是如果我们输入 StringBuffer 就可以进行代码提示和补充,这样是很不方便的。

设置代码检查等级

这个在界面的右下角,一个老头图标(打开代码文件才能看到)。那个可以拖动的控件就是设置代码检查等级的。

  • Inspections 为最高等级检查,可以检查单词拼写,语法错误,变量使用,方法之间调用等。
  • Syntax 可以检查单词拼写,简单语法错误。
  • None 不设置检查。

设置自动导包

如上图标注 1 和 2 所示,默认 IntelliJ IDEA 是没有开启自动 import 包的功能。

  • 勾选标注 1 选项,IntelliJ IDEA 将在我们书写代码的时候自动帮我们优化导入的包,比如自动去掉一些没有用到的包。
  • 勾选标注 2 选项,IntelliJ IDEA 将在我们书写代码的时候自动帮我们导入需要用到的包。但是对于那些同名的包,还是需要手动Alt + Enter 进行导入的,IntelliJ IDEA 目前还无法智能到替我们做判断。

省电模式

IntelliJ IDEA 有一种叫做 省电模式 的状态,开启这种模式之后 IntelliJ IDEA 会关掉代码检查和代码提示等功能。所以一般我也会认为这是一种 阅读模式,如果你在开发过程中遇到突然代码文件不能进行检查和提示可以来看看这里是否有开启该功能。

切分窗口

IDEA 支持对代码进行垂直或是水平分组。一般在对大文件进行修改的时候,有些修改内容在文件上面,有些内容在文件下面,如果来回操作可能效率会很低,用此方法就可以好很多。当然了,前提是自己的浏览器分辨率要足够高。

拼写检查

IDEA 默认是开启单词拼写检查的,有些人可能有强迫症不喜欢看到单词下面有波浪线,就可以去掉该勾选。但是我个人建议这个还是不要关闭,因为拼写检查是一个很好的功能,当大家的命名都是标准话的时候,这可以在不时方便地帮我们找到代码因为拼写错误引起的 Bug。

Tab菜单多行显示

在打开很多文件的时候,IntelliJ IDEA 默认是把所有打开的文件名 Tab 单行显示的。但是我个人现在的习惯是使用多行,多行效率比单行高,因为单行会隐藏超过界面部分 Tab,这样找文件不方便。

打开IDEA设置

勾选此选项后,启动 IntelliJ IDEA 的时候,默认会打开上次使用的项目。如果你只有一个项目的话,该功能还是很好用的,但是如果你有多个项目的话,建议还是关闭,这样启动 IntelliJ IDEA 的时候可以选择最近打开的某个项目。

下面的选项是设置当我们已经打开一个项目窗口的时候,再打开一个项目窗口的时候是选择怎样的打开方式。

  • Open project in new window 每次都使用新窗口打开。
  • Open project in the same window 每次都替换当前已打开的项目,这样桌面上就只有一个项目窗口。
  • Confirm window to open project in 每次都弹出提示窗口,让我们选择用新窗口打开或是替换当前项目窗口。

调整代码字体大小

可以勾选此设置后,增加 Ctrl + 鼠标滚轮 快捷键来控制代码字体大小显示。

IDEA的常用操作(快捷键)

Alt+回车 导入包,自动修正
Ctrl+N 查找类
Ctrl+Shift+N 查找文件
Ctrl+Alt+L 格式化代码
Ctrl+Alt+O 优化导入的类和包
Alt+Insert 生成代码(如get,set方法,构造函数等)
Ctrl+E或者Alt+Shift+C 最近更改的代码
Ctrl+R 替换文本
Ctrl+F 查找文本
Ctrl+Shift+Space 自动补全代码
Ctrl+空格 代码提示
Ctrl+Alt+Space 类名或接口名提示
Ctrl+P 方法参数提示
Ctrl+Shift+Alt+N 查找类中的方法或变量
Alt+Shift+C 对比最近修改的代码

Shift+F6 重构-重命名
Ctrl+X 删除行
Ctrl+D 复制行
Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者// )
Ctrl+J 自动代码
Ctrl+E 最近打开的文件
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,生成代码。
选中文本,按Ctrl+Shift+F7 ,高亮显示所有该文本,按Esc高亮消失。
Ctrl+W 选中代码,连续按会有其他效果
选中文本,按Alt+F3 ,逐个往下查找相同文本,并高亮显示。
Ctrl+Up/Down 光标跳转到第一行或最后一行下
Ctrl+B 快速打开光标处的类或方法

IDEA已经集成了许多插件,包括前端神器emmet,基本够用,不是特别需要的话没有必要安装其他插件。emmet推荐大家学习一下,好用的不得了。

暂时先讲这些,以后有时间继续补充,饿了,要吃饭了。。。。

附idea优雅级使用教程!!

参考资料:

http://lavasoft.blog.51cto.com/62575/97730/
http://www.phperz.com/article/15/0923/159043.html

IDEA入门级使用教程----你怎么还在用eclipse?相关推荐

  1. SpringBoot系列:MybatisPlus的入门级使用教程(上)

    作者平台: | CSDN:blog.csdn.net/qq_4115394- | 掘金:juejin.cn/user/651387- | 知乎:www.zhihu.com/people/1024- | ...

  2. Prometheus监控入门级使用教程

    什么是Prometheus? Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB).Prometheus使用Go语言开发,是Google BorgMon监控系统 ...

  3. Fiddler4 入门级使用教程

    最近公司涉及到网站数据抓包的需求,以前从来没有接触过,经过学习,了解了Fiddler4抓包工具,特此在这给大家分享学习心得.里面借助一些我学习到的资料和图片资源. 引用原文链接地址:http://ww ...

  4. Junit 入门级使用教程

    Junit插件介绍: 此介绍来自百度百科 JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最 ...

  5. MAYA 2022基础入门学习教程

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:3.41 GB |时长:4.5小时 包含 ...

  6. 三维地形制作软件 World Machine 基础入门学习教程

    <World Machine课程>涵盖了你需要的一切,让你有一个坚实的基础来构建自己的高质量的电影或视频游戏地形. 你会学到什么 为渲染或游戏开发创建高分辨率.高细节的地形. 基于Worl ...

  7. Blender3.0动画制作入门学习教程 Learn Animation with Blender (2021)

    要求 下载并安装Blender.免费下载和免费用于任何目的. 描述 加入我的动画课程. 在本课程中,我将从头开始讲述在Blender中创建动画场景的过程. 从第一步到最终渲染.在这个课程中,我们将使用 ...

  8. ZBrush全面入门学习教程 Schoolism – Introduction to ZBrush

    ZBrush全面入门学习教程 Schoolism – Introduction to ZBrush ZBrush全面入门学习教程 Schoolism – Introduction to ZBrush ...

  9. Maya基础入门学习教程

    Maya基础入门学习教程 视频:.MKV, 1280x720, 共57节课 时长 4小时25分钟,3GB 语言:英语+中文字幕(根据原英文字幕机译更准确)+原英文字幕 指导老师:Shane Whitt ...

最新文章

  1. openFileDialog 打开TXT记事本文件写入数据库
  2. 研究人员利用非线性原理为机器人创造出类似昆虫的步态,脑机接口也可以使用...
  3. 网络主机监控-nagios应用漫谈(三)
  4. Windows server 2003/2008更改远程桌面端口脚本
  5. 怎么样重装系统后能使电脑更快?
  6. 数据结构实验之栈与队列七:出栈序列判定
  7. ConcurrentHashMap的初步使用及场景
  8. 使用Def文件导出dll
  9. 微软Visual Studio 2019版本16.3 正式发布,支持 .NET Core 3.0
  10. RAC+ASM在单机上恢复的过程
  11. maven 打包报错 surefire-reports for the individual test results.
  12. c语言5版第10章答案,第10章 指 针 参考答案 c语言(1)
  13. js遍历数组foreach_JavaScript forEach –如何在JS中遍历数组
  14. 2014计算机技术与软件专业技术资格 网络工程师考点,全国计算机技术与软件专业技术资格(水平)考试2014年下半年 网络工程师 答案详解.pdf...
  15. 在IntelliJ IDEA配置Tomcat
  16. linux开pulseaudio服务,PulseAudio
  17. dhcp二层中继和三层中继
  18. JVM G1GC参数配置
  19. Kali、Ubuntu、银河、Uos、deepin、Centos7(8) 等 Linux 如何使用 蓝牙
  20. 彻底理解thunk函数与co框架

热门文章

  1. Shopee竞争对手分析,从这5点入手
  2. 你如何看待金融危机!!!!!
  3. Pandas初级认识
  4. Linux系统 05 python环境配置02 之 virtualenv与virtualenvwrappe以及freeze
  5. unity 性能优化之GPU和资源优化
  6. 商标被抢注如何提出商标异议
  7. vs code中pylint报错E1101问题的解决
  8. 计算机无法唤醒,电脑待机后鼠标无法唤醒电脑怎么办?
  9. 全局唯一id生成器----Vesta
  10. canal简介及canal部署、原理和使用介绍