使用IDEA也有一段时间了,今天又看到了一个不错的IDEA视频,觉得对IDEA熟悉得更多了,在这里做下笔记,如下
视频链接:https://www.imooc.com/video/16219
1.下载IDEA
1/5 百度搜索IDEA,打开网页上第一个非广告网站
https://www.jetbrains.com/idea/
IntelliJ IDEA: The Java IDE for Professional Developers by ...
查看此网页的中文翻译,请点击 翻译此页
Capable and Ergonomic Java IDE for Enterprise Java, Scala, Kotlin and much more...
https://www.jetbrains.com/idea/ - 百度快照
2/5 点击官网首页Download,可以看到idea下载页,分为Ultimate(最终版,支持所有功能,30天免费)和Commnunity(社区版,支持部分功能,永久免费)。网站已检测到系统的版本,如Mac OS,再选择下载Ultimate即可
3/5 安装时选择Evaluate For Free,其他选择Next即可安装完成
4/5 点击Create New Project,IDEA已默认选中JAVA项目,但没有Project SDK,点击下方的Download JDK,即可前往Oracle官网下载JDK
首先下载安装JDK:
点击Java SE Downloads下的Java Platform(JDK)9的Download按钮,选择Accept License Agreement,点击MacOs后的jdk-9.0.1_osx-x64_bin.dmg,安装即可
查看JAVA安装目录
zhaoqingqingdeMacBook-Air:/ zqq$ /usr/libexec/java_home -v
java_home: option requires an argument -- v
/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
在IDEA中点击Project SDK中的New按钮,选择如上路径,IDEA即可创建JDK9(jdk9.0.1)
点击Next,勾选Create project from template,选中Java Hello World,输入project name:TestJavaProject
可看到运行出Hello World
5/5认识IDEA
View-Tool Buttons打开工具按钮显示
1.Project,2.Struture,4.Run,6.ToDo代表可以用Alt+数字键来快捷切换(Windows系统下)及Command+数字键(Mac系统),再点Esc,可以跳转回去,很方便
2.高校定位代码
Help-Find Action(快捷键:mac:Shift+Command+A)可以查找相关动作快捷键
2.1项目间跳转
首先打开IDEA的多个Project
Help-Find Action-Next Project Window
Window-Next Project Window/Previous Project Window
- 利用鼠标中桌面上查找选择
- 点击工具栏
- 快捷键
Mac: Next:Command+`
Previous:Shift+Command+`
2.2 最近浏览文件跳转
Help-Find Action-Recent File
- 利用鼠标中查找选择
- 快捷键
Mac: Command+E
2.3 最近修改文件跳转
Help-Find Action-Recent File(查看Recent Changed Files)
- 利用鼠标中查找选择
- 快捷键
Mac: Shift+Command+E
2.4最近浏览位置跳转
Help-Find Action-Back
Navigation-Back
- 利用鼠标中查找选择
- 工具栏
- 快捷键
Mac: Command+左方括号
Help-Find Action-Forward
Navigation-Forward
- 利用鼠标中查找选择
- 工具栏
- 快捷键
Mac: Command+右方括号
2.5 最近修改位置跳转
Help-Find Action-Last Edit Location
Navigation-Last Edit Location
- 利用鼠标中查找选择
- 工具栏
- 快捷键
Mac: Shift+Command+Delete
Help-Find Action-Next Edit Location
Navigation-Next Edit Location
- 利用鼠标中查找选择
- 工具栏
- 无快捷键,此时再中Find Action中输入keymaps,再输入Next Edit Location,添加快捷键Ctrl+Command+Delete
Mac: Ctrl+Command+Delete
2.6 标签间跳转
Help-Find Action-Bookmarks
- 利用鼠标中查找选择
- 快捷键
Mac:
Toggle Bookmark F3(简单的书签)
Toggle Bookmark With MneMonic Alt+F3(可以标记的书签)
2.7 收藏位置
Command+2 打开Favorite
Help-Find Action-Add to Favorite
在类文件或者方法上操作,可以收藏到指定文件夹中
快捷键:Mac : Alt+Shift+F
2.8 emacIdeas插件神器
elp-Find Action-plugins搜索emacIdeas插件并安装
Help-Find Action-keymaps-输入emac-设置Ace Jump World快捷键-Ctrl+L
在文件中,按Ctrl+L,再输入任何一个字母如o,即可看到所有带o的位置标记,输入标记,即可快速跳转至相应位置
2.9 文件区和编辑器的跳转
View-Tool Buttons打开工具按钮显示
1.Project,2.Struture,4.Run,6.ToDo代表可以用Alt+数字键来快捷切换(Windows系统下)及Command+数字键(Mac系统),再点Esc,可以跳转回去,很方便
Vim模式下还可以分割窗口,并在窗口间跳转
2.10 搜索类
勾选各个搜索弹出框的Include Non-Project File时,也会搜索jar包
Navigation-Class
Mac快捷键:Command+O
2.11 搜索文件
Navigation-File
Mac快捷键:Shift+Command+O
2.12 搜索符号(函数+属性)
Navigation-Symbol
Mac快捷键:Alt+Command+O
2.13 搜索字符
Edit-Find-Find in Path
Mac快捷键:Ctrl+Shift+F
Match Case匹配大小写;Words整个字符;Regex支持正则表达式;File mask指定搜索文件类型
3.代码小助手
3.1 列操作
3.1.1 向右移动一个单词
鼠标操作
Help-Find Action-move caret to next word
Mac 快捷键 :Alt+向右箭头
起初按照2操作后,发现快捷键是Ctrl+向右箭头,但该快捷键不起作用,进入到Keymaps管理中,发现快捷键是Alt+向右箭头,但该快捷键是向右切换打开的窗口,查看Window工具栏下发现是Select next Tab,而后再进入到keymaps中删除其Alt+向右箭头快捷键,向右移动一个单词的快捷键才可以操作
3.1.2 大小写转换
- 手动输入
- Edit-Toggle Case
- Mac 快捷键 :Shift+Command+U
3.1.3 跳至行首行尾
- 鼠标操作
- Help-Find Action-move caret to line start/end
- Mac 快捷键:Command+向左/右箭头
3.1.4 选中其他行(列操作)
- 一行一行操作
- Edit-Find-select All occurrence
- Mac 快捷键:Shift+Command+U 没有预期效果,暂时查不到原因
3.2 live template
3.2.1 创建新类
- 右键包,点击New,选择Class
- Mac 快捷键:Ctrl+N
3.2.2 创建main方法
- 手动输入main方法
- Help-Find Action-live templates
- 点击右上角+,选择2.template group,创建分组
- 点击右上角+,选择1.live template,创建模板
- 模板:
Abbrevation:main
Description:public static void main(String[] args)
Template text:
public static void main(String[] args){
$END$
}
- 点击Define,选择Java,点击Apply,立即生效
- 其它模板:
Abbrevation:psf
Description:public static final
Template text:
public static final
Abbrevation:psfi
Description:public static final int
Template text:
public static final int $var1$ = $var2$;
Abbrevation:psfs
Description:public static final String
Template text:
public static final String $var1$ = $var2$;
$END$
Abbrevation:pic
Description:private int with comment
Template text:
/**
* $var1$
*/
private int $var2$;
$END$
Abbrevation:psc
Description:private String with comment
Template text:
/**
* $var1$
*/
private String $var2$;
$END$
3.3 postfix
通过.触发智能编码
Help-Find action-postfix
3.3.1 fori
Help-Find action-postfix-fori
用法:100.fori
生成代码:
for (int i = 0; i < 100; i++) {
}
3.3.2 sout
Help-Find action-postfix-sout
用法:i.sout
生成代码:
System.out.println(i);
3.3.3 field
Help-Find action-postfix-field
用法:name.field
场景:需要创建类的属性
生成代码:
private String name;
public User(String name){
this.name = name;
}
3.3.4 return
Help-Find action-postfix-return
用法:"message".return
生成代码:
public String getResult(){
return "message";
}
3.3.5 nn
Help-Find action-postfix-nn
用法:user.nn
生成代码:
if (user != null) {
}
3.4 Alt+Enter
有很多用法,eclipse里的智能提示或者报错等情况都可以使用,多使用该神器,就熟悉了
4. 重构
6.关联一切
6.1 与Spring的关联
</div>
SMP、NUMA、MPP体系结构介绍
Page Cache, the Affair Between Memory and Files.页面缓存-内存与文件的那些事
How The Kernel Manages Your Memory.内核是如何管理内存的
Anatomy of a Program in Memory.剖析程序的内存布局
Cache: a place for concealment and safekeeping.Cache: 一个隐藏并保存数据的场所
Memory Translation and Segmentation.内存地址转换与分段
CPU Rings, Privilege, and Protection.CPU的运行环, 特权级与保护
The Kernel Boot Process.内核引导过程
How Computers Boot Up.计算机的引导过程