IDEA简介及使用-程序员宅基地

技术标签: java  Java基础  intellij-idea  ide  

1、Intellij IDEA简介


Eclipse IBM公司开发

1.1、Jetbrains公司介绍

IDEAJetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。该公司旗下还有许多其他产品,如:

  • WebStorm:用于开发JavaScript、HTML5、CSS3 等前端技术
  • PyCharm:用于开发python
  • PhpStorm:用于开发PHP
  • RubyMine:用于开发Ruby/Rails
  • AppCode:用于开发Objective - C/swift
  • CLion:用于开发C/C+++
  • DataGrip:用于开发数据库和SQL
  • Rider:用于开发.NET
  • GoLand:用于开发 Go

1.2、Intellij IDEA介绍

IDEA 全称 IntelliJ IDEA,是java编程语言的集成开发环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构JavaEE支持、各类版本工具(gitsvn等)、JUnitCVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。

InteliJ IDEA曾在2015年的官网上这样介绍自己:

Excel at enterprise, mobile and web development with Java, Scala and Groovy,with all the latest modern technologies and frameworks available out of the box.

简译: IntelliJ IDEA主要用于支持Java、 Scala、 Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和Web应用的开发。

1.3、IDEA主要功能介绍

语言支持
安装插件后支持 SQL类 基本JVM
PHP PostgreSQL Java
Python MySQL Groovy
Ruby Oracle
Scala SQL Server
Kotlin
其他支持
支持的框架 额外支持的语言代码提示 支持的容器
Spring MVC H5 Tomcat
GWT CSS3 TomEE
WebServices SASS WebLogin
JSF LESS Jetty
Hibernate Node.js

1.4、IDEA主要优势(相较于Eclipse而言)

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

1.5、IDEA下载地址

Download

IDEA 分为两个版本:旗舰版(Ultimate)社区版(Community)

  • 旗舰版收费(限 30 天免费试用),它为 Web 和企业开发提供了额外的工具和功能
  • 社区版免费且开源,它提供了 JVM 和 Android 开发的所有基本功能

该处提供了不同操作系统下的不同版本的安装文件

两个不同版本的详细对比,可以参照官网:versions compare

1.6、官网详细使用文档

Doc

2、window安装过程


2.1、安装准备

2.1.1、硬件要求(Hardware requirements)

建议配置:内存8G或以上,CPU最好 i5 以上,最好安装块固态硬盘(SSD),将IDEA安装在固态硬盘上,这样流畅度会加快很多

2.1.2、软件要求(Software requirements)

操作系统:Microsoft Windows 10/8/7/Vista/2003/XP (32 or 64 bit)

2.2、安装过程

  1. 将下载好的软件包程序双击打开
  2. 点击Next下一步,并选择相应安装路径,点击Next
  3. 选择对应操作系统位数,确认是否与.java、.groovy、.kt 格式文件进行关联,此处可选择不关联
  4. 点击Install稍等片刻即可安装完毕!点击Finish结束

2.3、安装总结

从安装上来看,IntelliJ IDEA 对硬件的要求似乎不是很高。可是在实际开发中其实并不是这样的,因为 IntelliJ IDEA 执行时会有大量的缓存、索引文件,所以如果你正在使用 Eclipse / MyEclipse,想通过 IntelliJ IDEA 来解决计算机的卡、慢等问题,这基本上是不可能的,本质上你应该对自己的硬件设备进行升级

2.4、查看安装目录结构

  • bin:容器,执行文件和启动参数等
  • help:快捷键文档和其他帮助文档
  • jre64:64 位java 运行环境
  • lib:idea 依赖的类库
  • license:各个插件许可
  • plugin:插件

3、启动应用后简单配置


3.1、是否导入已有设置

首次启动,会弹出如下的对话框。选择不导入已有的设置

tips:软件激活请自行百度

3.2、设置主题

这里根据个人喜好,进行选择,也可以选择跳过(skip all and set defaults)。后面在settings 里也可以再设置主题等。这里选择:Next:Default plugins

3.3、设置插件

设置 IDEA 中的各种插件,可以选择自定义设置、删除,或者安装本身不存在的插件(比如:支持 Scala 的插件)。这里不设置,后面也可以通过界面菜单栏的 settings 进行设置

插件官方下载地址

3.4、启动界面

4、创建 Java 工程,运行HelloWorld


4.1、创建Java工程

  • New Project:创建一个新的工程
  • Open:打开一个已有工程。比如:可以打开 Eclipse 项目
  • GET FROM VCS:可以通过服务器上的项目地址 check out Github上面项目或其他 Git 托管服务器上的项目

此处选择 New Project,需要明确一下概念:

IntelliJ IDEA 没有类似 Eclipse 的工作空间的概念(Workspaces),最大单元就是Project。这里可以把 Project 理解为 Eclipse 中的 Workspace

选择指定目录下的 JDK 作为 Project SDK,选择 jdk 的安装路径所在位置:

点击 OK 以后,选择 Next:

此处无需勾选。选择 Next,进入下一个页面:

给创建的工程起一个名字,点击 Finish即可

4.2、工程界面

工程下的 src 类似于 Eclipse 下的 src 目录,用于存放代码

工程下的.idea 和 project01.iml 文件都是 IDEA 工程特有的。类似于 Eclipse 工程下的.settings、.classpath、.project 等

4.3、创建package和 class

接着在 src 目录下创建一个 package:

在包下 new-class:

不管是创建 class,还是 interface,还是 annotation,都是选择 new – java class,然后在下拉框中选择创建的结构的类型。

接着在类 HelloWorld 里声明主方法,输出 helloworld,完成测试

tip:在IDEA中,编写完代码,不用点击保存。IDEA会自动帮助你保存代码

5、关于模块


5.1、创建模块(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

这也是初学者刚接触IDEA时理不清它们之间关系的原因

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

3、在 IntelliJ IDEA 中 Project 是最顶级的级别次级别是 Module。一个 Project可以有多个 Module。目前主流的大型项目都是分布式部署的,结构都是类似这种多 Module 结构

这类项目一般是这样划分的,比如:core Module、web Module、plugin Module 等等,模块之间彼此可以相互依赖。通过这些 Module 的命名也可以看出,他们之间都是处于同一个项目业务下的模块,彼此之间是有不可分割的业务关系

4、相比较于多 Module 项目,小项目就无需搞得这么复杂。只有一个 Module 的结构 IntelliJ IDEA 也是支持的,并且 IntelliJ IDEA 创建项目的时候,默认就是单Module 的结构的。如何创建 Module?

接着选择 Next:

之后,我们可以在 Module 的 src 里写代码,此时 Project 工程下的 src 就没什么用了。可以删掉

5.2、删除模块(Module)

此时的删除,会从硬盘上将此 module 删除掉

5.3、查看项目配置

进入项目结构:

查看对应配置:

6、常用配置


IntelliJ IDEA 有很多人性化的设置供我们选择,也因为这些人性化的设置让那些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它

进入设置界面:

目录结构如下:

6.1、Appearance & Behavior

6.1.1、设置主题

这里默认提供了三套主题:IntelliJ,Darcula,Windows。可根据自己的喜好进行选择

6.1.2、设置窗体及菜单的字体及字体大小

6.1.3、通过插件(plugins)更改主题

插件名称:Material Theme UI

点击按钮以后,在联网环境下搜索如下的插件-安装-重启 IDEA 即可:

如果对安装的主题插件不满意,还可以找到此插件,进行卸载 – 重启 IDEA 即可

6.1.4、默认启动项目配置

启动IDEA时,默认自动打开上次开发的项目?还是自己手动选择?

在这里插入图片描述

如果去掉Reopen last project on startup前面的对勾,每次启动IDEA就会出现如下界面:

在这里插入图片描述

6.1.5、取消自动更新

默认会自动检查更新,建议检查IDE更新的√去掉,检查插件更新的√勾选上

在这里插入图片描述

6.2、Editor - General

6.2.1、设置鼠标滚轮修改字体大小

勾选此设置后,按住 Ctrl + 鼠标滚轮 快捷键来控制代码字体大小显示

6.2.2、设置自动导包功能

  • Add unambiguous imports on the fly:自动导入不明确的结构
  • Optimize imports on the fly:自动帮我们优化导入的包
6.2.3、设置显示行号和方法间的分隔符

6.2.4、忽略大小写提示

6.2.5、设置取消单行显示tabs的操作

在打开很多文件的时候,IntelliJ IDEA 默认是把所有打开的文件名 Tab 单行显示的。多行效率比单行高,因为单行会隐藏超过界面部分 Tab,不方便寻找文件

6.3、Editor – Font

6.3.1、设置默认的字体、字体大小、字体行间距

6.4、Editor – Color Scheme

6.4.1、修改当前主题的字体、字体大小、字体行间距

如果当前主题不希望使用默认字体、字体大小、字体行间距,还可单独设置:

6.4.2、修改当前主题的控制台输出的字体及字体大小

6.4.3、修改代码中注释的字体颜色

6.5、Editor – Code Style

6.5.1、设置超过指定 import 个数,改为 *

6.6、Editor – File and Code Templates

6.6.1、修改类头的注释信息

6.7、Editor – File Encodings

6.7.1、设置项目文件编码

tip:Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选,不然 Properties 文件中的注释显示的都不会是中文

6.8、Build,Execution,Deployment

6.8.1、设置自动编译

构建就是以我们编写的 java 代码、框架配置文件、国际化等其他资源文件、JSP 页面和图片等资源作为“原材料”,去“生产”出一个可以运行的项目的过程

Intellij Idea 默认状态为不自动编译状态,Eclipse 默认为自动编译,很多朋友都是从 Eclipse 转到 Intellij 的,这常常导致我们在需要操作 class 文件时忘记对修改后的 java 类文件进行重新编译,从而对旧文件进行了操作

6.8.2、取消双击shift搜索

平时我们按shift切换中英文输入方式,经常被按到,总是弹出搜索框,太麻烦了。可以取消它,另一种打开它的方式快捷键(Ctrl+N)

方式1:适用于IDEA 2022.1.2及之后版本

在这里插入图片描述

在2022.1及之前版本中,采用如下方式消双击shift出现搜索框:搜索double即可,勾选Disable double modifier key shortcuts,禁用这个选项

双击shift 或 ctrl + shift + a,打开如下搜索窗口:

在这里插入图片描述

选择registry…,找到"ide.suppress.double.click.handler",把复选框打上勾就可以取消双击shift出现搜索
框了

7、关于模板(Templates)


7.1、Editor – Live Templates 和 Editor – General – Postfix Completion

7.1.1、Live Templates(实时代码模板)

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

在这里插入图片描述

7.1.2、Postfix Completion模板(后缀补全)

在这里插入图片描述

7.1.3、常用代码模板
  • 非空判断
    • 变量.null:if(变量 == null)
    • 变量.nn:if(变量 != null)
    • 变量.notnull:if(变量 != null)
    • ifn:if(xx == null)
    • inn:if(xx != null)
  • 遍历数组和集合
    • 数组或集合变量.fori:for循环
    • 数组或集合变量.for:增强for循环
    • 数组或集合变量.forr:反向for循环
    • 数组或集合变量.iter:增强for循环遍历数组或集合
  • 输出语句
    • sout:相当于System.out.println
    • soutm:打印当前方法的名称
    • soutp:打印当前方法的形参及形参对应的实参值
    • soutv:打印方法中声明的最近的变量的值
    • 变量.sout:打印当前变量值
    • 变量.soutv:打印当前变量名及变量值
  • 对象操作
    • 创建对象
      • Xxx.new .var :创建Xxx类的对象,并赋给相应的变量
      • Xxx.new .field:会将方法内刚创建的Xxx对象抽取为一个属性
    • 强转
      • 对象.cast:将对象进行强转
      • 对象.castvar:将对象强转后,并赋给一个变量
  • 静态常量声明
    • psf:public static final
    • psfi:public static final int
    • psfs:public static final String
    • prsf:private static final
7.1.4、自定义Live Templates模板

IDEA 提供了很多现成的 Templates。但也可以根据自己的需要创建新的Template

先定义一个模板的组:

选中自定义的模板组,点击”+”来定义模板

  • Abbreviation:模板的缩略名称
  • Description:模板的描述
  • Template text:模板的代码片段
  • 应用范围,比如点击 Define。选择如下:

按照如上方式定义个测试方法,然后在 java 类文件中测试即可,可根据需求多创建几个Template!

7.1.5、自定义后缀补全模板

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

8、常用插件(plugins)


插件1:Material Theme UI(主题插件)

插件2:GsonFormatPlus(根据 json 生成对象)快捷键:alt + s

插件3:Alibaba Java Coding Guidelines(阿里巴巴Java编码规范检查插件)

插件4:Translation(翻译)

插件5:Rainbow Brackets(彩虹括号)

插件6:CodeGlance Pro(代码缩略图)

插件7:Key Promoter X(快捷键提示)

插件8:Presentation Assistant(显示快捷键操作的按键)

插件9:jclasslib bytecode viewer(可视化字节码查看器)使用方式:idea中打开“view” 菜单,选择“Show Bytecode With jclasslib” 选项

插件10:JavaDoc(文档注释)使用方式:idea中按 alt+insert ,执行操作

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhang_0202/article/details/123137547

智能推荐

百度大脑机动车销售发票、车辆合格证以及机打发票OCR正式商用啦_百度文字识别ocr 车辆合格证-程序员宅基地

文章浏览阅读268次。  今天小编给大家分享百度大脑OCR产品机动车销售发票识别、车辆合格证识别、通用机打发票识别于今天上线计费的消息。据了解百度大脑机动车销售发票OCR、车辆合格证OCR以及机打发票OCR注册即可一次性享有500次免费调用量,使用完毕可开通按量后付费或购买次数包。按量后付费,支持随开随停,灵活方便;次数包预付费,一次购买全年使用,价格低至6.4元/千次,下面来看具体内容:  1,机动车销售发票识别  结构化识别机动车销售发票的26个关键字段,包括:发票代码、号码、开票日期、机器编号、购买方信息、车辆_百度文字识别ocr 车辆合格证

Python_代码风格_合理分解代码,提高代码可读性_python 合理分解代码-程序员宅基地

文章浏览阅读164次。一.什么是PEP8PEP 是 Python Enhancement Proposal 的缩写,翻译过来叫“Python 增强规范”。正如我们写文章,会有句式、标点、段落格式、开头缩进等标准的规范一样,Python 书写自然也有一套较为官方的规范。PEP 8 就是这样一种规范,它存在的意义,就是让 Python 更易阅读,换句话,增强代码可读性。二.日常的代码规范缩进规范Python 的缩进其实可以写成很多种,Tab、双空格、四空格、空格和 Tab 混合等。而 PEP 8 规范告诉我们,请选择四个空_python 合理分解代码

“零拷贝”是什么_零拷贝收包-程序员宅基地

文章浏览阅读410次。前言List itemI/O概念 1.缓冲区 2.虚拟内存 3.mmap+write方式 4.sendfile方式Java零拷贝1.MappedByteBuffer2.DirectByteBuffer3.Channel-to-Channel传输Netty零拷贝其他零拷贝总结前言从字面意思理解就是数据不需要来回的拷贝,大大提升了系统的性能;这个词我们也经常在java nio,netty,kafka,RocketMQ等框架中听到,经常作为其提升性能的一_零拷贝收包

MicroERP开发技术分享:vsFlexGrid、scriptControl实现工资表自定义列与表间关系计算_vsflexgris 报表-程序员宅基地

文章浏览阅读961次。开发大型的MIS系统,肯定是离不开第三方控件的,同时也要根据项目需要自己写几个。MicroERP共用了以下几个控件:第三方商业控件:vsFlexGrid:大名鼎鼎的表格控件,不用多说,配合vsPrinter使用开源的基础上修改和自己写的:cash会计凭证用的金额线MDITabs MDI窗体LeftMenu手风琴导航菜单这里着重说一下vsFlexGrid、scriptControl实现工资表自定义列与表间关系计算_vsflexgris 报表

矩阵分析——QR分解-程序员宅基地

文章浏览阅读7.3w次,点赞56次,收藏200次。Gram-Schmidt正交化 在提到矩阵的QR分解前,必须要提到Gram–Schmidt方法,理论上QR分解是由Gram–Schmidt正交化推出来的。那么Gram–Schmidt正交化究竟是什么呢? 在三维空间存在直角坐标系,其中任意一点都可以由(x,y,z)坐标唯一确定,在这个坐标系中,X、Y、Z三轴都是相互正交(垂直)的。那么在n维欧式空间也应该_qr分解

Android 通过反射让SQlite建表如此简单_android 利用反射生成sqlite里的表-程序员宅基地

文章浏览阅读8.9k次,点赞7次,收藏18次。我们通常使用SQlite的时候,如果我们有10张表,我们要写10个建表语句,而建表语句中只有一些字段的名字需要改而已,这样既费时又费力,还容易出错,我们知道写sql语句的时候经常会写错,如果写错程序就会崩掉,而且检查10个建表语句还可以,如果有100条我么就要疯了。这篇文章告诉大家如何通过反射来快速建表。_android 利用反射生成sqlite里的表

随便推点

解决QT+VS中无法打开ui_xxx.h文件_qt中ui_widget.h找不到-程序员宅基地

文章浏览阅读1.1w次,点赞3次,收藏14次。在VS中添加插件Qt VS Tools,就可以在VS中写QT项目了,但是VS中写QT项目和在QT Creater中并不完全一样,VS中的项目文件结构是:但是如图中的widget.h文件中包含了ui_widget.h文件,但提示无法打开ui_widget.h文件,双击ui_widget.h也无法打开此文件。解决办法如图依次点击,然后等待几秒就可以打开该文件。选中ui_widget.h文件..._qt中ui_widget.h找不到

python day14 文件操作_将文本写到mydata.txt文件中-程序员宅基地

文章浏览阅读256次。目录:文件操作文件:什么是文件文件的缺点文件的操作步骤:文件的打开函数 open文件操作分为两种类型的操作:文本文件模式:各操作系统默认的换行符:练习:练习:答案见:二进制文件操作文件操作文件:什么是文件文件是用于数据存储的单位文件通常用来长期存储设置文件中的数据是以字节为单位进行顺序存储的文件的缺点内..._将文本写到mydata.txt文件中

k8s学习笔记_hostname "node01" could not be reached-程序员宅基地

文章浏览阅读1.1k次。kubernetes学习_hostname "node01" could not be reached

RTTI symbol not found for class ‘QObject‘ + double free or corruption_rtti symbol not found for class 'qobject-程序员宅基地

文章浏览阅读4.4k次,点赞2次,收藏6次。记录一个崩溃crash的问题。在方法中使用一个栈类对象时,程序出现崩溃。原因是:QT中 如果一个子级对象是new生成的(堆对象),当父级对象销毁时,会自动调用operator delete删除他的所有子级对象。这样有三种情况:如果一个子级对象是new生成的,他无需自己销毁;如果一个子级对象不是new生成的(栈对象),他在父级对象销毁前自己主动销毁自己,没问题。如果一个子级对象不是new生成的(栈对象),他不在父级对象销毁前自己主动销毁自己,父级对象调用operator delete他时就会出_rtti symbol not found for class 'qobject

软件架构-Spring boot快速开始及核心功能介绍(中)_project.build.sourceencoding-程序员宅基地

文章浏览阅读494次。上次通过Spring boot认知,核心功能。springBoot的搭建【官方向导搭建boot应用】和 【maven的方式搭建boot】。统一父POM管理(一)① 建立boot-parent工程首先我们建立一个 boot-parent的maven工程删除src目录然后修改pom.xml。packaging改为为pom格式。<packaging>pom</packaging>加入dependencyManagement, 同时去掉vers._project.build.sourceencoding

java技术专家【Java学习+面试指南】Java基础入门80问-程序员宅基地

文章浏览阅读701次,点赞11次,收藏22次。java技术专家【Java学习+面试指南】Java基础入门80问