JetBrains PyCharm/IDEA 使用技巧总结

工欲善其事必先利其器

基本概念

IDEA 没有类似 Eclipse 的工作空间的概念(workspace),最大单元就是 Project。这里可以把 Project 理解为 Eclipse 中的 workspace。Module 可以理解为 Eclipse 中的 project。一个 工程(Project) 下可以创建多个 模块(Moudle)。

  • src 目录,用于存放代码
  • .idea 目录和 project01.iml 文件都是 IDEA 工程特有的。
  • 删除 module ,这样不会删除代码文件,只是从 Project 中移除组织关系,如下图:

系统设置

设置显示收藏栏等工具栏

取消更新

取消 IDEA 自动更新,避免引入不稳定的问题:

设置Tab为4个空格

Editor->Code Style->Java/Python,不要勾选Use Tab character

支持滚轮调节字体大小

Editor->General,勾选 Change font size(Zoom) with Command+Mouse Wheel

鼠标滑过,显示文档

Editor->General,Show quick documentation on mouse move,输入延迟时间。鼠标滑过类、方法时,显示文档说明

显示行号和方法分隔符

在 Editor->General->Apperance 中,勾选:

  • Show line numbers 显示行号
  • Show method separators 这个是显示方法分隔符的,我没勾选
  • Show whitespace 显示空格符号,针对 Python,「游标卡尺」的名号不是白叫的,所以,必须设置显示空格、缩进等

参考:

给提示时忽略大小写

Java 是严格区分大小写的,未设置时,输入 str 时,它不会提示 String,要想实现忽略大小写的情况它也能智能提示,可以进行如下设置,而且,这样设置它也不是完全按照首字母进行匹配了,比如你输入 hmap 时,也会看到 HashMap 的智能提示,相当方便。Editor->Genreral->Code Completion:

这个设置是非常有帮助的,强烈推荐设置。可以顺带勾选上 Show the documentation,这样在补充时,也会显示文档。

自动导包 import popup

Editor->General->Auto Import->Python->Show import popup

手动导包的快捷键是 Alt+Enter

设置换行符默认为LF

Editor->Code Style 页面不仅能设置换行符,还可以设置 wrap columns

参考:

设置 File Encodings 文件编码

Settings->Editor->File Encodings,编码全都设为 UTF-8

不建议勾选 Transparent native-to-ascii convention

设置头信息

Settings->Editor->File and Code Templates-Files->Includes->File Header 设置如下模板

Python 头信息设置:

1
2
3
4
5
6
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : ${DATE} ${TIME}
# @Author : Michael
# @File : ${NAME}.py
# @Software: ${PRODUCT_NAME}

Java 头信息设置:

1
2
3
4
5
6
7
/**
* description:
*
* @author Michael
* @date ${DATE}
* @time ${TIME}
*/

自动编译

有时候我们需要操作 class 文件时,却忘记了对 java 类文件进行编译,从而还是对旧的文件进行了操作。

import 每个类而非整个包

settings—Editor—Colors Style—Java—Imports—Class count to use import with ‘*’ 设置大一点。

当 Java 类中 import 某个包下的类超过这里设置的个数,就会换成用星号来代替,比如 import java.util.*

设置 Tab 标签页

File->Editor->General->EditorTable->Tab closing Policy->Tab limit

Windows->Editor Tabs 可以设置标签页的相关内容,比如:

  • Tabs Placement 放置位置,我勾选了 Top
  • 勾选了 Sort Tabs By Filename
  • 勾选了 Open New Tabs At The End
  • 取消勾选 Show tab in single row,避免打开类文件多时,选择不方便

我设置最多打开标签页10个,同时将位置移到了右边,通过alt+←/→可以切换工作区。默认是10,即最多打开十个窗口,再打开新的就会把之前的窗口T掉!

自定义 Terminal

settings->Tools->Terminal

Shell path 原来的值是:

  • C:\Windows\System32\cmd.exe Windows

修改为:

  • C:\Program Files\Git\bin\bash.exe 修改为 Git bash 的终端;
  • "C:\Windows\System32\cmd.exe" /k ""%CMDER_ROOT%\vendor\init.bat"" 修改为 Cmder 的终端,这种方式就会弹出 Cmder 的窗口,需要配置系统变量 CMDER_ROOT,值为:D:\Green-SF\cmder

参考:

版本控制下文件变化的显示

settings—Version Control—Show directories with changed descendants

开启后若想调整文件夹的显示颜色:settings—Version Control—File Status Color

打开内存使用状态

settings—Appearance & Behavior—Appearance—Show memory indicator

参考:

用 * 标识编辑过的文件

这样被修改的文件会以 * 号标识出来:

Editor –> General –> Editor Tabs,勾选 Mark modifyied(*)

脚本运行结束后留在命令行

这样脚本运行中的变量在脚本结束后还可以调用,调试时还是挺好用

主题

添加 JavaDOC 注释

  • 把光标停在类名或者方法名上,然后 Alt+enter,出现几个选项,选择 Add Javadoc 就 OK 了
  • 默认 Fix doc comment 是没有设置快捷键的,我这里把他设置成 Alt + M

参考:

生成 JavaDOC

Javadoc 用于描述类或者方法的作用,具体介绍,可查看CSDN-Javadoc 使用详解

1
2
Locale:输入语言类型:zh_CN
Other command line arguments:-encoding UTF-8 -charset UTF-8

缓存和索引的清理

IDEA 首次加载项目时,都会创建索引。创建索引的过程,暂时不要去编辑代码,避免遇到未知问题。有时候意外断电或蓝屏,出现索引损坏情况,可以清除缓存和索引,还原成默认状态。

File-Invalidate Caches

这个会将本地修改历史也会清理掉,如果想要将这个数据保留,LocalHistory 需要提前备份:

1
2
3
4
# system  目录,系统文件目录,是 IDEA 与开发项目一个桥梁目录,里边主要有缓存、索引、容器文件输出等等
/Users/michael/Library/Caches/IntelliJIdea2018.2/LocalHistory
# 顺带看一下 config 目录,是 IDEA 个性化设置目录,是整个 IDE 设置目录
/Users/michael/Library/Preferences/IntelliJIdea2018.2

参考:

显示窗口 split

有时候可以将当前窗口 split,可以垂直或者水平分割,方便阅读代码

split

省电模式

在菜单栏 File 下面有一个选项是 Power Save Mode,这个叫「省电模式」,如果不小心勾选了这个选项,那么会关掉代码检查和代码提示等功能,所以需要注意。

快捷键

Mac 的 Command 键一般是对应了 Win 的 Ctrl 键,在 Win 上,还可以用 Alt+<n> 打开相关窗口,在 Mac 上同样要使用 Command+<n>

除此以外,还可以在 Settings-Keymap 中,设置快捷键、输入快捷键查看对应的功能。

快捷键设置

  • alt+r:打开最近项目
  • ctrl+shift+o:打开项目
  • 自动补全快捷键,默认是 ctrl+空格,这个和一些中文输入法的切换快捷键冲突了,于是,我多设置了一个 ctrl+/

常用快捷键

在介绍常用快捷键之前,先看看这个快捷键 ctrl+shift+a,Find Action 快捷键,输入关键词,不会的就问它,超级赞!!!★★★

  • alt+↑/↓: 快速在方法间跳转 ★★
  • alt+p:打开Python控制台 ★★★
  • alt+insert 生成代码(如get,set方法,构造函数等) 或者右键(Generate),在 mac 上是 ctrl+n ★★
  • alt+enter万能键,不同场景有不同的表现方式,在还没import(install)模块名上使用会import(install) 相对应的模块,在方法名上使用补注释,在测试中使用帮你补充断言代码……不管出错了不知道怎么办,知道怎么办想这么办时都按下这个快捷键,有惊喜,万能纠错键 ★★★
  • alt+f7 找当前变量、方法在哪些地方用了 find usaged ★★★
  • alt+f12 打开命令行终端(view->tool window) ★★★
  • ctrl+space 万能提示键,基本代码补全
  • ctrl+f4:关闭当前页
  • ctrl+f12: 结构视图 File Structure,查看 class method field,阅读源码查看类方法时很方便 ★★★
  • ctrl+homectrl+end 回到页首/页尾,关键字 Move Caret to Text End 或者 开头 Move Caret to Text Start参考
  • 查看接口继承关系:
    • ctrl+h 查看类型继承关系 type hierarchy,只能查看向上向下继承关系,而不能看实现了哪些接口。查看继承关系,右击,点击 Digram 查看;
    • ctrl+alt+h 查看函数调用层次结构关系 call hierarchy,可以看到函数被哪些地方调用了,但是需要谨慎,部分人不会注意到后面的调用次数!为了防止遗漏,建议使用 alt+f7 这个快捷键 ★★★
    • ctrl+alt+b 查找接口的实现类
  • 注释
    • ctrl+/ 注释
    • ctrl+shift+/ 多行注释
  • ctrl+u 查看当前方法的父方法 super method,比如 service 的实现类中,跳转到覆盖的接口方法
  • ctrl+d 复制当前行 ★★
  • ctrl+e 打开最近文件 ★★★
  • ctrl+p 有时候敲了方法,忘记方法可以使用什么参数,那么这个快捷键可以显示 parameter info
  • 删除当前行
    • ctrl+y 删除当前行 ★★★
    • ctrl+x 剪切(会删除当前行)★★★
  • ctrl+w 不断按下这个快捷键,选择代码块范围逐步扩大;★★★
  • 换行
    • shift+enter 向下另起一行 ★★★
    • ctrl+alt+enter 向上另起一行 ★★★
  • crtl+q查询documentation
  • ctrl+鼠标点击 查看内置函数啥的
  • ctrl+alt+←/→ 快速跳转光标刚刚所在行 ★★★
  • ctrl+alt+l,格式化代码 ★★★
  • ctrl+alt+o 优化 imports optimize imports,优化导入的类和包
  • ctrl+shift+enter 补全语句,complete current statement 不管光标是不是在行尾,可以补全必要的字符,比如行尾的分号 ★★
  • ctrl+shift+b 查看接口中方法的实现方法;
  • ctrl+shift+u:大小写转换,在 Edit->Toggle Case 中能看到选项 ★
  • ctrl+shift+v:从最近的缓冲区粘贴
  • ctrl+shift+backspace 快速跳转到最后修改的地方 ★★★
  • ctrl+shift+v 在 Pycharm 中,访问历史粘贴板 ★★
  • ctrl+shift+/- :代码块折叠★
  • ctrl+alt+shit+j:多目标选择选择的词,或者用alt+鼠标点击也可以实现效果,Select All occurrences★★
  • ctrl+alt+shit+t:重构利器!★★★
  • shift+f6:文件重命名★★★
  • shift+f2:跳转到上一个高亮错误 或 警告位置
  • 搜索
    • shift 双击,搜索一切,不管是IDE功能、文件、方法、变量,它都能搜索,使用频率很高的一个快捷键,!可以按最近使用过的文件名, 类名, 方法名等去搜索定位! 注意,这个搜索不支持搜索关键字的内容。★★★
    • ctrl+n:快速按照名字搜索类
    • ctrl+shift+n:快速搜索文件
    • ctrl+shift+f: 在整个项目中 或 指定目录里 进行全局搜索 ★★★
    • ctrl+alt+shift+n:快速搜索函数

参考:

alt+enter 快捷键的妙用

万能接错/生成返回值变量。创建对象时,可以先 newalter+enter,IDEA 会自动补全,直接让你输入对象名:

模板

模板:

  • Editor->Live Templetes,可以做一些用户的定义,可修改
    • 关注 iteration
    • 关注 other
    • 关注 output
    • 关注 plain
  • Editor->General->Postfix Completion 不可修改

常用模板

  • psvm 再按 Tab 生成 main 方法,或者,输入 main 之后,再按 ctrl+j
  • sout 输出函数
    • soutp 打印函数的形参
    • soutv 打印变量值,就近的打印变量的值;
    • soutm 打印方法的名字
    • xxx.out 打印某变量 xxx 的值;
  • fori 循环,按 tab/enter 进入下一处修改
    • itar 循环控制语句是 xxx.length
    • iter 增强 for 循环(for each
    • users.for+tab 快速生成 users 的增强 for 循环
  • list.for 集合
    • list.fori
    • list.forr 逆序遍历,倒序遍历
  • ifn 条件判断,判断等于 null
    • inn 不等于 null
  • prsf 私有静态的常量
    • psf 生成 public static final
    • psfs 生成 public static final String

快捷键 ctrl/command+j 可以查看有哪些缩写字符。

更多关于模板的知识,点击官宣-live templates

参考:

修改模板

在 Live Templates 中修改模板

  • abbreviation 模板的缩略名称
  • template text` 模板的 diamante 片段
  • 应用范围,点解 Define,选择 Java

修改

添加一个 String 类型的带注释的模板,叫 prsc

1
2
3
4
5
/**
* $VAR1$
*/
private String $VAR2$;
$END$

版本控制 VCS

VCS

添加 Github 账户

  • Settings->Version Control->GitHub

为何要添加这个账户呢?

因为你就可以直接在 VCS 菜单栏中克隆代码库,多种方式:

  • Checkout from Version Control -> Git
  • Git -> Clone 可以选择待下载的代码库
  • File -> Project from Version Control -> Git

在 Github 创建仓库

VCS -> Import into Version Control -> Share Porject on GitHub

会将代码仓库提交到 GitHub 上,新建一个仓库

调试

  1. step over F8 下一步,当前断点如果是一个方法,不会进入方法体内;
  2. step into F7 下一步,当前断点如果是一个方法,则进入方法体内,不过默认情情况下并不会进入 java.* 等类的方法中。如果需要进入,可以在 Setting -> Stepping 中设置,排除即可
  3. force step into Alt+Shift+F7 下一步,当前行如果是一个方法,强制进入方法体内;
  4. step out Shift+F8 跳出
  5. run to curser Alt+F9 运行到鼠标所在行,临时设置断点,有用
  6. resume program F9 运行到下一个断点处,是不是有点像 pdb 中的 c 快捷键;
  7. stop Command+F2 停止
  8. view breakpoints 查看所有断点,可以在运行时选择哪些断点暂停略过;
  9. mute breakpoints 所有断点失效/生效的切换;

条件断点

在循环里增加条件判断,具体操作:在断点处右击,在某个条件下,实施断点。

查看表达式的值(可以查看已有变量的值):

线程断点

我们可以在断点上使用鼠标右键弹出断点设置框,在 Suspend 选择 Thread 选项。断点的多线程属性可以设置默认属性,点击 Make Default 按钮,设置默认 Suspend 属性

调用栈

ctrl+alt+h 快捷键

参考:

查看继承关系

快捷键:Ctrl+H

设置程序环境变量

Run->Edit Configurations->Environment->Environment variables

1
System.getenv("HOME_TEST");

Maven 设置

不推荐使用 IDEA 自带的 Maven 配置。在 Settings -> Build Excution Deployment -> Build Tools -> Maven 中修改:

  • Maven home directory maven 安装目录
  • User settings file 勾选 Override,改为自己的 settings.xml 文件
  • Local repository 依赖包存储位置

在 Settings -> Build Excution Deployment -> Build Tools -> Maven -> Importing 中:

  • 勾选 Import Maven projects automatically pom 文件增加了新依赖,会自动下载;

高效定位代码-无处不在的跳转

project之间跳转

ctrl+alt+左右方括号

查看快捷键

ctrl+shift+a:搜搜快捷键

查看最近文件

ctrl+e
可以在ctrl+shift+a:搜索reccent …

快速跳转到最后修改的地方

ctrl+shift+backspace 快速跳转到最后修改的地方

利用书签跳转

  • F11:添加、取消书签
  • ctrl+f11:添加、取消有标记的书签
  • ctrl+<n>:跳转到有标记的书签处

添加收藏 Favorites

alt+shift+f:add to favorities

编辑区和文件区的跳转

alt+1进入文件区
esc:进入编辑区

精准搜索

类搜索

ctrl+n:快速搜索类

文件搜索

快速打开指定的文件,方便★★★:
ctrl+shift+n

函数搜索-symbol

ctrl+shift+alt+n

搜索 Maven 依赖包中的内容

有时候可能需要在源码分析时想要搜索 Maven 依赖包中的内容,只要如下设置即可扩大搜索范围:

ctrl+shift+f ->scope->All Places

重构

  • Shift+F6 重命名
    所有的文件,类名,函数名,属性名都可以重命名,值得点赞的是,只要你使用 Shift+F6 重命名,所有使用过这个名称的地方都会跟着改变;

  • 函数的重构,Ctrl+F6 重构函数
    当你需要重构方法时,无论是增加参数,修改返回值,还是更改函数实现,只需要Ctrl+F6,就可以把所有用到此函数的地方一起重构

参考:

列操作

  • 选中单词转大写

多光标选中

  • 多光标

按住 Alt 键,可以快速实现多光标、块选择。

界面中的基本功能

如果没有如老师那样的窗口,可点击view->tool buttons打开

alt+<n>快捷键 ★★★

如下图圈出的数字 n,可以使用alt+<n>的方式快捷使用,替代鼠标操作。

注意,Mac 使用的是 command+<n>方式;

打开收藏 ★★★

在一些调试的函数那里打断点,然后alt+7收藏中就会方便的查看;

TODO

在项目中使用# TODO,可以在Alt+6中看到哪些待开发的备注

必备插件

官网插键库:https://plugins.jetbrains.com/

插键说明:

  • Install JetBrains plugin:弹出IntelliJ IDEA 公司自行开发的插件仓库列表,供下载安装。
  • Browse repositories:弹出插键仓库中所有插键列表供下载安装。
  • Install plugin from disk:浏览本地的插键文件进行安装。

推荐插键:

  • BashSupport
  • Dash: ctrl+shift+h
  • Key Promoter X 快捷键提示
  • Statistic 代码统计
  • CheckStyle-IDEA 代码样式检查
  • Lombok plugin
  • FindBugs-IDEA 代码 Bug 检查
  • Mongo
  • Material Theme 主题插键
  • CamelCase 将不是驼峰格式的名称,快速转成驼峰格式,安装好后,选中要修改的名称,按快捷键 shift+alt+u
  • Rainbow Brackets 彩虹括号
  • Alibaba Java Coding Guidelines
  • Maven Helper:安装之后,直接打开pom文件,即可查看依赖数,还能自动分析是否存在 jar 包冲突,查看idea 中解决maven 包冲突的问题
  • String Manipulation:字符串转换工具,安装好插件后,选中需要处理的内容后,按快捷键 Alt+m,即可弹出工具功能列表
  • AceJump:允许您快速将光标导航到编辑器中可见的任何位置,只需点击ctrl +;,然后输入一个你想要跳转到的字符,之后键入匹配的字符就跳转到你想要挑战的地方了
  • activate-power-mode:写代码的时候,就会附加一些狂拽炫酷屌炸天的效果

参考

FAQ

Q1: intellj Idea中给新建的项目导入jar包?

Q2: IDEA如何快速生成Get/Set方法?

Alt + Insert 组合,可唤出选择面板

Q3: 找不到提示

最后

近期由于微博图床挂了,所以,截图都看不了了,点击原文链接,可查看图片:

参考

Michael翔 wechat
欢迎订阅 ヾノ≧∀≦)o
我知道是不会有人点的,但万一有人想不开呢👇