IntelliJ IDEA使用技巧 (类比pycharm)
第1章 课程介绍
1)下载及安装2)界面介绍 ...
①界面中左右最边上的小窗口(旋转了90度的字体)都自带了下标,win下快捷键alt+index切换窗口 ②演示效果:模拟时钟,快捷键如,0到100的for循环:100.fori;输出:sout;Thread.sleep()等...
第2章 高效定位代码
1)无处不在的跳转
①快速切换文件,类等(recent
files & recently changed files): A.help→findaction(command+shift+A)后,搜索recent
files或...; B.command+E ②
A.返回到上一次编辑的位置:navigator→last edit location(shift+command+delete)
B.下一次编辑位置:navigator→next edit location(control+command+delete)
③ A.返回上一次浏览位置:navigator→back(alt+command+←) B.下一次浏览的位置:navigator→forward(alt+command+→)
C.②和③的区别在于,一个光标停留出编辑过,一个只是光标停留,未编辑。
④利用书签跳转 A.浏览源码或别人代码时,收藏对比或做标记(代码编辑框左侧行号右边点),toggle
bookmark,可用findaction搜索bookmark得到 B.bookmark最常用:alt+f3+【1,2,3...】以后在不是本类的其他地方,ctrl+【1,2,3】都能到此位置
⑤收藏位置和文件:command+2打开favorite,alt+shift+f收藏类和方法,收藏方法时光标移到方法名后面
⑥安装插件:help→findaction后,输入plugins回车后搜索插件名称安装。 ⑦编辑区跳转文件区:command+1,返回也是command+1或者esc键
⑧利用vim进行多编辑区跳转(分屏后左右跳转):要安装插件ideavim,先略后补
2)精准搜索 ①找类:navigator→class(command+n)(注:non-...打钩,意为在整个包里搜索) ②找文件:navigator→file(command+shift+n)
③找符号symbol(此意为方法和属性名):navigator→symbol(command+alt+shift+n) ④找字符串:edit→find→find
in path(ctrl+shift+f)注意有很多范围scope选项:match case忽略大小写;file mask指定在某类文件里去搜索...等 ⑤以上快速搜索功能的实现是源于做了索引;
第3章 代码小助手们
1)列操作(举例,枚举里批量把单词大写,按
的格式排列) ①选中一个单词:shift+alt+→或←,shift+command+→或←选中右边/左边光标处开始的本行所有内容。
所有字母转大 / 小写:edit→toggle case(shift+command+u) 批量选中多行的某一个同样的符号(比如:):edit→find→select
all occur(shift+command+g)
编辑完代码可能乱,code→reformat code自动整理。 2)live
template①perference(或shift+command+a)→live
templates→“添加,缩写,描述,text”自定义缩写,比如main( ) 3)postfix ①输入一个东西,按.会有提示,比如:100.fori(从0到100的for循环)
② new Date().sout(输出new Date())
③name.field(在方法里写this.name = name,但没有name这个成员变量时,用此方法生成) ④user.return(方法里返回user;差不多,
没简便多少)
⑤user.nn(if(user != null)。。。nn代表not null)
4)alter
enter
①show intention action提示②如自动生成方法:f1()
, alt+enter③实现接口:写好一个接口后,光标移到接口名首字母处alt+enter,按提示生成它的实现类④单词拼写:idea怀疑你的拼写错误,单词下方会有波浪线,这时光标移到但此首字母处alt+enter,会给出单词的提示⑤导包
第4章 编写高质量代码
1)重构 ①重构变量:shift+f6(即:rename)
②重构方法:方法定义时一个参数,引用时想起来应该是两个参,这时command+f6或者alt+enter都可以在原方法上加一个变量
2)抽取
第5章 寻找修改轨迹
1)Git的集成
①撤销:command+z 不在git下
②反撤销:shift + command + z 不在git下
③所有改动回到最原始的状态: git下,空白处,alt+command +z没试过。
2)local
history
①Local history 没有版本控制工具的时候自行进行版本控制
②Find action (shift+command+a)中查找local history,①选show history,点》可以撤销回改变前状态,即revert
③选put label添加到commit后的一个版本,local history查看时左边栏的右上角位置有label名,对应相应的某次commit
第6章 关联一切
①关联spring:
Controller层要依赖Service,Service有serviceImpl,要查看具体依赖的类(类似于eclipse中的按着ctrl点击进入实现类):
File-Project Structure(command +;)-facets-添加-spring(其他选项同理)-窗口右下角“unmapped...”,点击加号,OK。
回到Controller上,类和注入的Service属性所在行左边有图标,可以点击了看。
②关联数据库:
代码框右侧有database,new-datasource-…;并且还可以在右侧框统一管理修改表明,字段等,而不用带xml文档里去改(mybatis)
第7章 开始调试你的程序吧
A.断点调试
①添加断点:run-toggle line breakpoint(command+f8)
②断点调试:run-debug(点小虫子或ctrl+alt+d或者ctrl+d貌似也可以)
③断点运行:(即下一步)F8
④resume(重新开始,继续,恢复):run-resume program(alt+command+R或者F9)跳到下一个断点,如没有断点,直接输出
⑤查看所有断点:shift+command+f8(快捷键难记,debug时左下角有图标,不用记)
⑥断点调试时发现问题了,不想再继续debug时,禁止所有断点:mute breakpoints(同上,不用记)
⑦条件断点:打断点时必须满足某些条件,断点才会生效,如,在for循环内的某一行打了断点,有需求为当s=“haha”时才执行断点,这时command+shift+f8,condition里输入s.equals(“zhangsan”)此时断点标记上多了个问号。在debug中,假设其他地方没有断点了,shift+F9运行,当执行到s=zhangsan时,会停下来
⑧表达式求值:调试中,在断点处你想看看某个值等于多少,这时,选中变量,按run-evaluate expression(alt+f8),回车,查看result的内容就行了,这里expression里可以求值,比如选中list,在expression框中可以输入list.get(0),回车后result里就会有相应的值
⑨运行到指定行:断点在第二行,但你不想看第三四行,直接看第五行,这时光标放在第五行,debugger工具栏右侧有一个run to cursor(alt+f9)就跳过来了,中间的两行运行了,只是没显示过程
⑩setValue:在debug查看值得variables里选中list,按f2,这时可以动态改变list的值,用于后续的debug
B.run anywhere if you can
①运行当前上下文:要运行光标停留处的方法,debug context configuration(shift+ctrl+d),如果光标在两个方法中间的空格,则往上找到最近的context,这里指类,然后运行此类。这样不用右击run...或者在@Test中不用去选中方法名junit测试
②在当前可运行列表中选择一个运行:其实也就是右击空白处,run-debug,选中要debug的方法
③编辑当前运行:貌似没用,省略了
第8章 其他操作
8.1文件操作
①在编辑框中command+n新建方法(构造,重写等),ctrl+shift+n新建外部的类,接口等;选中类或接口delete删除类或接口
②添加文件,找到一个文件,修改小部分后保存在当前包下:打开要复制的文件,全选,参考①新建file,粘贴,选中相应同名字段,列操作,保存OK
③复制文件:选中类,command+c 或者 f5,copy class,改名就行了
④移动当前文件:鼠标拖动类 或者 在类的编辑窗口处直接f6,剪切
8.2文本操作
①复制文件名:command+c;复制文件路径:command+shift+c
②要复制n个文件名,可以每个文件都command+c,然后默认会放在剪切板中,shift+command+v
8.3结构图
①查看当前field,method:navigate-file structure(command+f12),其中m代表method,f代表field
②查看maven依赖:
A.maven的pom文件中一大堆的dependency,查找不方便,打开pom右击空白处,maven-show dependencies,通过拓补图展示出所有依赖,很牛的一个功能,
B.然后搜索command+n,然后选中双击就跳到在pom中的位置。拓补图中,点击连线,会变黄色,可以看到在哪个类中引进来的。
C.就在拓补图中就可以管理依赖,比如,右击某个jar文件-exclude,这时pom文件中会多出exclusion,表某某依赖除外
③类图大纲:在一个son继承father的例子中,在类上按下shift+alt+command+u可以查看整个类的继承关系的类图,看源码或看继承结构时非常有用,猴赛雷噶
④查看类结构图:类似③,光标停留在类名处,ctrl+h查看
⑤查看方法调用:如main中调用了其他方法,光标停留在main处,或者停留在被调用的方法名处都行,call hierarchy或者ctrl+alt+h,分别点击上边一栏左边的两个图标,可以看到调用及被调用的关系,可以点击小三角图标展开
QiTa常用:
1.ctrl+enter:生成(setter/getter/constructor...)
2.选中类名或者方法名,alt+enter,可以实现很多功能,比如生成测试方法等。
3.
IntelliJ IDEA使用技巧 (类比pycharm)的更多相关文章
- IntelliJ IDEA 目录技巧
IntelliJ IDEA的Web应用的目录结构 Ø 目录图: Ø 目录解释: 开发目录 目录名称 描述 Test 工程名称 lib Jar包的存放目录 src 源文件也就是文件(类,资源文件)存放的 ...
- IntelliJ IDEA 工具技巧
IntelliJ IDEA 工具技巧 以下都是自己积累的IntelliJ IDEA 使用技巧,比较零碎,观看不便之处还望海涵,如有错误之处还望指正 自己常用,不懂的可以加群询问:244930845 S ...
- IntelliJ IDEA 使用技巧一览表
IntelliJ IDEA使用技巧一览表 在使用 InelliJ IDEA 的过程中,通过查找资料以及一些自己的摸索,发现这个众多 Java 程序员喜欢的 IDE 里有许多值得一提的小窍门,如果能熟练 ...
- 【Tool】IntelliJ IDEA 使用技巧
IntelliJ IDEA 使用技巧 2019-11-06 20:51:43 by冲冲 1.快捷键 Ctrl+w //括出相关范围 Ctrl+shift+f //按照代码段在全局搜索 Ctrl+f ...
- IntelliJ IDEA 调试技巧
程序员的工作内容,有不少的时间是用在调试代码上.可以说不是在调试代码,就是即将调试代码. 掌握调试代码的一些技巧,在使用IDE提供的debugger时会快速定位问题的方式. 1.多线程调试 在多线程应 ...
- IntelliJ Idea各种技巧设置笔记和错误解决
版本控制 GitHub GitHub提示找不到路径: 解决方法:去官方下载gitHub,然后在以下路径找到Git.exe并设置 C:\Users\你的用户\AppData\Local\GitHub\P ...
- Intellij Idea使用技巧、快捷键
1.Idea设置字体大小:file -> setting -> editor -> colors&font -> save as并自定义 -> font -> ...
- python 技巧 之 pyCharm快速添加第三方库和插件
学习python有几个月,安装第三方库都是通过 pip install 或者 easy_install.每次都要打开命令行感觉太麻烦.还好Pycharm提供了安装第三方库和安装插件的功能. 首先打开P ...
- IntelliJ IDEA重构技巧收集
https://segmentfault.com/a/1190000002488608(重命名文件) http://www.jianshu.com/p/ab298b46bf50(快速生成方法) htt ...
随机推荐
- Python中from module import *语法
from module import *的语法在Python 3.X和Python 2.X中的使用稍有区别: 在Python 3.X中,from module import *无法在函数里面使用,而在 ...
- StrBlobPtr类——weak_ptr访问vector元素
#include <iostream> #include <memory> #include <string> #include <initializer_l ...
- .从列表结束中删除第N个节点
描述 给定一个链表,从列表的最后删除倒数第n个元素 例如: 给定链表:1-> 2-> 3-> 4-> 5,并且n = 2. 删除倒数第二个,链表将变为1-> 2-> ...
- sigsuspend
1)头文件:#include <signal.h> 2)一个保护临界区代码的错误实例:(sigprocmask()和pause()实现) #include <unistd.h> ...
- iOS- <项目笔记>项目配置常见文件
项目常见文件 1.main.m * 里面有一个程序的入口:main函数 2.Prefix.pch文件 * pch文件中的内容能被项目中的其他任何文件共享\包含\访问 * 如果定义的内容只用在OC环境中 ...
- 阻塞 , 非阻塞 , 同步 ,异步 , I/O模型
•阻塞,非阻塞:进程/线程要访问的数据是否就绪,进程/线程是否需要等待: •同步,异步:访问数据的方式,同步需要主动读写数据,在读写数据的过程中还是会阻塞:异步只需要I/O操作完成的通知,并不主动读写 ...
- 织梦CMS建站入门学习(一)
一.下载与安装. 首先到织梦官网下载软件,可选择UTF8或GBK不同编码格式,如果电脑没有PHP环境,还要下载dede自带的PHP环境软件. 将软件中的upload文件夹内容复制到WWW文件夹下,然后 ...
- [STL] vector基本用法
vector的数据安排以及操作方式,与array非常相似.两者的唯一区别在于空间的运用的灵活性.array是静态空间,一旦配置了就不能改变.vector是动态空间,随着元素的加入,它的内部机制会自行扩 ...
- Android Shimmer 发光微光动画
这是Facebook提供的一个类库(题外话http://code.facebook.com,这里有很多好玩有趣有用的Facebook开源的类库) 这么炫酷的发光动画效果,想必很多Android码农都会 ...
- [洛谷P1440]求m区间内的最小值
题目大意:给你n个数,求出每个数前m位的最小值 题解:单调队列,用一个可以双向弹出的队列来存一串数,满足里面的数具有单调性,我们可以假设它是单调递增的,即求最小的数.那么可以把要插入的这个数与队尾元素 ...