大厂通用最全IDEA使用手册

IDEA 相关文章

标题文章连接
阿里巴巴Java开发编码规约与IDEA集成https://blog.youkuaiyun.com/chenlixiao007/article/details/108287646
IDEA 创建不同类型 Project 和 Module 详解https://blog.youkuaiyun.com/chenlixiao007/article/details/108248475
IDEA 中 Project 和 Module 详解与实战https://blog.youkuaiyun.com/chenlixiao007/article/details/108094767

一:IDEA 简介

IDEA全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJi在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、 CVS整合、代码审查、创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

对于IDEA,JetBrans 公司提出的最新口号是Capable and Ergomomic IDE for JVM,翻译过来就是面向JVM、功能强大且符合人体工程学的IDE。面向JVM是指该IDE支持Java,Scale等运行于JVM之上的所有语言。

IDEA 官网地址为:https://www.jetbrains.com/

IDEA版本说明

IDEA共分为两大版本

  1. Ultimate 旗舰版(商业版):功能强大
  2. Community 社区版(免费版):功能单一
    在这里插入图片描述

IDEA特点

IDEA提倡的是智能编码,减少程序员的工作量。

1 智能的选取
在很多时候我们要选取某个方法,或某个循环或想一步一步从一个变量到整个类慢慢扩充着选取,IDEA 就提供这种基于语法的选择,在默认设置中Ctrl+W,可以实现选取范围的不断扩充,这种方式在重构的时候尤其显得方便。

2 丰富的导航模式
IDEA提供了丰富的导航查看模式,例如Ctrl+E显示最近打开过的文件,Ctrl+N显示你希望显示的类名查找框(该框同样有智能补充功能,当你输入字母后IDEA将显示所有候选类名)。在最基本的 project 视图中,你还可以选择多种的视图方式。

3 历史记录功能
不用通过版本管理服务器,单纯的IDEA就可以查看任何工程中文件的历史记录,在版本恢复时你可以很容易地将其恢复。

4 对重构的优越支持
IDEA是所有IDE中最早支持重构的,其优秀的重构能力一直是其主要卖点之一。

5 编码辅助
Java规范中提倡的toString()、hashCode()、equals()以及所有的get/set方法,你可以不用进行任何的输入就可以实现代码的自动生成,从而把你从无聊的基本方法编码中解放出来。

6 灵活的排版功能
基本所有的IDE都有重排版功能,但仅有IDEA 的是人性的,因为它支持排版模式的定制,你可以根据不同的项目要求采用不同的排版方式。XML的完美支持,XML全提示支持。所有流行框架的xml文件都支持全提示。

7 动态语法检测
任何不符合java规范、自己预定义的规范、累赘都将在页面中加亮显示。

8 代码检查
对代码进行自动分析,检测不符合规范的,存在风险的代码,并加亮显示。

9 对JSP的完全支持
不需要任何的插件,完全支持JSP。

10 智能编辑
代码输入过程中,自动补充方法或类。

11 EJB支持
不需要任何插件完全支持EJB(6.0支持EJB3.0)

12 列编辑模式
用过 UtralEdit 的肯定对其的列编辑模式赞赏不已,因为它减少了很多无聊的重复工作,而IDEA完全支持该模式,从而更加提高了编码效率。

13 预置模板
预置模板可以让你把经常用到的方法编辑进模板,使用时你只用输入简单的几个字母就可以完成全部代码的编写。例如使用比较高的public static void main(String[] args){}你可以在模板中预设pm为该方法,输入时你只要输入pm再按代码辅助键,IDEA将完成代码的自动输入。

14 完美的自动代码完成
智能检查类中的方法,当发现方法名只有一个时自动完成代码输入,从而诚少剩下代码的编写工作。

15 版本控制完美支持
集成了目前市面上常见的所有版本控制工具插件,包括git、 svn、 github,让开发人员在编程的工程中直接在 IntelliJ IDEA 里就能完成代码的提交、检出、解决冲突、查看版本控制服务器内容等等。

16 不使用代码的检查
自动检查代码中不使用的代码,并给出提示,从而使代码更高效。

17 智能代码
自动检查代码,发现与预置规范有出入的代码给出提示,若程序员同意修改自动完成修改。例如代码String str = "Hello IntelliJ”+ "IDEA"; IDEA将给出优化提示,若程序员同意修改IDEA将自动将代码修改为String str = "Hello IntelliJ IDEA";

18 正则表达式的查找和替换功能
查找和替换支持正则表达式,从而提高效率。

19 JavaDoc预览支持
支持JavaDoc的预览功能,在JavaDoc代码中Ctrl+Q显示JavaDoc 的结果,从而提高doc文档的质量。

20 程序员意图支持
程序员编码时IDEA实时监测你的意图,或提供建议,或直接帮你完成代码。不需要再使用Ctrl+S不停地保存代码。

二:IDEA 安装

官网下载地址:https://www.jetbrains.com/idea/download/#section=windows
历史版本地址:https://www.jetbrains.com/idea/download/other.html

根据自己电脑操作系统版本选择Windows,Mac还是Linux版本。Ultimate是旗舰版,Community是社区版,我们此次安装的是旗舰版。左下角还可以选择IDEA历史版本。
在这里插入图片描述

此次演示的是2019版本的。双击下载后的.exe文件,选择Next
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意!!注意!!安装完之后不要立即打开。
注意!!注意!!安装完之后不要立即打开。
注意!!注意!!安装完之后不要立即打开。

如果要一直使用此IDEA和软件,可联系我!!

三:IDEA 初体验

3.1 如何将工程打成jar,在外部运行

hello-world工程如下
在这里插入图片描述
File - Project Structure - Project Settings - Artifacts
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
构建后,会在主项目的out\artifacts\hello_world_jar目录下生成一个jar包
在这里插入图片描述
在jar包目录下运行java -jar jar包名字命令,验证结果
在这里插入图片描述

四:IDEA 基本配置

4.1 字体设置

在这里插入图片描述

4.2 主题设置

在这里插入图片描述

4.3 Maven和Gradle设置

如果是只针对当前项目设置,则修改路径为File - Settings,如果是针对所有项目设置,则路径为File - Other Settings - Settings for New Projects。建议修改全局设置。在这里插入图片描述
在这里插入图片描述

4.4 忽略隐藏工程某种类型文件

在这里插入图片描述

4.5 快捷键设置其他版本,例如Eclipse

在这里插入图片描述

4.6 设置鼠标滑轮修改字体大小

在这里插入图片描述

4.7 设置鼠标悬浮提示

在这里插入图片描述

4.8 设置自动导包删包

在这里插入图片描述

4.9 设置行号和方法分隔符

在这里插入图片描述
在这里插入图片描述

4.10 设置代码提示时忽略大小写

如果勾选了Match case,我们写代码时,会匹配大小写,例如输入str不会出现String提示,输入Str才会有提示。所以我们不勾选这个选项。
在这里插入图片描述

4.11 设置单行,多行,文档注释的颜色格式等

在这里插入图片描述
在这里插入图片描述

4.12 设置编码

对所有项目生效,路径为File - Other Settings - Settings for New Projects。建议修改全局设置。
在这里插入图片描述
当前项目编码设置,路径为File - Settings。
在这里插入图片描述
单个文件编码设置,在IDEA右下角
在这里插入图片描述

4.13 设置自动编译

全局设置路径为File - Other Settings - Settings for New Projects,当前项目设置路径为File - Settings。
在这里插入图片描述

4.14 代码模板

在这里插入图片描述

4.15 类注释模板

在这里插入图片描述

五:快捷键

如果不清楚某些操作的快捷键是什么?或者哪些快捷键代表什么操作?可按如下图进行搜索。例如下图1演示搜索复制(Duplicate)的快捷键是什么。图2演示搜索Ctrl + D代表的操作是什么。
在这里插入图片描述
在这里插入图片描述
如若想修改某个操作的快捷键,只需要选中右键先删除旧的快捷键,再右键新增新的快捷键即可,例如下图演示将代码补全提示快捷键设置为ATL + /
在这里插入图片描述
在这里插入图片描述

  1. 搜索类:Ctrl + N
  2. 搜索文件:Ctrl + Shift + N
  3. 代码补全提示:Ctrl + Alt + 空格 (本人习惯配置用Alt + / )
  4. 查询在某处使用:Alt + F7
  5. 查看代码提示以及内容:Ctrl + Q
  6. 查看类的声明,即跳转到指定的类:鼠标放在要查看的类名上,按Ctrl + B(或者长按Ctrl,再用鼠标点击类名)
  7. 查看文件列表:Ctrl + F12
  8. 复制代码:Ctrl + D
  9. 删除代码:Ctrl + Y
  10. 导入包:Alt + Enter
  11. 生成默认变量名:如果有未定义变量名的类型语句,例如new Date();,鼠标放在此行,按Alt + Enter ,会生成默认变量,例如Date date = new Date();
  12. 重命名:例如重命名类名,选择某个类,按 Shift + F6
  13. 单行注释:Ctrl + /
  14. 多行注释:选中区域,Ctrl + Shift + /
  15. 生成get/set/toString等方法:Alt + Insert
  16. 生成try/catch,if/else,for等包含块:Ctrl + Alt + T
  17. 查看接口或抽象类的子类:Ctrl + Alt + B
  18. 补全结尾:Ctrl + Shift + Enter回车,例如String name= "Mr.nobody,光标在此行代码,按Ctrl + Shift + Enter回车自动补全结尾,变成String name = "Mr.nobody";。
  19. 自动代码生成模板列表:Ctrl + J。例如按Ctrl + J之后,再选择或者输入fori再回车,会自动生成for (int i = 0; i < ; i++) {}代码。当然也可以不按Ctrl + J显示列表,直接输出快捷键,例如fori,例如有个数组对象students,直接输入students.for再回车也能自动生成for代码块。
  20. 格式化代码:Ctrl + Alt + L
  21. 自动缩进:Ctrl + Alt + I
  22. 显示最近修改的代码:Ctrl + E
  23. 方法参数提示:Ctrl + P

六:设置每个Module的JDK版本

打开路径:File -> Project Structure,或者直接按F4.
在这里插入图片描述

相关推荐

Lambda表达式

codest的专栏 224

inux下C编程(10)---字符及字符串处理

字符编码ASCII: 7位 128个元素。大小写相差20hunicode: 2个 4个或更多的存储空间。utf-8: 每个字符2个字节字符处理库通过转换函数,可以实现和其他类型的转换。字符串转换函数字符串处理函数字符串比较函数字符串查找函数字符串内存函数字符串其他函数...

codest的专栏 233

linux下C编程(09)---函数

函数的一般形式:类型说明可以是任何数据类型,包括vOid.返回语句。return两个作用:结束当前函数,调用者获取程序的控制权。将计算结果传递给调用者。程序结束两种情况:代码结束return作用域规则范围划分局部变量作用函数体内。全局变量。作用域是整个源程序文件,文件中的所有函数和程序块都可以引用。生命周期划分动态存储变量。默认或者AUTO。静态存储变量sttic修饰符函数退出后,变量被保留在内存,再次执行同一函数会得到与上次退出时候相同的数值。函数的.

codest的专栏 231

linux下C编程(08)---数组和指针

一维数组一般形式数据类型 + 名称 +【长度】初始化 3种形式根据下标声明时候加入等号声明时候不指定长度,根据初始化的个数来确定。字符串使用的一维数组字符串数据和一般的字符数据区别是,前者还包含了字符串结束符:“\0”.C没有专门的字符串类型,但是允许使用字符串常量和字符串数组,并提供字符串操作函数。二维数组格式声明:数据类型 + 名称 +【长度1】【长度2】数组长度是 长度1* 长度2二维字符串数组可以看做多个一维字符串数组,第一组是字符串的个数多维数组

codest的专栏 287

linux下C编程(07)---程序控制结构

数据的输入和输出scanf 输入没有专门的语句,通过标准的库函数的调用实现,stdio.hscanf: 键盘上获取,按照指定的输入格式赋给相应的输入项目输入格式格式字符说明d输入一个十进制o输入一个八进制x输入一个16进制f输入一个小数点形式的浮点数e输入一个指数形式的浮点数c输入一个字符s输入一个字符串屏蔽某个数据时候,可以使用修饰符*空格或道和可以表示多个数之间的间隔。printf()输出修饰符是可

codest的专栏 211

linux下C编程(06)---C语言的数据类型

六、C语言的数据类型基本数据类型基本类型字长char 字符型1个字节int 整型2字节 AMD64 下 是4字节float整型4字节double整型8字节void 整型0字节聚合类型数组指针结构体共同体修饰符signedunsignedlongshort修改字符和整数两种基本类型。long还可以用于double.有符号将1位用于存储符号。常量#define定义的常量字符、字符串、数值常量。常量变量枚

codest的专栏 227

2021-09-12

什么是插槽? 插槽(Slot)是Vue提出来的一个概念,正如名字一样,插槽用于决定将所携带的内容,插入到指定的某个位置,从而使模板分块,具有模块化的特质和更大的重用性。插槽显不显示、怎样显示是由父组件来控制的,而插槽在哪里显示就由子组件来进行控制 slot官方介绍 Props: name - string,用于命名插槽。 U...

codest的专栏 216

Vue 快速上手

1、前端核心分析2、前端发展史3、第一个Vue程序4、Vue基本语法5、Vue绑定事件6、Vue双向绑定7、Vue组件讲解8、Axios异步通信9、计算属性10、插槽slot11、自定义事件内容分发12、第一个vue-cli程序13、webpack学习使用14、vue-router路由15、vue+elementUl16、路由嵌套17、参数传递及重定向18、404和路由钩子...

codest的专栏 256

若依Vue(若依前后端分离版)--01

介绍RuoYi-Vue 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring Security、MyBatis、Jwt、Vue),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群,支持多数据源,支持分布式事务。快速了解环境部署部署Java部署Vue项目介绍bbbub{},“aaa”====》debug讲解模拟登陆若依 获取验证码,得到UUID ..

codest的专栏 3996

int与Integer区别及应用场景

一、int与Integer区别:1、int属于基本数据类型,Integer属于int对应的包装类。2、既然是类,就需要实例化才可以使用,而基本数据变量不需要。3、Integer的默认值是null,而int的默认值是0二、int与Integer的应用场景1、为什么java会保留基本数据类型?对于java来说,常说“一切皆对象”,那为啥java还有基本数据类型,对此需要明白,基本数据类型和对象类型的区别1、基本数据类型基本数据类型存在的是:值,基本数据类型在内存中存放的位置是栈。(声明在方法中的

codest的专栏 1548

Java中的List、Set和Map的各自特征及使用场景

Java中的集合分为单列集合Collection和双列集合Map。 先通过这张图看看Collection和Map的各自体系。 首先看单列集合Collection中的List及Set的各自特征。 List(有序,可重复)             ArrayList   &nb...

codest的专栏 551

IDEA 中 Project 和 Module 详解与实战

IDEA 相关文章 标题文章连接大厂通用最全IDEA使用手册https://blog.youkuaiyun.com/chenlixiao007/article/details/106952976阿里巴巴Java开发编码规约与IDEA集成https://blog.youkuaiyun.com/chenlix...

codest的专栏 4777

阿里巴巴Java开发编码规约与IDEA集成

文章目录 IDEA 相关文章Ⅰ 阿里巴巴代码规约插件安装Ⅱ 插件使用Ⅲ 开发规范手册下载 IDEA 相关文章 标题文章连接大厂通用最全IDEA使用手册https://blog.youkuaiyun.com/chenlixiao007/article/details/1069529...

codest的专栏 254

idea工程和模块的区别

1、工程是独立的,具有自己的内部资源(jar包等)。 模块不是独立的,属于某一个工程,并可以使用该工程的所有资源。2、同一个工程中的模块对于该工程是继承关系,子模块之间初始状态下没有关系。 父工程和子模块之间不用单独手动建立关系,子模块之间需要手动建立关系,各模块之间的关系称为依赖。...

codest的专栏 901

五、SpringBoot(5)-SpringBoot与整合其他技术

SpringBoot整合Mybatis1.1 添加Mybatis的起步依赖<!--mybatis起步依赖--><dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version>&

codest的专栏 220

四、SpringBoot(4)-SpringBoot的配置文件

SpringBoot配置文件类型1 SpringBoot配置文件类型和作用SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置。SpringBoot默认会从Resources目录下加载application.properties或application.yml(application.yaml)文件其中,applic

codest的专栏 229

三、SpringBoot(3)-原理分析

起步依赖原理分析1. 分析spring-boot-starter-parent按住Ctrl点击pom.xml中的spring-boot-starter-parent,跳转到了spring-boot-starter-parent的pom.xml,xml配置如下(只摘抄了部分重点配置):<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-de

codest的专栏 219

二、SpringBoot(2)--快速入门

代码实现 创建Maven工程 使用idea工具创建一个maven工程,该工程为普通的java工程即可。 添加SpringBoot的起步依赖 编写SpringBoot引导类 编写Controller 测试 快速入门解析 SpringBoot代码解析 SpringBoot工程热部署 使用idea快速创建SpringBoot项目 ...

codest的专栏 222

一、SpringBoot(1)-简介

1.原有Spring优缺点分析1.1 Spring的优点分析Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象(Plain Old Java Object,POJO)实现了EJB的功能。1.2 Spring的缺点分析虽然Spring的组件代码是轻量级的...

codest的专栏 232

Vue的组件为什么要export default

Vue 的模块机制  Vue 是通过 webpack 实现的模块化,因此可以使用 import 来引入模块,例如:  此外,你还可以在 bulid/webpack.base.conf.js 文件中修改相关配置:

codest的专栏 478

vue初学习笔记--01

(该文章仅用于学习记录,如有侵权,请联系删除)

codest的专栏 429

viewport、布局视口、视觉视口、理想视口 深入理解

在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport了,只有明白了viewport的概念以及弄清楚了跟viewport有关的meta标签的使用,才能更好地让我们的网页适配或响应各种不同分辨率的移动设备。通俗的讲,移动设备上的viewport就是设备的屏幕上能用来显示我们的网页的那一块区域,在具体一点,就是浏览器上(也可能是一个app中的webview)用来显示网页的那部分区域,但viewport又不局限于浏览器可视区域的大小,它可能比浏览器的可视区域要大,也可能比浏览器的可视

codest的专栏 769

tp( thinkphp)数据更新和查询

一、数据更新1、使用find方法获取数据,然后通过save方法保存修改,返回布尔值$user = UserModel::find(11); $user->username = '李黑'; $user->save()2、通过where方法解和find方法的查询条件获取的数据进行修改$user=Students::where('id',1)->find();$user->uname ='admin';$user->email ='66461682@qq.

codest的专栏 1092

javascript基础(12)--定时器

333

codest的专栏 116

javascript基础(11)--BOM介绍

BOM:浏览器对象模型,BOM可以使我们通过JS来操作浏览器,在BOM中为我们提供了一组对象,用来完成对浏览器的操作.BOM对象:Window代表的是整个浏览器的窗口,同时window也是网页中的全局对象Navigator代表的当前浏览器的信息,通过该对象可以来识别不同的浏览器代表的当前浏览器的信息,通过该对象可以来识别不同的浏览器由于历史原因,Navigator对象中的大部分属性都已经不能帮助我们识别浏览器了一般我们只会使用userAgent来判断浏览器的信息,u.

codest的专栏 116

javascript基础(11)--事件对象

事件对象当事件的响应函数被触发时,浏览器每次都会将一个事件对象作为实参传递进响应函数,在事件对象中封装了当前事件相关的一切信息,比如:鼠标的坐标键盘哪个按键被按下鼠标滚轮滚动的方向。window.onload = function(){ /* * 当鼠标在areaDiv中移动时,在showMsg中来显示鼠标的坐标 */ //获取两个div var areaDiv = document.getElementById("areaDiv"); var showMsg ...

codest的专栏 221

javascript基础(10)--DOM和事件

DOM:文档对象模型文档:文档表示的就是整个的HTML网页文档 对象:对象表示将网页中的每一个部分都转换为了一个对象,将页面每个元素转换为对象 模型:倒树,体现节点对象之间的关系。 通过js操作html中的元素,如:h1, head等。节点:节点:Node——构成HTML文档最基本的单元 ,常用节点分为四类。文档节点:整个HTML文档 元素节点:HTML文档中的HTML标签 属性节点:元素的属性 文本节点:HTML标签中的文本内容浏览器已经为我们提供文档节点对象..

codest的专栏 302

javascript基础(11)--json

JSON: JavaScriptObjectNotationJS对象表示法JS中的对象只有JS自己认识,其他的语言都不认识,JSON就是一个特殊格式的字符串,这个字符串可以被任意的语言所识别,并且可以转换为任意语言中的对象,JSON在开发中主要用来数据的交互.Json基本语法:JSON和JS对象的格式一样,只不过JSON字符串中的属性名必须加双引号,其他的和JS语法一致。对象中的属性名,(注意:单引号、双引号、不加都是可以的)JSON分类:1.对象{} --jso...

codest的专栏 217

javascript基础(9)--正则表达式

正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式,来检查一个字符串是否符合规则,获取将字符串中符合规则的内容提取出来.使用步骤:创建正则表达式的对象 varreg=newRegExp("a"); //对象方式使用字面量:语法:var变量=/正则表达式/匹配模式 这个正则表达式可以来检查一个字符串中是否含有a,在构造函数中可以传递一个匹配模式作为第二个参数,i忽略大小写,g全局匹配模式. 使用TEST() 方法. 使用这个方法可以用来检查一个字符串是...

codest的专栏 150

javascript基础(8)--date /math/包装类/String

1 Date对象在JS中使用Date对象来表示一个时间vard=newDate();vard2=newDate("2/18/201111:10:30");getDate()获取当前日期对象是几日getDay()获取当前日期对象时周几getMonth获取当前时间对象的月份getFullYear * getTime() * - 获取当前日期对象的时间戳 * - 时间戳,指的是从格林威治标准时间的1970年1月1日,0时0...

codest的专栏 101
上一篇: idea工程和模块的区别
下一篇: 阿里巴巴Java开发编码规约与IDEA集成
codest
codest 企业官方账号 企业官方账号
博客等级 码龄17年 7粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值