IDEA 神器使用技巧

课程安排

idea 是 java开发者使用最广泛的IDE之一。 开发者都是工匠。

磨刀不误砍柴工。

批量操作,使用IDE节省时间。不记得方法在哪个类。

1-2 神器初试

IDEA下载

idea下载安装与窗口介绍

官网下载,download。一直点下一步,根据电脑选32位还是64位。电脑上如果没有java,就勾上下载java,如果有就不勾。

没有sdk的选项,去new一个。找到jdk文件夹选择即可。

创建项目时,路径和项目名都要进行填写。

  • File:文件进行操作
  • Edit:对文本进行操作
  • View:当前idea有哪些视图
  • Navigate:在项目工程中跳转
  • Code:源码文件
  • Analyze:对源码进行分析,对项目的依赖进行分析
  • Refactor: 代码重构时的快捷操作,抽取函数方法,静态类。
  • Tools: 工具

导航栏,运行等菜单栏。运行过程中出现信息。

代码中的Todo信息。 可以通过Alt + 数字来展开窗口等,esc返回原来窗口

Favorite,查看代码时添加的标签,断点,收藏。

database,实时展示数据库。maven构建展示信息。

无处不在的跳转

高效定位代码

  • 无处不在的跳转

鼠标点击文件。

  • 项目之间的跳转。

next project window

mark

  • 文件之间的跳转

Recent files ctrl + E

右上角快捷键查询,find action

  • 按类名打开文件 ctrl + N action: go to by name
  • recent edit file

mark

  • 上次编辑的文件跳转(这里我把keymap设置成立eclipse)
  • 浏览时的跳转是 ALT + 左箭头/右箭头
  • 利用书签进行跳转: 浏览别人代码做一些标记。

mark

查找action: Bookmarks

标记上bookmarks之后可以ctrl 1 ctrl 2 ctrl 3 按标签序号进行跳转

  • 收藏位置和文件

action: add to favorites 收藏类,收藏函数。

  • 字符跳转插件 emacsIdea置跳转

find action: plugins

搜索: emacsIdeas

插件的作用: 实现快速的字符跳转

keymap中 jumpword ctrl + j

  • 编辑区和文件区来回跳转: esc alt + 1

安装ideaVim插件进行多窗口编辑

精准搜索

  • 搜索类

mark

  • 搜索jar包里的类

mark

Include勾选即可

  • 文件搜索

mark

1.json

  • 符号: 函数属性等

mark

  • 字符串搜索

edit分类下 find in path

match Case 是否匹配大小写,搜索的字符串是否是个单词 regex通过正则表达式来搜索

files mask 只在某一个格式的文件中去搜索

代码小助手们学习

批量编辑。 模板生成

根据左边的字符串,统一生成右边的枚举类。

先选中单行中相同的符号 - 选中所有行相同的

mark

移到冒号后选中后面的单词 ctrl + shift + 右箭头

单词变为大写 ctrl + shift + U

live template

位置:菜单->File->Setting->Editor->Live Templates 功能:定义模板,使用特定“字符”快速敲击出某段代码。 举例:psvm 敲出 public static void main(String[] args) 使用:

1.点击右侧+号。选中Template Group(模板组),自己定一个组。

$var1$ $var2$
$END$

postfix

100.fori

一个点之后会给你很多提示。

  1. foo.fori for(int i = 0; i < foo; i++){}
  2. foo.return return foo;
  3. foo.sout System.out.println(foo);
  4. foo.field private Foo foo; this.foo = foo;
  5. foo.nn

alter + enter

mark

自动完成代码,创建函数等。

list replace 是把 for i的初级实现变成foreach的实现。

字符串format 或 build

("name: " + name + ",age: " + age)
replace string format

实现接口

implement interface

  • 单词拼写建议
  • 导包

重构

编写高质量代码

  • 重构变量

abc bcd 改成有意义的名字

mark

  • 重构方法

直接添加参数,然后alt + enter

抽取

  • 抽取变量

代码中重复的出现字符串,最好把这个字符串抽取成一个变量。

mark

抽取静态常量,抽取成员变量,抽取方法参数,抽取函数。

寻找修改轨迹

git的集成

看别人代码,找到这行代码的作者。Annotate

查看每一个修改过的地方

Previous change

mark

  • 撤销,包括单个文件和项目

revert ctrl + alt + z

空白处按住ctrl + alt + z,撤销整个文件。

local history

关联一切

代码编写过程中和常用框架建立起关联

  • 与spring进行关联

controller依赖service service依赖DAO UserEntity对应数据库

project structure -> facets ->选中后点击“+”

  • 数据库的关联

会自动关联数据库,然后进行字段提示。 可以直接进行数据库重构。

exclude 进行排除

开始调试你的程序吧

  • 断点调试

添加断点。

  • 单步运行

查看断点

禁止所有断点: mute breakpointer

  • 条件断点

打断点时必须满足一定条件才会生效

  • 表达式求值

mark

mark

直接运行到光标所在行

  • setValue

测试等于NUll,在debug的值窗口改值即可

run anywhere if you can

debug contest

Ctril + Shift + F9 debug configuration Alt + Shift + F9 debug

其它操作

文件操作

  • 在当前文件同一级目录下面新建文件
  • 复制当前文件
  • 移动当前文件

文本操作

复制文件名

复制多个文件名

批量复制文件名可以按住Ctrl键多选文件,然后Ctrl+C就可以了

结构图

  • 查看field method 大纲

mark

m methos f field

  • 查看maven 类图

mark

类关系

mark

mark

  • 查看类继承结构,方法调用层次

课程总结

多练习。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员的知识天地

新鲜出炉的8月前端面试题

题目的答案提供了一个思考的方向,答案不一定正确全面,有错误的地方欢迎大家请在评论中指出,共同进步。

892
来自专栏java一日一条

10+ 实用的 JavaScript 调试小技巧

除了console.log,debugger就是另一个我很喜欢的快速调试的工具,将debugger加入代码之后,Chrome会自动在插入它的地方停止,很像C或者...

691
来自专栏大学生计算机视觉学习DeepLearning

VS下如何建立一个新的MFC程序 网络编程 课设 基于C++ MFC 连接数据库 小应用 小项目浅析展示

2473
来自专栏cnblogs

requirejs、vue、vuex、vue-route的结合使用,您认为可行吗?

     在五一节之前和一网友讨论前端技术时,对方提到vue、vue-route如果配合requirejs应用。当时的我没有想得很明白,也没能这位网友一个准确的...

28410
来自专栏九彩拼盘的叨叨叨

CSS拓展语言:Sass介绍

CSS拓展语言出现的原因是,CSS自身支持的功能能有限(如不支持变量,条件控制,循环等编程元素),并不满足我们想要的一些功能。而CSS拓展语言支持CSS不支持的...

972
来自专栏黄Java的地盘

提高开发效率之VS Code基础配置篇

VS Code可以通过名为代码片段的功能像编辑器中插入一段指定的文本,具体操作步骤为首选项->用户代码片段->新建全局代码片段。

2232
来自专栏精讲JAVA

14个你可能不知道的JavaScript调试技巧

以更快的速度和更高的效率来调试JavaScript 熟悉工具可以让工具在工作中发挥出更大的作用。尽管江湖传言 JavaScript 很难调试,但如果你掌握了几个...

2026
来自专栏编程

14个你可能不知道的JavaScript调试技巧

问题:我怎么才能收到你们公众号平台的推送文章呢? ? 熟悉工具可以让工具在工作中发挥出更大的作用。尽管江湖传言 JavaScript 很难调试,但如果你掌握了几...

1989
来自专栏Aloys的开发之路

Linux乱码问题解决方案

linux系统中文件名内容为urf8编码, windows系统中文件名默认为gbk编码, 多数文档使用gbk编码,系统采用utf8编码 无中文输入法导致的乱码 ...

3578
来自专栏云加头条

智能云上手指南:如何使用万象优图服务的 Python SDK

本文将为广大云开发者介绍如何使用万象优图服务的 Python SDK。

4833

扫码关注云+社区