抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境IDE(Integrated Development Environment),也可用于其他语言。IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。

1.概念

1.1 IDE

集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,Borland的C++ Builder、Delphi系列等。该程序可以独立运行,也可以和其它程序并用。IDE多被用于开发HTML应用软件。例如,许多人在设计网站时使用IDE(如HomeSite、DreamWeaver等),因为很多项任务会自动生成。编程开发软件将编辑、编译、调试等功能集成在一个桌面环境中,这样就大大方便了用户。

❀优点
节省时间和精力。IDE的目的就是要让开发更加快捷方便,通过提供工具和各种性能来帮助开发者组织资源,减少失误,提供捷径。
建立统一标准。当一组程序员使用同一个开发环境时,就建立了统一的工作标准,当IDE提供预设的模板,或者不同团队分享代码库时,这一效果就更加明显了。
管理开发工作。首先,IDE提供文档工具,可以自动输入开发者评论,或者迫使开发者在不同区域编写评论。其次,IDE可以展示资源,更便于发现应用所处位置,无需在文件系统里面艰难的搜索。

❀缺点
学习曲线问题。IDE基本上是比较复杂的工具,为了更好的熟练使用,需要一定的时间和耐心。
初学者的困难。对初学者来说,使用IDE来学习开发有相当的难度,不适合学习一种新语言时使用。
无法修复坏代码或设计。开发者不能完全依赖工具的便捷,还是必须保持专业水准和熟练度,开发的成果好坏主要还是看开发员的技术。

1.2 JetBrains公司介绍

  1. IntelliJ IDEA就是Java的IDE。

  2. 市场占有率竹节攀升,超过了Eclipse。

  3. 官网:https://www.jetbrains.com/

  4. JetBrains公司介绍:
    JetBrains是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄罗斯的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是Java编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA。公司旗下还有其它产品,比如:

    • WebStorm: 用于开发JavaScript、HTML5、 CS3等前端技术;
    • PyCharm: 用于开发python(python语言热度排行榜排名第一,在人工智能大数据领域应用)
    • PhpStorm: 用于开发PHP
    • RubyMine: 用于开发Ruby/Rails
    • AppCode: 用于开发Objective - C/Swift,替换xcode的
    • CLion: 用于开发C/C++
    • DataGrip: 用于开发数据库和SQL
    • Rider: 用于开发.NET
    • GoLand: 用于开发Go(区块链主流开发语言就是Go语言)

1.3 IntelliJ IDEA介绍

【1】IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境IDE(Integrated Development Environment),也可用于其他语言。
IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。

IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

【2】IDEA的支持:
image-20201212162324421

【3】IDEA的优势(相对于Eclipse)

  1. 强大的整合能力。比如: Git、 Maven、 Spring 等
  2. 提示功能的快速、便捷
  3. 提示功能的范围广
  4. 好用的快捷键和代码模板
  5. 精准搜索

2.安装相关

2.1 IntelliJ IDEA的下载和安装的准备

【1】官网:https://www.jetbrains.com/idea/download/#section=windows

【2】安装的准备:

  1. 硬件环境:
    内存8G以上
    CPU i5以上
    安装在固态硬盘下
  2. 软件环境:
    需要安装JDK

2.2 IDEA的卸载

对于免安装的idea:
(1)删除安装文件
(2)到用户下将idea的缓存,配置的目录删除掉即可

对于安装的idea:

  1. 可以用控制面板–》程序。
  2. 检查用户下将idea的缓存,配置的目录,如果有删除掉即可 。

2.3 IDEA的安装和破解

方式一:(破解已失效)

【1】将安装包进行解压–》选择固态盘符
【2】发送到桌面快捷方式,生成一个快捷方式
【3】打开:

选择主题:
image-20201212173858485

image-20201213153322641

先进入再说,免费试用:

image-20201213153348474

创建一个项目:

image-20201213153408275

选择JDK:

image-20201213153451820

image-20201213153611489

image-20201213153629614

image-20201213153712447

找到jetbrains-agent.jar 文件,然后放入合适的文件夹内(我一般直接放入idea的安装位置了,你随意,不建议有中文路径)

点击IDEA的菜单,找到: Help—》Edit Custom VM Options

image-20201213153746433

然后在文件中最后一行填入:

-javaagent:D:\soft_setup\IDEA\ideaIU-2019.2.3.win\jetbrains-agent.jar
注意这个jetbrains-agent.jar的路径要是你自己的真实的路径。
image-20201213153935552

关闭IDEA

再次打开IDEA,点击菜单 ,Help—》Register:
image-20201213153953878

填写address地址:https://fls.jetbrains-agent.com
image-20201213154023822

关闭IDEA

重启IDEA

看到带Licenseed to…字样的 证明激活成功

方式二:

官网下载最新IDEA。

获取Avtivation code注册码获取网站: http://vrg123.com/

获取注册码后,使用Avtivation code注册码激活即可。

3.IDEA页面展示

  1. 项目下内容:
    • 工程下的src类似于Eclipse下的src目录,用于存放代码。。
    • 工程下的.idea 和TestProject.iml文件都是IDEA工程特有的。类似于Eclipse 工程下的settings、.classpath、.project 等。
  2. 配置:
    image-20201213161959492
    image-20201213162133204image-20201213162306801

4.Module的概念和使用

【1】在Eclipse中我们有Workspace (工作空间)和Project (工程)的概念,在IDEA中只有Project (工程)和Module (模块)的概念。
这里的对应关系为:
IDEA官网说明:
An Eclipse workspace is similar to a project in IntelliJ IDEA
An Eclipse project maps to a module in IntelliJ IDEA
翻译:
Eclipse中 workspace 相当于 IDEA中的Project
Eclipse中 Project 相当于 IDEA中的Module
在IntelliJ IDEA中Project(工程) 是最顶级的级别,次级别是Module(模块)。
一个Project下可以有多个Module。

【2】从Eclipse 转过来的人总是下意识地要在同一个窗口管理n个项目,这在Intellij IDEA是无法做到的。Intellij IDEA提供的解决方案是打开多个项目实例,即打开多个项目窗口。即:一个Project 打开一个Window窗口。

【3】IDEA这样设置的原因:
目前主流的大型项目都是分布式部署的,结构都是类似这种多Module的。
这类项目一般是这样划分的,比如: 积分模块、任务模块、活动模块等等,模块之间彼此可以相互依赖。这些Module之间都是处于同一个项目业务下的模块,彼此之间是有不可分割的业务关系的。

image-20201213211202672

【4】out目录的说明:里面存放的是编译后的字节码文件
image-20201213211239043

【5】删除模块:
image-20201213211257510

5.常用设置

5.1进入设置:

image-20201215174530626

5.2设置主题:

image-20201215174625985

5.3编辑区的字体变大或者变小:

通过ctrl+鼠标滚轮改变编辑区字体大小。
image-20201215175333312

5.4鼠标悬浮在代码上有提示:

image-20201215175500950

5.5自动导包和优化多余的包:

手动导包:快捷键:alt+enter
两个选项对应自动导包和优化多余的包:

image-20201215175532062

5.6同一个包下的类,超过指定个数的时候,导包合并为*

image-20201215175603155

5.7显示行号 , 方法和方法间的分隔符:

image-20201215175646291

5.8忽略大小写,进行提示:

image-20201215175744680

5.9多个类不隐藏,多行显示:

image-20201215175934197

5.10设置默认的字体,字体大小,字体行间距:(编辑区和控制台都会变化)

image-20201215182119070

5.11修改代码中注释的字体颜色:

image-20201215182041457

5.12修改类头的文档注释信息:—》注意:对新建的类才有效

1
2
3
4
5
6
/**
* @Auther: zhaoss
* @Date: ${DATE} - ${MONTH} - ${DAY} - ${TIME}
* @Description: ${PACKAGE_NAME}
* @version: 1.0
*/

image-20201215181710055

5.13设置项目文件编码:

文件右下角可以调节编码格式:

image-20201215190032898

5.14自动编译:

image-20201215190709963

二、Registry
ctrl+alt+shift+’/’
弹出框选择如下,勾选即可。

image-20201130201740546

5.15省电模式:

代码检查、代码提示没有肯能进入省电模式。image-20201215190740199

5.16代码显示结构:

image-20201215191131637

5.17导入jar包:

5.18生成序列化版本号:

凡是一个类实现了Serializable接口,建议给该类提供一个固定不变的序列化版本号。以后这个类即使代码修改了,但是版本号不变,java虚拟机认为是同一个类。(区分类的)

IDEA设置自动生成序列化版本号
在这里插入图片描述

检查代码时会出现添加seriaID提示。
image-20201215191623211

5.19设置控制台输出日志解码格式

导航Help——>Edit Custom VM Options
添加文本设置:-Dfile.encoding=UTF-8

image-20210226131748541

5.20.开启Lambda表达式显示.

settings->Editor->Gutter icons->Lambda 勾选即可.

6.常用快捷键

快捷键功能
double shift全局搜索(集合下方的一些搜索功能)
Ctrl+N按照文件名称查找java文件
Ctrl+Shift+N按照文件名称查找所有文件
Ctrl+Shift+F在所有文件中查找指定内容。
Ctrl+F在当前文件中查找指定内容。
Ctrl+E列出最近使用过的文件
Ctrl+Shift+Alt+N查找类中的方法或变量
Ctrl + Alt + v自动补全变量名称
Ctrl + Alt + f自动补全属性名称
Shift + Esc关闭打开的小窗口
Tab/Enter将提示内容自动补全
Alt+Enter代码检查提示,放在类名,对象,变量。
alt+insert创建内容(项目中,包中,类中,文本中)
psvmmain方法
sout输出语句的简写,sout/str.sout
ctrl+d复制行(单行/多行)
ctrl+y删除行
Ctrl + Shift + Up / Down代码向上/下移动
Ctrl + / 或 Ctrl + Shift + /单行注释或多行注释
shift+f6重命名
Ctrl+O重写父类方法
forifor循环
ctrl+alt+t代码块包围:try-catch,if,while等
Ctrl+空格手动显示代码自动补全提示keymap->code->completion->basic可修改。
ctrl+鼠标滚轮idea代码字体大小放大和缩小的快捷键keymap->搜索font-size
alt+方向上/下类中方法之间跳跃
alt+方向左/右已打开的类中左右切换
ctrl+方向上/下光标不动,下拉页面(鼠标滚轮功能)
ctrl+方向左/右光标不在窗口中,将窗口移动到光标范围中。光标在窗口中,则进行字符串之间跳跃。
ctrl+鼠标悬浮在代码上+点进去即可代码一层一层调用的快捷键:
点进源码
ctrl+alt+方向左/右切换查看代码的导航,前进/后退keymap->搜索navigate
alt+7显示代码结构
alt+1显示project工程结构导航
ctrl+z撤回
ctrl+shift+zredo(重做)
tab缩进/提示内容自动补全
shift+tab取消缩进
shift+enter新建下一行并跳转到下一行。
ctrl+shift+F9编译当前文件
ctrl+F9编译工程
ctrl+shift+F10运行当前文件main方法
shift+F10运行文件(优先选择之前运行过的/web项目目标为Tomcat,在工具中选择。)image-20210227171725322
shift+F9debug文件(优先选择之前debug过的)/web项目目标为Tomcat
alt+shift+F10不跳转窗口,选择已打开的文件运行。
alt+shift+F9不跳转窗口,选择已打开的文件编译。
alt+F8查看表达式的值。
ctrl+B查看方法哪里被调用
Ctrl+Shift+回车语句自动补全添加;
Ctrl+Alt+L代码格式化。
Ctrl+Shift+J代码去空格。搜压缩。

7.常用操作:

7.1多文件并联展示

文件名,右键Split Vertically 垂直展示

文件名,右键Split Horizontally 水平展示

/

image-20201215184739498

7.2导入jar包

7.3代码模板使用

7.3.1代码模板是什么

它的原理就是配置一些==常用代码字母缩写==,在输入简写时可以出现你预定义的固定模式的代码,使得开发效率大大提高,同时也可以增加个性化。最简单的例子就是在Java中输入sout会出现System.out.println();

(一)所处位置:
(1)Live Templates
(2)Postfix Completion
image-20201216085226441

(二)区别:
【1】
Live Templates中可以做用户的个性化定制。
Postfix Completion中只能用,不能修改。
【2】使用方式不同
image-20201216085347392

7.3.2常用的代码模板

【1】模板1: main方法:

main 或者 psvm

【2】模板2:输出语句:

sout 或者 .sout
一些变型:
soutp:打印方法的形参
soutm:打印方法的名字
soutv:打印变量

【3】模板3: 循环

普通for循环: fori(正向) 或者 .fori (正向) . forr(逆向)
增强for循环: iter 或者 .for
(可以用于数组的遍历,集合的遍历)

【4】模板4: 条件判断

ifn 或者 .null :判断是否为null (if null)
inn 或者 .nn :判断不等于null (if not null)

【5】模板5: 属性修饰符:

prsf : private static final
psf :public static final

后缀多用于指定,非后缀多用于就近。

【6】 模板6:生成变量

.var:在调用有返回的方法上,使用,自动生成变量。

7.3.3修改现有模板

【1】案例1:改main方法: psvm

image-20201216093706516

【2】案例2:修饰属性的修饰符:

$VAR1$ $VAR2$ 表示占位符,光标会落到占位符上。

image-20201216093734765

7.3.4自定义模板

【1】测试方法:

image-20201216101612925

【2】常用属性:($$中的内容其实就是在定义光标的位置,光标可以切换,用回车切换)

image-20201216101714195

【3】方法注释模板:

1
2
3
4
5
6
7
/**
* 功能描述:
* @param: $param$
* @return: $return$
* @auther: $user$
* @date: $date$ $time$
*/

/** 回车补全和默认方法注释冲突,设定使用tab补全提示。

image-20201216101915753

7.4 IDEA中的断点调试

7.4.1常用断点调试快捷键

调试在开发中大量应用:
【1】Debug的优化设置:更加节省内存空间:
设置Debug连接方式,默认是Socket。 Shared memory是Windows 特有的一个属性,一般在Windows系统下建议使用此设置,
内存占用相对较少。
image-20201216103527648

【2】常用断点调试快捷键:

image-20201216110146597一步一步的向下运行代码,不会走入任何方法中。
image-20201216110211281一步一步的向下运行代码,不会走入系统类库的方法中,但是会走入自定义的方法中。
image-20201216110223480一步一步的向下运行代码,会走入系统类库的方法中,也会走入自定义的方法中。
image-20201216110250196跳出方法
image-20201216112524113结束程序
image-20201216112538926进入到下一个断点,如果没有下一个断点了,就直接运行到程序结束。
image-20201216112554584 在当前次取消行的断点。

7.4.2条件判断,查看表达式的值

【1】条件判断:
说明:
调试的时候,在循环里增加条件判断,可以极大的提高效率,心情也能惧悦。
具体操作:
在断点处右击调出条件断点。可以在满足某个条件下,实施断点。image-20201216170811331

【2】查看表达式的值:
选择行,alt+f8。image-20201216170926268

7.5创建Java Web项目

创建Java Web的模块:

image-20201216195121375

7.6在IDEA中添加Tomcat的镜像

image-20201216195447657

image-20201216195549394

启动项目:

image-20201216195607221

image-20201216195656977

7.7 ToolBar中显示和隐藏一些插件选项

隐藏:右键->remove from sidebar

显示:view->tool window

7.8.为新工程添加框架文件支持.

使用Maven自带web模板创建web工程:

image-20210226144659327

使用创建Maven自带的模板创建web工程,没有java,resource资源文件夹。

image-20210226145820154

⛵️ 解决办法:先创建一个标准的Maven工程,使用idea的Framework support功能

1

创建出来的工程比较标准:

image-20210226145309911

8.插件

插件官网
注意:在网站中所搜的插件需要和idea版本对应上。在idea内部搜索安装不用担心版本问题。

8.1 Gist

插件名评价说明
Gist Templatesidea2019无法使用
Get gist (Beta)idea2019无法使用
Use Gists目前只有2018可使用与MAGist类似没有搜索功能
Gist Snippet没有搜索功能,新版支持。
MAGist没有搜索功能,新版支持。

8.2 JRebel

dea热部署插件」 Rebel
当开始开发web项目的时候,需要频繁的修改web页面,此时如果频繁的重启变得很麻烦,因此,可以在idea
中集成Rebe插件,改动代码之后不需要重新启动应用程序。

服务器地址监听服务器地址:

http://jrebel.cicoding.cn

GUID生成器:

http://jrebel.cicoding.cn/guid

监听配置格式:

http://jrebel.cicoding.cn/GUID

生成的如下:

http://jrebel.cicoding.cn/4B068EB5-0941-4645-1E98-FC077D530A61

打开IDEA中Settings如下:image-20200203205627409

找到File -> Settings -> JRebel & XRebel 点击Chanage license,填写URL和邮箱地址
image-20200203205802704

点击Chanage license!
image-20200203210758095

就监听成功激活成功了!鼓掌!

然后就可以启动使用了!

9.遇到问题解决

1.performing vcs refresh时间过长

解决方案:重建项目

I also found that rebuilding the project (Build --> Rebuild project) did the trick. At the end of that task it says… saving cashes. Immediately thereafter I can commit with no delay.

2.Error:java: 无效的源发行版: 11/Error:java: Compilation failed: internal java compiler error

这里写图片描述

image-20201130171539251

因在于模块的target bytecode version和实际的编译器版本不一致所导致的错误。

不管三七二十一,把所有jdk版本统统改成一样的,首先按下快捷键ctrl+shift+alt+s:

查看项目的jdk

File ->Project Structure->Project Settings ->Project或使用快捷键Ctrl+Alt+shift+S打开项目的jdk配置:

image-20201112131611287

查看工程的jdk

点击上图中Modules查看对应jdk版本:

image-20201130171753983

查看java编译器版本

image-20210227124301643

导入java项目时此处处问题的概率比较多。

针对此问题,重新打开或修改pom文件(maven项目)中的内容很可能导致jdk版本重新变为1.5。如果是maven项目,可在pom文件中指定jdk相关信息:

1
2
3
4
5
6
7
8
9
10
11
12
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>

3.class类按名称搜索不到

将编译主目录取消Exclusion。Exclusion的思想类似于git中的.gitignore被标记的文件不会被跟踪搜索到。

Exclusion方式一:

http://img3.sycdn.imooc.com/5a3104020001cc6212841046.jpg

Exclusion方式二:

image-20201130212423378

4.Github登录不上

4.1使用用户名:

❀测试结果:
idea2018 和2019版本均无法登录。

❀测试报错:

  1. Invalid authentication data. Operation canceled
    Incorrect credentials

image-20201214150457180
image-20201214150523381

  1. Incorrect credentials. Request response:401 Unautghorizedimage-20201214181106335

4.2使用token:

❀测试结果:

2019版本可以登录

2018登录报错。

❀测试报错:

  1. Can’t get input stream from URL!
    image-20201214151153083

  2. Connect to api.github.com:443 [api.github.com/192.30.255.117] faild:Read time out
    image-20201214155659561

  3. Request response:401 Unauthorized - Bad credentials
    image-20201214155810936

尝试解决:

  1. 用邮箱账号登录
  2. 在地址前面,手动添加 https://github.com
  3. 在【Windwos 凭据】删除保存的账号密码 ,重启Android Studio,再次登录就可img
  4. 如果忘记密码 ,在Github【Settings】->【Deveployer settings】->【Personal access token】获取new token ,使用new token登录。
  5. file->setting->system settings去掉代理,HTTP Proxy ->No proxy
  6. 将github上的token全部删除,再次通过github登录github。

5.使用本地Tomcat,运行时缺少,添加第三方jar。

在工程的配置文件中添加,Artifacts。

image-20210227124759108

6.本地Tomcat解决控制台输出乱码

1、外置Tomcat解决办法:

1)Tomcat控制台启动乱码:Tomcat->Edit Configurations

img

2)Tomcat->-Dfile.encoding=UTF-8

image-20210227173110434

3)重启Tomcat查看控制台

2、若未解决使用以下方法进行idea设置:

1)Help->Edit Custom VM options
img

2)增加:-Dfile.encoding=UTF-8
img

3、若还是有乱码继续设置:

1)Settins->Editor->File Encodings
img

2)Build,Execution,Deployment->java compiler
img

4、get请求查询mysql数据控制台显示乱码:

img

解决办法:设置字符格式为utf-8 -> VM options: -Dfile.encoding=UTF-8
img

7.本地Tomcat,静态资源未实时部署。

使用rebuild。

image-20210227190319553

使用update项目:Ctrl+F10或者Shift+F10
image-20210227210307875
image-20210227210525213

参考文献

idea有没有eclipse下的workspace的功能?

评论