IntelliJ IDEA 学习笔记

IDEA教学视频

文章目录

    • 1.IntelliJ IDEA的介绍和优势
      • IDEA 的主要优势
    • 2.版本介绍与安装前的准备
    • 3.IDEA的卸载
    • 4.IDEA的安装
    • 5.安装目录和设置目录结构的说明
      • 安装目录
      • 设置目录
    • 6.启动IDEA并执行HelloWorld
    • 7.Module的使用
    • 8.IDEA的常用设置
    • 9.快捷键的设置
    • 10.常用的快捷键的使用1
    • 11.常用的快捷键的使用2
    • 12.模板及常用模板的演示
    • 13.修改及自定义模板
    • 14.IDEA中添加Tomcat镜像并部署web工程
    • 15.关联数据库
    • 16.版本控制在IDEA中的配置和使用
    • 17.IDEA中的断点调试
    • 18.IDEA中Maven的配置与使用
    • 19.生成javadoc、清理缓存和索引、插件的下载等

1.IntelliJ IDEA的介绍和优势

Eclipse是IBM公司研发的。

IDEA是 JetBrains 公司的产品,公司旗下还有其它产品,比如:

  • WebStorm: 用于开发 JavaScript、 HTML5、 CSS3 等前端技术;
  • PyCharm:用于开发 python
  • Android Studio: 用于开发 android(google 基于 IDEA 社区版进行迭代)

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

IDEA 的主要优势

相较于 Eclipse 而言

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

IDEA 的下载地址:(官网)

2.版本介绍与安装前的准备

可不用系统JDK,IDEA自带JDK

3.IDEA的卸载

在控制面板下删除

4.IDEA的安装

从官网下载安装文件后,随着安装文件的安装向导安装即可

5.安装目录和设置目录结构的说明

安装目录

IntelliJ IDEA安装目录内容:

$ ls -X
bin/ #容器,执行文件和启动参数等
jre64/ #64 位java 运行环境
lib/ #idea 依赖的类库
license/ #各个插件许可
plugins/ #插件
redist/
product-info.json
build.txt
LICENSE.txt
NOTICE.txt

bin目录下重要文件

$ ls ./bin | grep 'idea'
idea.exe #32位IDEA启动文件
idea.exe.vmoptions #32位IDEA的VM配置文件
idea.properties #IDEA属性配置文件
idea64.exe #64位IDEA启动文件
idea64.exe.vmoptions #64位IDEA的VM配置文件

根据项目大小及开发机器的性能适度调整IDEA的VM配置参数,或多或少能提高IDEA的性能,从而提升开发效率。

idea64.exe.vmoptions内容一窥

-Xms128m #最小内存数
-Xmx750m #最大内存数
-XX:ReservedCodeCacheSize=240m #保留代码占用的内存容量
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow

设置目录

查看设置目录结构

目录路径为C:\Users\Administrator.USER-20180302VA\.IdeaIC2018.3

Administrator@USER-20180302VA MINGW64 ~/.IdeaIC2018.3
$ ls
config/  system/

这个设置目录有一个特性,就是你删除掉整个目录之后,重新启动 IDEA 会再自动帮你生成一个全新的默认配置,所以很多时候如果你把IDEA 配置改坏了,删掉该目录,IDEA都会还原到默认。

config目录是 IntelliJ IDEA 个性化化配置目录,或者说是整个 IDE 设置目录。

这个目录主要记录了: IDE 主要配置功能、自定义的代码模板、自定义的文件模板、自定义的快捷键、 Project 的 tasks 记录等等个性化的设置。

system目录是 IntelliJ IDEA 系统文件目录,是 IntelliJ IDEA 与开发项目一个桥梁目录,里面主要有:缓存、索引、容器文件输出等等

6.启动IDEA并执行HelloWorld

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

JDK可使用系统上安装的或IDEA自带的。

创建File->New->Project创建一个普通Java项目。接下来按类似Eclipse套路容易创建一个HelloWorld类。

7.Module的使用

  1. Eclipse 中 workspace 相当于 IDEA 中的 Project
  2. Eclipse 中 Project 相当于 IDEA 中的 Module

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NoQyBw0y-1594692052204)(image/01.png)]

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

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

创建Module:File->New->Module

Module要经过两次Delete才能在硬盘上真正的抹去

查看项目配置:File->Project Structure

8.IDEA的常用设置

File->Settings

  1. Appearance & Behavior:设置样式(暗黑模式)
  2. Editor,General:Change font size (Zoom) with Ctrl+Mouse Wheel.
  3. Editor,General:Show quick documentation on mouse move. Delay(ms): 500
  4. Editor,General,Auto Import
    • Add unambiguous imports on the fly
    • Optimize imports on the fly
  5. Editor,General,Appearance:
    • Show line numbers
    • Show method separators 类的每个方法之间放条分割线
  6. Editor,General,Code Completion:
    • Case sensitive completion:IDEA 的代码提示和补充功能区分大小写,例如StringBu则会提示,而stringbu则不会提示(2018社区版没有这选项)
  7. Editor,General,Editor Tabs:
    • Show tabs in one row 在打开很多文件的时候, IntelliJ IDEA 默认是把所有打开的文件名 Tab 单行显示的。但是我个人现在的习惯是使用多行,多行效率比单行高,因为单行会隐藏超过界面部分 Tab,这样找文件不方便。
  8. Editor,Font 设置默认的字体、字体大小、字体行间距
  9. Editor,Color Scheme,Color Scheme Font 修改当前主题的字体、字体大小、字体行间距
  10. Editor,Color Scheme,Console Font 修改当前主题的控制台输出的字体及字体大小
  11. Editor,Color Scheme,Language Defaults 修改代码中注释的字体颜色
    • Doc Comment: 修改文档注释的字体颜色
    • Block comment: 修改多行注释的字体颜色
    • Line comment: 修改当行注释的字体颜色
  12. Editor,Code Style,Java,imports:设置超过指定 import 个数,改为*
  13. Editor,File and Code Templates,Includes:修改类头的文档注释信息
  14. Editor,File Encodings 设置项目文件编码(其实IDEA主窗口的右下部分可以设置当前源文件编码格式)
  15. Build,Execution,Deployment ,Compiler 设置自动编译(Eclipse默认自动编译的,而IDEA不是)
    • Build project automatically
    • Compile independent modules in parallel

File->Power Save Mode 省电模式

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


在代码展现区,右键点击源码文件标题tab

  • Split Vertically
  • Split Horizontally

设置代码水平或垂直显示。

这个没有Eclipse功能方便

9.快捷键的设置

File->Settings->Keymap

可以设置Eclipse风格的快捷键,但始终有些快捷键没有目标效果。

也可以对快捷键进行细粒度的修改


查看IDEA默认的Key Map : Help->Keymap Reference

10.常用的快捷键的使用1

11.常用的快捷键的使用2

12.模板及常用模板的演示

File->Settings

  • Editor – Live Templates 内容能改
  • Editor – General – Postfix Completion 内容不能改

例如:

  1. psvm : 可生成 main 方法
  2. sout : System.out.println() 快捷输出。类似的:
    • soutp=System.out.println("方法形参名 = " + 形参名);
    • soutv=System.out.println("变量名 = " + 变量);
    • soutm=System.out.println(“当前类名.当前方法”);
    • “abc”.sout => System.out.println(“abc”);
  3. fori : 可生成 for 循环
    • iter:可生成增强 for 循环
    • itar:可生成普通 for 循环
  4. list.for : 可生成集合 list 的 for 循环List list = new ArrayList();输入: list.for 即可输出for(String s:list){},又如:
    • list.fori 正序遍历
    • list.forr 倒序遍历
  5. ifn:可生成 if(xxx = null),类似的:
    • inn:可生成 if(xxx != null)
    • xxx.nn
    • xxx.null
  6. prsf:可生成 private static final
    • psf:可生成 public static final
    • psfi:可生成 public static final int
    • psfs:可生成 public static final String

13.修改及自定义模板

File->Settings

  • Editor – Live Templates 内容能改
  1. Abbreviation:模板的缩略名称
  2. Description:模板的描述
  3. Template text:模板的代码片段

14.IDEA中添加Tomcat镜像并部署web工程

IDEA旗舰版自带该功能

社区版的,可使用maven的Tomcat插件,IntelliJ IDEA社区版通过Maven创建J2EE项目

15.关联数据库

IDEA旗舰版自带该Database功能

社区版的,可下载插件Database Navigator实现类似功能

注意,IDEA 2018.3 应下载 Database Navigator 3.2.0589.0。下载较新版本插件安装后重启,不能正常使用

IDEA 的 Database 最大特性就是对于 Java Web 项目来讲,常使用的 ORM 框架,如 Hibernate、 Mybatis有很好的支持,比如配置好了 Database 之后,IDEA 会自动识别 domain对象与数据表的关系,也可以通过 Database 的数据表直接生成 domain 对象等等。

16.版本控制在IDEA中的配置和使用

File->Setting配置安装到系统的git的主目录,配置Github的账号密码。

菜单栏的VCS (version control system)包含版本控制相关功能:如checkout git/github(个人) 的项目

引入git/github项目:File->New->Project from Version Constrol

查看本地历史,无需git:右键点击目标文件、项目->Local History->Show History

17.IDEA中的断点调试

File->Settings搜寻Debugger(Build,Execution,Deployment)设置 Debug 连接方式,默认是 Socket。 Shared memory 是 Windows 特有的一个属性,一般在 Windows 系统下建议使用此设置, 内存占用相对较少。

常用断点调试快捷键跟Eclipse类似:

  • step over 进入下一步,如果当前行断点是一个方法,则不进入当前方法体内
  • step into 进入下一步,如果当前行断点是一个方法,则进入当前方法体内
  • force step into 进入下一步,如果当前行断点是一个方法,则进入当前方法体内
  • step out 跳出
  • resume program 恢复程序运行,但如果该断点下面代码还有断点则停在下一个断点上
  • stop 停止
  • mute breakpoints 点中,使得所有的断点失效
  • view breakpoints 查看所有断点

18.IDEA中Maven的配置与使用

Maven 是 Apache 提供的一款自动化构建工具,用于自动化构建和依赖管理。开发团队基本不用花多少时间就能自动完成工程的基础构建配置,因为 **Maven 使用了一个标准的目录结构和一个默认的构建生命周期。**在如下环节中, Maven可减轻开发者工作量。

  • 清理:表示在编译代码前将之前生成的内容删除
  • 编译:将源代码编译为字节码
  • 测试:运行单元测试用例程序
  • 报告:测试程序的结果
  • 打包:将 java 项目打成 jar 包;将 Web 项目打成 war 包
  • 安装:将 jar 或 war 生成到 Maven 仓库中
  • 部署:将 jar 或 war 从 Maven 仓库中部署到 Web 服务器上运行

File->Settings搜索Maven,配置安装到系统的Maven

File->Settings搜索Maven->Importing进行配置

  • Import Maven projects automatically:表示 IntelliJ IDEA 会实时监控项目的 pom.xml 文件,进行项目变动设置。
  • Automatically download:在 Maven 导入依赖包的时候是否自动下载源码和文档。默认是
    没有勾选的, 也不建议勾选
  • VM options for importer:可以设置导入的 VM 参数。

19.生成javadoc、清理缓存和索引、插件的下载等

  • 生成javadoc_清理缓存:Tools->Generate JavaDoc
  • 清理缓存或重启:File->Invalidate Caches / Restart
  • 取消更新:File->Settings搜寻Updates,取消自动Update
  • 管理插件:File->Settings搜寻Plugins,可CRUD插件。Marketplace再失效,可登陆IDEA官方插件网,下载插件到本地进行安装。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/445927.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习顶刊文献_人工智能顶刊TPAMI2019最新《多模态机器学习综述》

原标题:人工智能顶刊TPAMI2019最新《多模态机器学习综述》来源:专知摘要:”当研究问题或数据集包括多个这样的模态时,其特征在于多模态。【导读】人工智能领域最顶级国际期刊IEEE Transactions on Pattern Analysis and Machine I…

Windows上同时运行两个Tomcat

步骤 1.获得免安装包 从Tomcat官网下载免安装包。 2.解压复制 解压并创建两个副本tomcat1和tomcat2,它们的路径分别为: tomcat1:C:\tomcat\double\apache-tomcat-7.0.90-8081tomcat2:C:\tomcat\double\apache-tomcat-7.0.90-…

FFmpeg源代码简单分析-其他-libswscale的sws_scale()

参考链接 FFmpeg源代码简单分析:libswscale的sws_scale()_雷霄骅的博客-CSDN博客_bad dst image pointers libswscale的sws_scale() FFmpeg的图像处理(缩放,YUV/RGB格式转换)类库libswsscale中的sws_scale()函数。libswscale是一…

布朗桥python_MATLAB 里面有哪些加快程序运行速度的方法呢,求分享?

挖坟了…睡不着觉当个备忘录记一下用过的方法吧1. 循环向量化2. 利用函数的矩阵输入功能批量处理3. 必须用for且费时的地方改成单层parfor,要是循环次数比cpu核数还少反而会拖慢程序4. 非常大的矩阵的运算可以用gpuArray(这个在matlab 深度学习工具箱中深有体会)5. …

FFmpeg源代码简单分析-其他-libavdevice的avdevice_register_all()

参考链接 FFmpeg源代码简单分析:libavdevice的avdevice_register_all()_雷霄骅的博客-CSDN博客 libavdevice的avdevice_register_all() FFmpeg中libavdevice注册设备的函数avdevice_register_all()。avdevice_register_all()在编程中的使用示例可以参考文章&#…

Tomcat无需输入项目名,直接用域名访问项目

问题 在Tomcat上开发Web应用,通常是将应用放置Tomcat主目录下webapps,然后在浏览器地址栏输入域名应用名(如http://localhost:8080/app)对应用进行访问。 为了方便开发,打算直接用域名访问项目。例如,在浏…

蓝牙该串口设备不存在或已被占用_电脑识别不了串口设备如何解决_电脑检测不到串口怎么办...

2015-09-07 10:46:45win8.1系统USB转串口不能识别设备出现错误代码10的解决方法分享给大家,win8.1系统插入USB设备提示“指定不存在的设备”,左下角有小黄色感叹号,导致设备无法识别不能识别...2016-12-02 10:52:57一般情况下,win…

FFmpeg源代码简单分析-其他-libavdevice的gdigrab

参考链接 FFmpeg源代码简单分析:libavdevice的gdigrab_雷霄骅的博客-CSDN博客_gdigrab libavdevice的gdigrab GDIGrab用于在Windows下屏幕录像(抓屏)gdigrab的源代码位于libavdevice\gdigrab.c。关键函数的调用关系图如下图所示。图中绿色背…

分区和分片的区别_PHP: 分区和分片 - Manual

分区和分片数据库群组是由于各种各样的原因建立的,他可以提升处理能力、容忍错误,并且提升大量服务器同时工作的的性能。群组有时会组合分区和共享功能,来将大量复杂的任务分拆成更加简单的任务,更加可控的单元。插件可以支持各种…

Ubuntu安装GmSSL库适用于ubuntu18和ubuntu20版本

参考链接 编译与安装【GmSSL】GmSSL 与 OpenSSL 共存的安装方法_阿卡基YUAN的博客-CSDN博客_openssl和gmssl在Linux下安装GmSSL_百里杨的博客-CSDN博客_安装gmssl ubuntu18操作 需要超级管理员权限本人将下载的安装包master.zip和安装的位置都设定在/usr/local下创建文件夹/u…

Windows7右键菜单栏添加打开cmd项

背景简介 众所周知,在Linux桌面操作系统中的工作目录窗口中,单击鼠标右键,弹出的菜单栏通常有一项“打开终端”,然后移动鼠标点击该项,就可以打开Shell窗口,在当前工作目录进行命令行操作。 但是&#xf…

python11_Python11,文件操作

整了这么多杂七杂八又“没用”的,终于来点实际的操作了。Python中用open()方法来对打开文件。我们来看看它的用法:path "C:\\Users\Frank\Desktop\\text.txt"f open(path,r,encoding"utf-8")首先给变量path指定一个路径&#xff0…

在ubuntu环境下执行openssl编译和安装

参考链接 工具系列 | Ubuntu18.04安装Openssl-1.1.1_Tinywan的技术博客_51CTO博客密码学专题 openssl编译和安装_MY CUP OF TEA的博客-CSDN博客_openssl 编译安装 下载 /source/index.html编译 使用命令sudo tar -xvzf openssl-1.1.1q.tar.gz 解压。使用cd openssl-1.1.1q/进…

chrome 使用gpu 加速_一招解决 Chrome / Edge 卡顿缓慢 让浏览器重回流畅顺滑

最近一段时间,我发现电脑上的 Chrome 谷歌浏览器越用越卡了。特别是网页打开比较多,同时还有视频播放时,整个浏览器的响应速度都会变得非常缓慢,视频也会卡顿掉帧。 我用的是 iMac / 32GB 内存 / Intel 四核 i7 4Ghz CPU,硬件性能应该足以让 Chrome 流畅打开几十个网页标签…

CLion运行程序时添加命令行参数 即设置argv输入参数

参考链接 CLion运行程序时添加命令行参数_三丰杂货铺的博客-CSDN博客_clion命令行参数 操作流程 Run -> Edit -> Configuration -> Program arguments那里添内容最快捷的方式是,点击锤子编译图标和运行图标之间的的图标,进行Edit Configurati…

python的userlist_Python Collections.UserList用法及代码示例

Python列表是array-like数据结构,但与之不同的是它是同质的。单个列表可能包含数据类型,例如整数,字符串以及对象。 Python中的列表是有序的,并且有一定数量。根据确定的序列对列表中的元素进行索引,并使用0作为第一个…

解决 SSL_CTX_use_certificate:ca md too weak:ssl/ssl_rsa.c 问题

报错原因分析 原因是openssl调整了安全级别,要求ca具备更高等级的安全,因此先前发布的证书,如果采用了不安全的算法,比如MD5,就会显示上述这个错误 解决办法 重新生成证书,先前证书弃用使用函数 SSL_CTX_…

向上滚动 终端_ubuntu

Ubuntu终端Terminal常用快捷键Ubuntu终端Terminal常用快捷键 快捷键 功能 Tab 自动补全 Ctrla 光标移动到开始位置 Ctrle 光标移动到最末尾 Ctrlk 删除此处至末尾的所有内容 Ctrlu 删除此处至开始的所有内容 Ctrld 删除当前字符 Ctrlh 删除当前字符前一个字符 Ctrlw 删除此处到…

openssl实现双向认证教程(服务端代码+客户端代码+证书生成)

参考链接 openssl实现双向认证教程(服务端代码客户端代码证书生成)_huang714的博客-CSDN博客_ssl_ctx_load_verify_locations基于openssl实现https双向身份认证及安全通信_tutu-hu的博客-CSDN博客_基于openssl实现 注意事项 openssl版本差异很可能导致程…

python用pip安装pillow_cent 6.5使用pip安装pillow总是失败

python:2.7.8阿里云cent os32位virtualenvvirtualenvwrapper之前有一个virtualenv不知道怎么回事成功装上了pillow之后再在别的virtualenv装就全都报错这是为什么 太奇怪了?下载whl安装,不管哪个版本都说不支持这个系统。imaging.c:3356: error: expected ?.?. ?…