# IntelliJ IDEA

# 快捷键

psvm //快速生成main()方法;
sout //快速生成输出语句;

Ctrl+/ //单行注释,再来一次就是取消
Ctrl+Shift+/ //多行注释,再来一次就是取消
/** + enter  //方法或者类说明注释,自动带参数和返回值

Ctrl+Alt+L //格式化
Ctrl+Alt+V //自动补全等号左边
Ctrl+Alt+T //添加包裹语句 例如:try catch

Alt+Insert //快速生成构造函数和私有成员的get、set方法、重写方法、meven添加依赖和插件
Ctrl+Shift+Alt+S //查看项目结构
Alt+Shift+R //重命名 通过此方式重命名类或变量、方法,在被引用处也会相应变化

Double Shift //随处搜索

Alt+F7 //定位方法、函数、变量在哪个类中被引用
Ctrl+B //转到定义
F3 //转到定义
F6 //逐步调试
F8 //执行并跳出方法

# 常用设置

# 创建空项目

  • New Project
  • Empty Project
  • 把送的 这个模块干掉
  • Project Structure -> Module 添加新模块

创建空项目

# 文件添加copyright

  • 在idea中找到settings->Editor->copyright->copyright profiles,然后点击+,输入名字,在copyright text中输入模板,然后点击右下角apply
项目名称:$project.name
文件名称:$file.fileName
Date:$today
Mail:303258100@qq.com
Author:Sylone
  • 在settings->Editor->copyright中default project copyright选择1中的copyright名字,点击右上方+ 添加scope,scope列选择project file,然后点击右下角apply
  • 此时在新建项目时就会自动加入copyright
    • 可以右击目录或者project file选择update copyright手动加入coperight
    • 可以通过在project file中使用alt+insert快捷键选择copyright生成版权信息

# 第一次在包下建立子包时候无法创建

Show Options Menu下有一个Compacket Middle Packages将它关闭即可 建立子包

# 修改文件的模板

例如:web.xml文件的模板: setting -> Editor -> File and Code Templates -> Other -> Web

# IDEA工具栏添加按钮

以项目结构Project Structure 为例添加按钮

  • 打开设置进入 Menus and Toolbars
  • 右侧点开 Main Toolbar
  • 找一行虚线,点加号,Add Action
  • 搜索Project Structure
  • 点击 确定

IDEA工具栏添加按钮

# 全局配置

  • Maven
  • File Encodings

全局配置

# 配置SSH

配置SSH

# 配置Docker

配置Docker

# 配置FTP

配置FTP

配置FTP

# 集成Tomcat

# 配置Tomcat

  • Run-> Edit Configurations 配置Tomcat
  • Tomcat中默认集成了jsp和Serverlet 配置Tomcat

# 创建web项目

  • Template:Web Application
  • Application Server:选择已安装的Tomcat
  • JDK:选择已安装的版本
  • Java EE:选择Java EE版本 创建web项目
    创建web项目
    目录结构

# 对tomcat的设置和更改

  • 打开Tomcat配置
    设置tomcat
  • 虚拟目录的设置
    设置tomcat
  • 热更新配置,对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来
    • On Update action 当代码改变的时候,需要IDEA做什么(一般选Update classes and resources)
      • Update resources:如果更新资源文件(.jsp,.xml等,不包括java文件),就会立刻生效
      • Update classes and resources:如果更新java文件和资源文件的,就会立刻生效
      • Redploy:重新部署,只是把原来的war删掉,不重启服务器
      • Restart:重启服务器
    • On Frame deactivation:当失去焦点(比如你最小化了IDEA窗口),需要IDEA做什么
      • Do nothing:不做任何事(一般推荐这个,因为失去焦点的几率太大)
      • Update resources:失去焦点后,修改的resources文件都会立刻生效
      • Update classes and resources:失去焦点后,修改的java,resources文件都会立刻生效

注意

Update classes and resources:
在运行模式下,修改java文件时不会立刻生效的;而debug模式下,修改java文件时可以立刻生效的。当然,两种运行模式下,修改resources资源文件都是可以立刻生效的。

# Tomcat项目目录

  • Idea集成tomcat之后,以后发布的每一个项目都会创建一份新的tomcat配置 Tomcat项目目录
  • 工作空间项目和Tomcat部署的web项目
    • Tomcat部署的web项目对应着工作空间项目的target目录
    • Tomcat真正访问的是Tomcat部署的web项目
    • WEB-INF目录下的内容不能直接访问
    • 断点调试时使用"小虫子"进行debug调试

# IDEA服务器部署

war和war exploded的区别

  • war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布
  • war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式

# Language level

Java JDK 在每个新版本都会有其新特性,而新版本一般也会向下兼容旧版本的特性,IntelliJ IDEA 是对这些 JDK 的新特性是这样介绍的:

  • JDK 6 的新特性:@Override in interfaces
  • JDK 7 的新特性:Diamonds,ARM,multi-catch etc
  • JDK 8 的新特性:Lambdas,type annotation etc
  • JDK 9 的新特性:Jigsaw project etc

# 调整Language level

lambda是java8才有的 ,默认使用Java7环境,就算我们用的是高版本java,它还是使用7来编码

  • 项目调整language level的方法 language level
  • 对于大型项目,各个 Module 用到的 SDK 和 language level 很有可能是各不一样的,IntelliJ IDEA 对此也进行了支持 language level
  • 打开 File -- Settings -- Compiler -- Java Compiler设置Project bytecode version;同时修改项目对应的Target bytecode version language level

# 自动注入bookDao提示错误

IDEA在检测依赖关系的时候,没有找到适合的类注入,所以会提示错误提示,但是程序运行的时候,通过MyBatis代理对象就会被创建,框架会使用DI进行注入,所以程序运行无影响。

自动注入bookDao提示错误

# 创建boot项目连接不到服务器

使用idea快速创建springboot项目时会出现连接不到服务器的情况。

设置代理:进入到IDEA的setting,搜索 HTTP Proxy,选择Auto-detect proxy settings,点击最下面的Check connection弹出如下的输入框,输入地址:

https://start.spring.io
https://start.spring.io/
http://start.spring.io
http://start.springboot.io/

# 忽略项目生成的文件

忽略项目生成的文件

# 实现右键压缩css和js文件

发布时有些css和js文件较长多行,导致加载的时候略慢,所以想把指定的css或js压缩

# 整合 yuicompressor-2.4.8.jar

# 打开Settings窗口

左上角File -> Settings

右键压缩css和js文件

# Program

前面的name和Description自定义

java

# Arguments

F:\yuicompressor-2.4.8.jar 这个路径就是你下载的那个jar本地路径

//css 的用这个
-jar F:\yuicompressor-2.4.8.jar --type css --charset utf-8 $FilePath$ -o $FileNameWithoutExtension$.min.css

//js 的用这个
-jar F:\yuicompressor-2.4.8.jar --type js --charset utf-8 $FilePath$ -o $FileNameWithoutExtension$.min.js

# Working directory

点击框架中右边 + 加号
右键压缩css和js文件
再点击OK,然后重启IDEA

# 压缩文件

选择css或js文件右键,如下操作
右键压缩css和js文件

# Services 相关问题

# Services 窗口添加了springboot但是是空白

  • 把所有的 maven 依赖移除,重新添加

maven添加删除

  • 最后,只需要清一下idea的缓存,重启一下idea就行了

maven添加删除

# Services 面中缺少模块服务

在.idea包下找到workspace.xml

<component name="RunManager" selected="Spring Boot.RuoYiGatewayApplication">
    <configuration name="CollectSeedsApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
	  <!--模块名-->
      <module name="ruoyi-modules-collectseeds" />
	  <!--启动类的路径-->
      <option name="SPRING_BOOT_MAIN_CLASS" value="com.ruoyi.collectseeds.CollectSeedsApplication" />
      <method v="2">
        <option name="Make" enabled="true" />
      </method>
    </configuration>
</component>