IntelliJ IDEA入门之常用配置以及问题解决(持续更新中)

软件版本: IntelliJ IDEA 2019.1.1(Ultimate Edition)
运行环境: JDK1.8, Tomcat8.0, Maven3.6
我们在学习新的无论是jar包, 框架, 还是新的软件时, 一定需要找到一个入口(接口), 从这个入口中进入, 一层一层往下挖掘学习!
比如说Mybaits中的MybatisAutoConfiguration ( 如何加载各类XML配置文件, 如何利用 @Bean-SqlSessionFactory 实例化Bean对象 ) 可以算作是一个入口, 从这个入口出发, 进而才能对Mybatis有一个全面的了解!
那么IDEA这个软件的入口在哪里呢? 私认为同样是配置项, 即软件的 File-settings ,没有哪一个软件上手就开始操作的, 我们必须得进行一些个性化或者功能的设置, 然后进行项目开发才能如鱼得水!!!
首先要牢记开启settings的大招是: 上前拳! oh, 不, 快捷键是 : Ctrl+Alt+S , 如下图

一切从这里出发, 寻找与Eclipse/STS的相似处.
1.maven & tomcat配置
①Maven配置

其中maven的设置settings.xml 以及maven本地仓库repository 设置 就不再赘述
IDEA可选的Maven常用配置有 : Importing 项下的Import Maven projects automatically ( 当pom.xml更新时自动import )
②Tomcat服务器配置

问题: 配置好Tomcat服务器, 如何将web项目发布到Tomcat呢?
这里则需要如下的设置: (如果有更好的方法, 欢迎评论补充, 弱鸡的我每次都是这么手动配置的 T T ...)

配置port端口, 然后在Deployment 中点击"+" 添加web项目

2.xml文件 maven-import
当SpringBoot的注解无法正常使用时, 不妨试试Maven -> Reimport 重新加载依赖
3.代码提示忽略大小写
File-Settings-Editor-General-Code Completion中
把最上面的大小写敏感度改成none,下面的钩全打。
或者
去掉case前的勾选
4.调整代码字体大小
推荐比较养眼的代码字体为: Consolas
这样设置后就可以使用"Ctrl+鼠标滚轮↑/↓" 进行代码字体的zoom in(放大) 和 zoom out(缩小)
5.项目结构

最好是这样的视图, 可以清晰的看出项目结构, 也可以有自己的选择!!!
6.自动改错:
alt+enter
7.自动检查导包
Settings→Editor→General→Auto Import
然后勾选Add unambiguous imports on the fly以及Optimize imports on the fly
8.代码格式化快捷键
ctrl+alt+L
9.idea的工作目录workingdirectory
设置方法:
Run -> Edit Configurations -> Working directory
该工作目录的作用:
告诉IDE哪里是相对路径的入口,比如:filePath = "com/it/app.properties",
需要知道该路径的根目录是什么,否则程序运行时可能找不到对应的文件。
问题: 部署完项目后, 访问时会有404, yml等配置又都完全没问题, 那么可能是以下的相对路径配置导致的!!!

进行如下配置后, 重启该端口下的服务, 则可以正常访问了!!!!

*该相对路径的属性为:
$MODULE_WORKING_DIR$
10.安装Lombok
有时会出现@AllArgsConstructor 等lombok注解无效问题, 你会发现, 及时注解可以正常使用, 而在创建对象时, 没有找到对象的含参构造!!!
这是因为虽然导入了Lombok依赖, 可以使用lombok注解, 但是lombok是基于插件的, 还必须要安装插件并重启IDEA才能生效!!!

如图, 在settings - Plugins 下 查找 Lombok 并下载, 最后按照提示重启IDEA, 就可以使用含参构造方法了!
11.全局内容搜索以及替换
ctrl+shift+f
使用快捷键Ctrl+Shift+F打开搜索窗口,或者通过点击Edit–>Find–>Find in path打开搜索窗口
ctrl+shift+r
通过快捷键Ctrl+Shift+R打开窗口,或者通过点击Edit–>Find–>Replace in path打开窗口
12.在新窗口中打开project
开启提示:

勾选第三个 Confirm ... 表示每次开启新的项目前会提示是否新开窗口或者在本窗口内打开!
13.在IDEA中配置Git(分布式版本控制系统)
* 详细见我的另一篇随笔分享
链接:https://www.cnblogs.com/sansheng93/p/11256742.html
14.修改代码提示快捷键
问题: idea中默认的代码自动提示快捷键是Basic : Ctrl+空格(可以再搜索框中输入basic快速查找),这个和安装的中文输入法切换快捷键冲突,所以需要修改。
根据使用STS的习惯, ALT+/ 来提示代码.
但Alt+/ 被Cyclic Expand Word占用,所以先修改Cyclic Expand Word的快捷键,右键Remove Alt+/。

15.IDEA对代码的自动检测能力, 高亮警告问题
IDEA对代码的提示系统十分强大, 她能根据严格的代码规范( 甚至简洁程度, 运行效率, 潜在bug) 给与开发者超出编译器之外的大量提示
有时这些提示太过于冗杂, 使得开发界面很乱.
则可以通过软件右下角的小人物头像, 来设置警告级别!!!

默认的级别是: Inspections (检查) ,是最高级别 ps: 倘若你能把自己写的代码控制到Inspections都无法高亮提醒, 那么你的代码质量犹如"绝世好剑", 已经相当高水准了!!!
Syntax (语法) 中等级别
None 最低, 不检查, ( 没啥用, 这个级别相当于记事本了, ps: 什么??? 你要用记事本做开发??? )!!!
所以一般做法是 : 平时使用时, 开启Syntax 级别, 而审查代码的时候开启 Inspections 级别!!!
其中 Power Save Mode 是省电模式, 没有必要勾选
16.IDEA配置 Devtools 热部署插件
参考博客:https://www.cnblogs.com/jcook/p/6910238.html 文中的方案三!!!
Devtools详细配置参考博客: https://www.cnblogs.com/ming-blogs/p/10289075.html
截图不易, 且截且珍惜!!! (其实是咸鱼的我截图乏力, 实在是配置繁多!)
在此, 感谢两位大佬的分享, 让吾等得以站在巨人肩膀上!!!
17.IDEA报错解决01 : SpringBoot cannot autowired

在用IDEA整合SpringBoot使用SSM框架做项目时, 会在注入Mapper时提示红色警告
排除@Mapper 注解或者 @MapperScan("xxx.mapper") 的问题, 那么这里就不存在任何问题, 运行试试呢?!

程序运行期没有报错!!!
这说明, IDEA是有预编译期的检查, 然而Mapper的实例化是在运行期的, IDEA无法预测, 所以这里才报错, 这里对程序并无影响, 解决这个异常报错提示的方法, 如下:
手动将Spring 的 Bean 加载的 @autowired 注解的安全级别从 error 调整 到 warning !!!

如图, 将Error 调整为 Warning !!!
18.IDEA去除掉虚线,波浪线,和下划线实线的方法
1.有下划线, 代表变量的重新分配地址, 即变量被重新赋值, 在IDEA2018.1后新增这个检查, 目的是尽量避免变量的重新赋值, 提高代码可读性( 即一个思想: 避免变量多次赋值)
2.有虚线
3.有波浪线
参考链接: https://blog.csdn.net/best_luxi/article/details/81253316 转摘自:CSDN
19.idea快速生成各种for循环模板

比如最常用的foreach, 在IDEA里的 快捷模板是 iter, 普通的数组循环 是 itar ...
20.导入多个Maven项目
参考博客:https://www.cnblogs.com/qinxu/p/9649267.html, 感谢分享
21.项目结构com.xx.xxx.xxxx(NOT FOUND) 的问题
项目结构的坑, 参考博客:https://blog.csdn.net/qq_28587263/article/details/68944288
22.New something 的快捷键!!!
Alt+Insert 可以新建类,文件,get或set方法,此快捷键又名创造一切
23.IDEA打开Run dashboard 的方法:
在.idea --> libraries -->workspace.xml 配置文件中, 查找RunDashboard 的<component>标签,

在标签内部, 添加一个设置<option>
设置代码如下:
<option name="configurationTypes">
<set>
<option value="SpringBootApplicationConfigurationType" />
</set>
</option>
保存后, 再次run 时 就会自动使用dashboard界面了!!!

IntelliJ IDEA入门之常用配置以及问题解决(持续更新中)的更多相关文章
- LoadRunner从入门到实战学习路线(持续更新中...)
写在前面 我是一个测试工程师,从土木工程行业转行到互联网行业,目前是工作的第三年.平时主要做功能测试,性能测试接触比较少,虽然以前培训的时候学习过一些性能相关的知识,但都是入门初级的知识 ...
- redis配置文件redis.conf翻译、解释以及常用注意事项(持续更新中...)
# Redis configuration file example. #Redis 配置文件的示例 #如何利用配置文件启动Redis # Note that in order to read the ...
- ORACLE常用函数汇总(持续更新中....)
在使用ORACLE过程中,把一些常用的函数的相关用法,注意事项进行简单的汇总,便于自己查询参考. DBMS_RANDOM包 dbms_random是一个可以生成随机数值或者字符串的程序包.这个包有in ...
- Vim常用指令总结(持续更新中)
1 模式变更 命令 说明 a(append)/i(insert) 普通模式→插入模式 : 普通模式→命令行模式 ESC或者Ctrl 插入模式→普通模式 R(Replace)/Insert两次 普通模式 ...
- PHP编译参数configure配置详解(持续更新中)
编译参数-使用 ./configure -h在源代码目录中,该命令可以查看所有编译参数以及对应的英文解释 编译参数-说明 --prefix=/opt/php //指定 php 安装目录--with-a ...
- 【Oracle】Oracle常用命令整理(持续更新中)
一些常用的操作命令记录 SQLPlus连接 sqlplus {username}/{password}@{ip}:{port}/{sid} 创建用户 create user testuser iden ...
- iOS开发常用第三方开源框架 持续更新中...
键盘管理 TPKeyboardAvoiding IQKeyboardManager(1.2.8) 弹窗HUD MBProgressHUD(0.9.2) SVProgressHUD UIView+Toa ...
- Linux常用命令1-50(持续更新中)
1:echo $PATH (打印出PATH变量的值) 不同用户下面的PATH值有可能不一样 echo 有显示打印的意思 $ 表示后面的是一个变量的意思 PATH 变量 /usr ...
- Flume的一些报错问题解决(持续更新中)
严谨转载--否则追究法律责任 作者----王加鸿 ----------bug 1---------- ...
随机推荐
- BZOJ1791 [Ioi2008]Island 岛屿[基环树+单调队列优化DP]
基环树直径裸题. 首先基环树直径只可能有两种形式:每棵基环树中的环上挂着的树的直径,或者是挂在环上的两个树的最大深度根之间的距离之和. 所以,先对每个连通块跑一遍,把环上的点找出来,然后对环上每个点跑 ...
- idea 高效找出全部未被使用的代码
不得不说 idea 真的很强大,认真花一些时间,好好研究研究 idea 可以让你编写代码更加的高效,并且 idea 时不时会给你一些惊喜的,比如今天要分享的这个,就非常的惊喜: 背景 前几天,忽然又一 ...
- 2 MVC设计模式
0 基础知识 (1)B/S与C/S结构 C/S(客户机/服务器 client/service):分为客户机和服务器两层,应用软件安装在客户端通过网络与服务器通信 B/S(liulanq/服务器 bro ...
- kubernetes 存储volume,pv和pvc的使用
emptyDIR 临时目录 hostPath :使用主机的路径 网络存储: 传统的设备存储:NAS,SAN 分布式存储:glusterfs,rbd,cephfs 云存储:EBS,Azure,阿里云的 ...
- Java进阶知识11 Hibernate多对多单向关联(Annotation+XML实现)
1.Annotation 注解版 1.1.应用场景(Student-Teacher):当学生知道有哪些老师教,但是老师不知道自己教哪些学生时,可用单向关联 1.2.创建Teacher类和Student ...
- codeforces#1163C2. Power Transmission (Hard Edition)(计算几何)
题目链接: https://codeforces.com/contest/1163/problem/C2 题意: 给出$n$个点,任意两点连接一条直线,求相交直线的对数 数据范围: $1 \le n ...
- 使用shell脚本完成自动化部署及秒级回滚
一.部署机代码目录结构 使用www用户进行代码部署,所有部署机上需要创建www用户,并赋予根目录权限,同时配置公私钥认证建立信任关系. [www@ansible-node1 deploy]$ tree ...
- 提高组刷题班 DAY 1 上午
低仿机器人(robo,1s,64M) 题解 大模拟 代码 #include <cstdio> #include <cstring> #include <iostream& ...
- linux下如何基于已有容器创建image并运行?
1. 通过docker ps命令先找到容器id,示例如下,123456789012就是我们要找的 jello@~$ docker ps CONTAINER ID IMAGE COMMAND CREAT ...
- linux下的开源NFC协议栈
1. 协议栈名称 neardal 2. 源码 https://github.com/connectivity/neardal.git 3. 由谁维护? intel 4. 基于neardal的nfc协议 ...