PyCharm/IDEA 使用技巧总结

工欲善其事必先利其器

基本概念

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

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

    系统设置

设置Tab为4个空格

不要勾选Use Tab character

设置显示收藏栏等工具栏

支持滚轮调节字体大小

鼠标滑过,显示文档

设置换行符默认为LF

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

参考:

设置 File Encodings

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

设置显示空格

「游标卡尺」的名号不是白叫的,所以,必须设置显示空格、缩进等,可以在 Settings->Editor->General->Apperance中设置显示空格、行号、CSS颜色、方法分隔符等效果。

1
ctrl+alt+s #输入whitespace,搜索相关设置,打开

设置头信息

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

Python 头信息设置:

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

Java 头信息设置:

1
2
3
4
5
6
/**
* Description:
* User: ${USER}
* Date: ${YEAR}-${MONTH}-${DAY}
* Time: ${TIME}
*/

自动编译

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

打开内存使用状态

1
settings—Appearance & Behavior—Appearance—Show memory indicator

参考:

import每个类而非整个包

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

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

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

1
settings—Version Control—Show directories with changed descendants

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

省电模式

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

给提示时忽略大小写

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

自定义 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

参考:

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

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

设置Tab标签页

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

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

  • Tabs Placement 放置位置,我勾选了 RightShow tab in single row
  • 勾选了 Sort Tabs By Filename
  • 勾选了 Open New Tabs At The End

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

自动导包 import popup

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

主题

关联数据库

添加 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

参考:

取消更新

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

快捷键

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

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

快捷键设置

  • alt+r:打开最近项目
  • ctrl+shift+o:打开项目

  • 自动补全快捷键,默认是 ctrl+空格,这个和一些中文输入法的切换快捷键冲突了,于是,我多设置了一个 ctrl+/

模板

系统内置的:postfix completion
自定义:live templete

  • psvm 再按 Tab 生成 main 方法,或者,输入 main 之后,再按 ctrl+j
  • sout 输出函数
    • soutp 打印函数的形参
    • soutv 打印变量值
    • xxx.out 打印变量 xxx 的值
  • fori 循环
    • iter 增强 for 循环(for each)
  • list.for
    • list.fori
    • list.forr 逆序遍历
      • ifn 条件判断
    • inn 不等于 null
      • prsf 私有的静态的常量

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

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

参考:

常用快捷键

查看继承关系
重构 修改变量名和方法名
大小写切换,常量通常定义为都是大写
构造器

  • alt+↑/↓: 快速在方法间跳转 ★★
  • alt+p:打开Python控制台 ★★★
  • alt+enter万能键,不同场景有不同的表现方式,在还没import(install)模块名上使用会import(install)相对应的模块,在方法名上使用补注释,在测试中使用帮你补充断言代码……不管出错了不知道怎么办,知道怎么办想这么办时都按下这个快捷键,有惊喜,万能纠错键 ★★★
  • alt+f12 打开命令行终端(view->tool window)★★★;
  • ctrl+homectrl+end 回到页首/页尾,关键字Move Caret to Text End 或者 开头 Move Caret to Text Start参考
  • ctrl+n 构造器、getter、setter 方法 ★★★
  • 查看接口继承关系:
    • ctrl + h 查看 hierarchy,只能查看向上向下继承关系,而不能看实现了哪些接口。查看继承关系,右击,点击 Digram 查看;
    • ctrl + alt +B 查找接口的实现类
  • ctrl+e 打开最近文件 ★★★
  • ctrl+y 删除当前行 ★★★
  • ctrl+w 不断按下这个快捷键,选择代码块范围逐步扩大;★★★
  • ctrl+alt+←/→ 快速跳转光标刚刚所在行 ★★★
  • ctrl+alt+L,格式化代码
  • ctrl+space 万能提示键
  • shift+enter另起一行,光标在行内任意位置都能另起一行,且不破坏当行结构★★★
  • ctrl+alt+enter向上另起一行 ★★★
  • ctrl+F4:关闭当前页 ★★
  • crtl+q查询documentation
  • ctrl+鼠标点击 查看内置函数啥的
  • ctrl+D 复制当前行
  • ctrl+f12 File Structure,查看 class method field。
  • ctrl+Shift+F: 在整个项目中 或 指定目录里 进行全局搜索; ★★★
  • ctrl+shift+a:Find Action 快捷键,输入关键词,不会的就问它,超级赞的快捷键 ★★★
  • 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★★
  • 双击shift搜索一切,不管是IDE功能、文件、方法、变量,它都能搜索,使用频率很高的一个快捷键,!可以按最近使用过的文件名, 类名, 方法名等去搜索定位! 注意,这个搜索不支持搜索关键字的内容。★★★
  • shift+F6:文件重命名★★
  • shift+F2:跳转到上一个高亮错误 或 警告位置
  • 搜索
    • Ctrl+N:快速搜索类
    • Ctrl+Shift+N:快速搜索文件
    • Ctrl+Alt+Shift+N:快速搜索函数

参考:

alt+enter 快捷键的妙用

创建对象时,可以先 newalter+enter,IDEA 会自动补全,直接让你输入对象名:

重构

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

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

参考:

调试技巧

  1. step over F8 下一步,当前断点如果是一个方法,不会进入方法体内;
  2. step into F7 下一步,当前断点如果是一个方法,则进入方法体内;
  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 所有断点失效/生效的切换;

条件断点

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

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

调用栈

ctrl+alt+h 快捷键

参考:

查看类的继承关系

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

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

列操作

  • 选中单词转大写

多光标选中

  • 多光标

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

界面中的基本功能

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

alt+<n>快捷键 ★★★

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

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

打开收藏 ★★★

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

TODO

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

调试技巧

设置程序环境变量

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

1
System.getenv("HOME_TEST");

必备插件

官网插键库: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
我知道是不会有人点的,但万一有人想不开呢👇