资料来源:https://github.com/judasn/IntelliJ-IDEA-Tutorial
关注代码,而不是关注格式,格式交给IDE
安装注意:
运行内存建议8G及以上
安装在固态硬盘上
不要勾选文件关联java,否则打开会很慢
初始化:
按照默认即可,Java Framworks里面的以后可以再勾选,这里可以选择去掉一些,但是并不会影响多少运行速度
主题使用Darcula
安装目录:
D:\JetBrains\IntelliJ IDEA 2017.3\bin
idea64.exe
文件是 IntelliJ IDEA 64 位的可行执行文件,要求必须电脑上装有 JDK 64 位版本。64 位的系统也是建议使用该文件。
idea64.exe.vmoptions
文件是 IntelliJ IDEA 64 位的可执行文件的 VM 配置文件
-Xms128m
,16 G 内存的机器可尝试设置为-Xms512m
-Xmx750m
,16 G 内存的机器可尝试设置为-Xmx1500m
-XX:MaxPermSize=350m
,16G 内存的机器可尝试设置为-XX:MaxPermSize=500m
(P.S:2017 后的版本该参数被剔除)-XX:ReservedCodeCacheSize=225m
,16G 内存的机器可尝试设置为-XX:ReservedCodeCacheSize=500m
idea.properties
文件是 IntelliJ IDEA 的一些属性配置文件
idea.config.path=${user.home}/.IntelliJIdea/config
,该属性主要用于指向 IntelliJ IDEA 的个性化配置目录,默认是被注释,打开注释之后才算启用该属性,这里需要特别注意的是斜杠方向,这里用的是正斜杠。idea.system.path=${user.home}/.IntelliJIdea/system
,该属性主要用于指向 IntelliJ IDEA 的系统文件目录,默认是被注释,打开注释之后才算启用该属性,这里需要特别注意的是斜杠方向,这里用的是正斜杠。如果你的项目很多,则该目录会很大,如果你的 C 盘空间不够的时候,还是建议把该目录转移到其他盘符下。idea.max.intellisense.filesize=2500
,该属性主要用于提高在编辑大文件时候的代码帮助。IntelliJ IDEA 在编辑大文件的时候还是很容易卡顿的。idea.cycle.buffer.size=1024
,该属性主要用于控制控制台输出缓存。有遇到一些项目开启很多输出,控制台很快就被刷满了没办法再自动输出后面内容,这种项目建议增大该值或是直接禁用掉,禁用语句idea.cycle.buffer.size=disabled
。
- 强烈推荐不要直接修改安装目录下的这几个配置文件,因为 IDEA 升级/重装可能会导致修改完全失效!
- 强烈推荐使用 IDEA 自带菜单中的
Help -> Edit Custom VM Options
和Help -> Edit Custom Properties
来进行参数个性化配置!
设置目录:
C:\Users\copywang.IntelliJIdea2017.3
删除掉整个目录之后,重新启动 IntelliJ IDEA 会再自动帮你再生成一个全新的默认配置
config 目录是 IntelliJ IDEA 个性化化配置目录
主要记录了:IDE 主要配置功能、自定义的代码模板、自定义的文件模板、自定义的快捷键、Project 的 tasks 记录等等个性化的设置
system 目录是 IntelliJ IDEA 系统文件目录,是 IntelliJ IDEA 与开发项目一个桥梁目录,里面主要有:缓存、索引、容器文件输出等等,虽然不是最重要目录,但是也是最不可或缺目录之一。
UI界面:
IntelliJ IDEA 是没有类似 Eclipse 的工作空间的概念(Workspaces ),最大单元就是 Project。如果你同时观察多个项目的情况,IntelliJ IDEA 提供的解决方案是打开多个项目实例,你可以理解为开多个项目窗口。
对于首次创建或打开的新项目,IntelliJ IDEA 都会创建项目索引,创建索引过程最好不要动项目
打开View - Toolbar 和 Toolbar Buttons
UI修改
File -> Settings
主题字体:
IntelliJ IDEA 主题字体的修改要先勾选 Override default fonts by
字体修改是需要知道一个前提的,那就是你选择的那个字体必须含有中文,比如微软雅黑和宋体这类是包含中文的
新装了一个字体的话,那必须重启IntelliJ IDEA 之后才能在下拉列表找到新装的字体
配置结果:
主题选择Darcula
勾选Override default fonts by
字体选择Microsoft YaHei
Size选择14
代码编辑字体修改
File -> Settings -> Editor -> Font
有第一字体和第二字体的分别,第一选择可以显示英文的即可,第二选择可以显示中文的
配置结果:
Font选择Consolas
字体大小14
行距1.3
第二字体选择Microsoft YaHei
控制台字体输出:
File -> Settings -> Editor -> Color Scheme -> Console Font
做输出的时候出现乱码原因就是因为没有在这里进行设置
配置结果:
Font选择Consolas
字体大小14
行距1.3
第二字体选择Microsoft YaHei
编辑区主题修改
可以下载的主题网址:
http://color-themes.com/?view=index,主要提供 jar 文件下载。
http://www.phpstorm-themes.com/,主要提供 xml 和 icl 文件下载。
编辑区主题细节修改
File -> Settings -> Editor -> Color Scheme -> Language Default
按照自己的需求修改背景颜色即可
这里是用主题自带的,保持不变
文件编码修改
File -> Settings -> Editor -> File Encodings
修改成:
IDE Encoding:UTF-8
Project Encoding:UTF-8
Properties 文件进行专门的编码设置,一般也建议改为 UTF-8,其中有一个重点就是属性 Transparent native-to-ascii conversion,一般都要勾选,不然 Properties 文件中的注释显示的都不会是中文
选择无BOM
注意!!在转换之前做好文件备份,不然可能出现转换过程变成乱码,无法还原
在文件编辑的时候,右下角可以改编码
缓存和索引
IDEA 首次加载项目的时候,都会创建索引,而创建索引的时间跟项目的文件多少成正比
要是用来加快文件查询,从而加快各种查找、代码提示等操作的速度
IntelliJ IDEA 的缓存和索引文件也是会损坏的:清除缓存
File -> Invalidate Caches/Restart…
一般建议点击 Invalidate and Restart,这样会比较干净
清除索引和缓存会使得 IntelliJ IDEA 的 Local History 丢失,所以如果你项目没有加入到版本控制,而你又需要你项目文件的历史更改记录,那你最好备份下你的 LocalHistory 目录。目录地址在:C:\Users\当前登录的系统用户名.IntelliJIdea14\system\LocalHistory
清除缓存、索引本质也就是去删除 C 盘下的 system 目录下的对应的文件而已
C:\Users\copywang.IntelliJIdea2017.3\system
编译方式
Build -> Compile
-> Rebuild Project
-> Make
在 IntelliJ IDEA 里,编译方式一共有三种:
- Compile:对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。
- Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过,由于 Rebuild 的目标只有 Project,所以 Rebuild 每次花的时间会比较长。
- Make:使用最多的编译操作。对选定的目标(Project 或 Module)进行编译,但只编译有修改过的文件,没有修改过的文件不会编译,这样平时开发大型项目才不会浪费时间在编译过程中。
运行之前的编译
Run -> Edit Configurations
junit编译之前会进行Bulid
tomcat运行之前会进行Bulid
编译器的设置和选择
File -> Settings -> Build,Execution,Deployment -> Compiler
Build project automatically - 实时自动编译,建议不勾选
Build process heap size - 64位改成1500
添加目录 或 文件进行编译排除
File -> Settings -> Build,Execution,Deployment -> Compiler -> Excludes
编译器选择:
File -> Settings -> Build,Execution,Deployment -> Compiler -> Java Complier
选择javac
bytecode version选择1.8,我电脑安装的是JDK1.8
从eclipse转IDEA的官方文档指导
https://www.jetbrains.com/idea/help/eclipse.html
一个 Project 是由一个或多个 Module 组成,模块之间尽量是处在同一个项目业务的的情况下,彼此之间互相依赖关联
SDK(Software Development Kit)
按 Ctrl + Shift + Alt + S 弹出项目结构设置区
language level:限定项目编译检查时最低要求的 JDK 特性
大型项目,各个 Module 用到的 SDK 和 language level 很有可能是各不一样的
可以针对 Module 选择其他 SDK,默认选择的是 Project SDK
快捷键
IntelliJ IDEA 官方出的学习辅助插件:IDE Features Trainer:https://plugins.jetbrains.com/plugin/8554?pr=idea
首先安装插件
打开IDEA - Configure - plugins
搜索和安装 IDE Feature Trainer
打开IDEA新建
Learn IntelliJ IDEA项目即可
去掉sogou输入法的所有快捷键
如何修改快捷键
https://blog.youkuaiyun.com/xinghuo0007/article/details/78441574
按 Ctrl + Alt + S 弹出 IDE 设置,如上图选择左侧的 Keymap
修改之前先copy一份
支持一个操作命令同时设置多个快捷键组合
Alt + Enter
此快捷键跟光标所在位置有着很严重关联关系,光标放的位置不同,使用此快捷键出来的菜单选项完全不一样。
在 接口类 中,如果光标当前所在的方法,已经在 接口实现类 中生成了,则此快捷键的效果是跳转
在 接口类 中添加一个方法后,让该 接口实现类 也跟着生成
在 接口实现类 中添加一个方法后,让该 接口类 也跟着生成
对当前光标所在类,生成单元测试类
对当前光标所在类,创建子类,常用在对接口生成接口实现类
移除未使用的变量、对象等元素
对属性创建 set、get 方法
添加 doc,只能把光标放在方法名或是变量名等这类元素上才会有
把自己造的单词加入词库中,让拼写单词检查错误的波浪线效果消失。
快速移除当前类所继承的接口,并且同时清空已经写好的该接口所有的 Override 方法。
光标只能方式 接口实现类 上的 接口对象单词 上才可以实现。
修改光标当前元素的作用域 public/protected/private
给调用的方法生成返回值
根据返回值自动强转
对光标所在的对象进行包导入
切换成静态导入
根据 Language Level 级别不同,JDK 特性不同,给不同意见。
给 Hibernate 的 Entity 对象分配数据源,从而产生一系列智能功能
提高编码效率功能
Maven
File -> Settings -> Build,Execution,Deployment -> Build Tools -> Maven
指定本地 Maven 的安装目录
指定 Maven 的 settings.xml 位置和本地仓库位置
File -> Settings -> Build,Execution,Deployment -> Build Tools -> Maven -> Importing
Import Maven projects automatically 表示 IntelliJ IDEA 会实时监控项目的 pom.xml 文件,进行项目变动设置
Automatically download:在 Maven 导入依赖包的时候是否自动下载源码和文档。默认是没有勾选的,也不建议勾选,原因是这样可以加快项目从外网导入依赖包的速度,如果我们需要源码和文档的时候我们到时候再针对某个依赖包进行联网下载即可。IntelliJ IDEA 支持直接从公网下载源码和文档的
VM options for importer:一般不用改,除非项目导入真的太慢
新建WEB项目
File - New Project - Maven - Create from archetype - maven-archetype-webapp
groupID选择
部署web项目
工具栏的run/debug configuration,选择新增一个tomcat,然后添加war exploded即可
https://blog.youkuaiyun.com/linjpg/article/details/73322881
(1)war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;
(2)war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。
(3)在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来。
通过 IntelliJ IDEA 提供的 Maven 管理工具进行项目的管理和构建
Maven Projects视图
常用的 Maven 工具栏:
第一个按钮:Reimport All Maven Projects 表示根据 pom.xml 重新载入项目。一般当我们在 pom.xml 添加了依赖包或是插件的时候,发现标注 4 的依赖区中没有看到最新写的依赖的话,可以尝试点击此按钮进行项目的重新载入。
第六个按钮:Execute Maven Goal 弹出可执行的 Maven 命令的输入框。有些情况下我们需要通过书写某些执行命令来构建项目,就可以通过此按钮。
第九个按钮:Show Dependencies 显示项目依赖的结构图,可以方便我们直观项目的依赖包情况。
快速排查依赖包冲突
maven Maven Webapp:
Lifecycle 常用的 Maven 生命周期的命令,通过双击对应的命令来执行项目编译、打包、部署等操作
Plugins 在 pom.xml 中配置的插件列表,方便调用插件
Dependencies 在 pom.xml 中配置的依赖包列表
Project 常见的 Java Web 在 Maven 下的一个项目结构
Maven 的 Tomcat 插件运行项目
https://blog.youkuaiyun.com/weixin_40009737/article/details/79171297
一些Maven的配置
强烈建议把 Maven 的 settings.xml 文件同时放在:%USER_HOME%/.m2/settings.xml 和 ${maven.home}/conf/settings.xml 两个地方。避免使用终端的时候默认去调用用户目录下的
Maven 中的 profile
主要是为了解决不同环境所需的不同变量、配置等问题
profile 一般可以在三个地方:settings.xml,pom.xml,profiles.xml(这个不常用)
代码中 profile 就做一件事:设置全局的 profile,一个是 nexus 仓库,一个是 aliyun 仓库,默认激活的是 nexus 仓库。(activeProfiles)
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>D:\maven\my_local_repository</localRepository>
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus</id>
<url>http://192.168.1.73:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<url>http://192.168.1.73:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<profile>
<id>aliyun</id>
<repositories>
<repository>
<id>aliyun</id>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>aliyun</id>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
在 pom.xml 中,一般用来激活环境配置,比如以下代码:
profile 就做一件事:打包的时候,默认是 dev 模式,打包 src/main/env/dev 下的配置文件,如果选择 product 则打包 src/main/env/product 下的配置文件
<profiles>
<profile>
<id>dev</id>
<properties>
<package.environment>dev</package.environment>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/env/${package.environment}</directory>
<includes>
<include>**/*</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
<finalName>${project.artifactId}</finalName>
</build>
</profile>
<profile>
<id>product</id>
<properties>
<package.environment>product</package.environment>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/env/${package.environment}</directory>
<includes>
<include>**/*</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
<finalName>${project.artifactId}</finalName>
</build>
</profile>
</profiles>
IntelliJ IDEA 对版本控制的支持是以插件化的方式来实现的。旗舰版默认支持目前主流的版本控制软件:CVS、Subversion(SVN)、Git、ClearCase、Mercurial、Perforce、TFS。又因为目前太多人使用 Github 进行协同或是项目版本管理,所以 IntelliJ IDEA 同时自带了 Github 插件,方便 Checkout 和管理你的 Github 项目
SVN
在 IntelliJ IDEA 中使用 SVN,需要先安装 SVN 客户端或是 TortoiseSVN 这类图形化工具,Windows 系统这里推荐安装 TortoiseSVN,即使在不使用 IntelliJ IDEA 也可以方便管理我们的项目
Subversion 官网下载:https://subversion.apache.org/download/#recommended-release
TortoiseSVN 官网下载:http://tortoisesvn.net/downloads.zh.html
在安装 TortoiseSVN 的时候,默认 command line client tools,是不安装的,这里建议勾选上
IDEA配置:
Ctrl+Alt+s 打开配置
Version Control - Subversion
配置内容:
勾选 Use command line client
建议 svn 的路径自己根据安装后的路径进行选择,不然有时候 IntelliJ IDEA 无法识别到会报:Cannot run program “svn” 这类错误
当使用一段时间 SVN 以后,发现各种 SVN 相关问题无法解决,可以考虑点击Clear Auth Cache此按钮进行清除一下缓存
IntelliJ IDEA 下 SVN 的使用经历并不算愉快,至少比 Git 不好用很多,经常遇到很多问题,所以这里也算是先给大家提个醒。如果紧急情况下 IntelliJ IDEA 无法更新、提交的时候,要记得使用 TortoiseSVN 来操作
Git
IDEA配置:
Ctrl+Alt+s 打开配置
Version Control - Git
填写github的用户名和密码
从github上clone项目
VCS-checkout from version control
分享到github上:
参考:https://blog.youkuaiyun.com/stevennest/article/details/77877074
https://blog.youkuaiyun.com/milsevol/article/details/72792468
本地一个新项目的话:
1. VCS - import into Version Control - Create Git Repository
2. 如果是直接上传到github,可以直接VCS - import into Version Control - share project on github
3. 如果是公司或者其他的git服务器的话,VCS - Git - Remotes,添加Git服务器即可
== 第一部分到此结束 ==