IDEA开发技巧 |
您所在的位置:网站首页 › idea快速跳转到某个文件 › IDEA开发技巧 |
无处不在的跳转
1-项目之间的跳转:idea不同项目之间快速跳转 ctrl+alt+]
ctrl + e 它会列出最近修改的文件。通过键盘的上下键,可以上下选择你想要的文件,然后按回车键,可以跳转到对应的文件。这样可以摆脱鼠标,提高效率。 这种上下箭头,也可以应用到alt +1的Project文件跳转中。可能后面把这个 show edited only 勾选上会清爽一点。 这个意思是跳转会上一次修改的地方 这个快捷键很有用。他会直接跳到你上次修改的地方 ctrl+shift+backspace。 下面的那个next edit location变灰了,他其实跟上面是相反的操作。后面可以自定义这两个快捷键。这个快捷键感觉跟ctrl+e 有点冲突 4-利用书签跳转 f11; ctrl+f11; shift+f11这个主要是浏览别人代码的时候,觉得写得好,做标记;或者是浏览源码时,通过某两个文件之间的对比。 我们创建书签时,把光标定位到你要做书签的那一行,然后按下F11键,这个时候,就会出现一个书签标记,如下所示: 如果你想编一个书签顺序,可以按ctrl+f11, 然后在下面的书签助记符中,选顺序或者字母。 到后面,就可以按住ctrl+1 或者ctrl+2 等顺序跳转书签了。 然后按 shift+f11可以查看全部已存在的书签。 按住delete可以删除书签。按一下f11是添加书签,再按一次f11是删除书签。 5-收藏位置和文件 alt+2 ; alt+shift+f可以看到 favorites的快捷键是 alt+2。 通过alt+2 可以把favorites框唤醒出来。(IntelliJ IDEA 2021.3.2 好像没有这个???) 下面显示的时怎么把自己喜欢的东西添加到favorites。下图快捷键 alt+shift+f 如果想把函数收藏起来,也很简单,把光标定位到函数中,然后按下alt+shift+f(IntelliJ IDEA 2021.3.2 没有有这个快捷键,不知道是不是冲突了) 注意,一定要定位到具体的方法或者函数。在做笔记的时候,我把光标放在了Resp 那里,然后按下了alt+shift+f,它直接给我收藏了Resp类。后面将光标移动到getCatConfig,才移动到这个方法里面收藏。 6-字符跳转神器 emacsIdea 7-编辑器和文件区跳转alt+1 从代码编辑区跳转到项目管理区; esc从项目管理区跳转到代码编辑区; 这个确实牛逼!!! alt1–alt9对应的编辑器 快速根据类名找类 ctrl+n 找到文件后,回车即可进入文件 不仅能搜索Java文件,还能搜索Java之外的文件
在idea中,符号包括函数,以及属性(即成员变量)在测试过程中发现,属性不好找,所以,属性可以忽略掉。 如上图所示,我们查找方法中包含md5的方法,可以很快速的查找出来。选中对饮的方法,回车即可进入方法内部。 4-字符串搜索字符串搜索,用的时ctrl+shift+f 但是在测试过程中发现,这个快捷键被占用了,一直无法激活。需要排查一下。 查找并替换,使用的时ctrl+shift+r ctrl+shift+r 既能替换,也能搜索。这个可以搜索变量。 所谓列操作就是一次性操作多列,减少重复劳动。 先选中,然后按快捷键Crtl+Shift+Alt+j,效果如图: 下面是一个更详细的列操作编辑示例: 把一个Json状态码转为枚举类,原始的json状态码如下 100: "Continue" 101: "Processing" 102: "End"详细操作如下: 选中任意一行冒号; 选中所有冒号 ctrl + shift + alt + j 单词变为大写 ctrl + shift + U 剪切 ctrl+x 移到行首 HOME 复制粘贴 ctrl+v, 键入左括号 移到下个单词尾 ctrl + → 选中冒号后的单词 ctrl + shift + → 键入右括号,逗号 格式化 ctrl + shift + L 参考:https://blog.csdn.net/abel004/article/details/90399341 2-Live tempplate 动态改变的模板Live,表示活的,体现在参数上。表示参数可以动态改变。 使用快捷键提交代码 alt+f12 打开Terminal,切换目录,cd,打印目录,pwd,显示目录内容ls,然后输入下面的命令。 git stash save ‘message’ 暂存本地修改 git pull 拉取最新代码,对应快捷键:ctrl+t git stash pop 切换回Terminal,对应快捷键alt+f12。看看是否有冲突需要解决。如果有,则解决冲突;如果没有,那么直接在terminal中打开maven, maven clean ,然后compile。 git stash save 切换回Terminal git pull 拉取最新代码,对应快捷键:ctrl+t git stash pop,没有冲突之后,便可以直接提交 最后commit 按住ctrl+k可以直接commit。如果想切换到commit窗口,按住alt+0打开。然后上下箭头可以切换行数。 按住 alt+` 弹出上面的对话框VCS Operations 解决文件冲突 在一个team中,当你和你的同事同时编辑同一个文件时,很容易发生文件冲突。如果你们两个人改的地方不是同一行,那么git会自动合并你们的冲突。但是,如果你们编辑的是同一行,或者同一个代码块,对于这种冲突,就需要我们自己手动合并了。 发生冲突的情况:在pull, merge, rebase,cherry-pick,unstash,或者apply patch这些操作中,只要你远端的跟你本地有不同,都会发生冲突。 To resolve a conflict, you need to select which action to apply (accept [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3OH5Olur-1649201270941)(https://resources.jetbrains.com/help/img/idea/2021.3/icons.diff.arrow.svg)] or ignore [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NrpmIZpD-1649201270941)(https://resources.jetbrains.com/help/img/idea/2021.3/icons.diff.remove.svg)]) to the left (local) and the right (repository) version, and check the resulting code in the central pane: 左边是自己(your version)本地的,右边是远程仓库(server)的。 psvm main函数 todo fixme pic: public int comment 带注释的int变量声明 psc:public string comment 带注释的String变量声明 这些主要是用来 写实体类的。 如图,定义了一个带注释的int类型变量的模板。后面再编辑器中输入pic 就自动完成了。如下所示: 敲完内容(如变量)后,按一个点就会给你很多提示,跟live template有点像。 例如,下面输完100之后,按个点 . 然后输入fori return 在变量后面追加.r 即可把变量返回 使用.try 如下所示,一个构造函数中,入参是name,但是在成员变量中,这并没有声明。那么直接在构造函数中,输完name之后,点field之后,可以自动补充完成 使用return返回 在下面的getUser环境中,需要返回一个对象。那么直接在myUser变量后面点r,回车即可。 nn not null的使用。下面我要校验user不为空,则可以使用nn 4-1. 自动创建函数 如下所示,我们写了一个函数名。但是这个函数并没创建。当我们按下alt+enter之后,就自动创建了这个函数了。 4-2. 实现接口 我们在写了一个接口之后,需要对接口中的方法进行实现。这个时候可以使用alt+enter来实现接口了。 可以 先使用 ctrl+[ 快速跳转到类名那一行,然后使用左箭头移动到类名,最后按下 alt+enter,实现接口 IDEA常用快捷键 https://blog.csdn.net/weixin_34032827/article/details/89585264 4-3 导包 重构 1-重构变量如下所示,发现命名不准确,看完代码,明白逻辑之后,需要重新修改名字。可以先选中需要改变的变量,然后在shift+f6,重命名即可。 抽取 改变签名 重命名 打开重构对话框 ctrl+alt+shift+t 抽取为方法,抽取为常量,抽取为字段,抽取为变量,抽取为参数 抽取为方法 ctrl+alt+m (method)如上图所示,选中Switch代码块,可以将它抽取出来,作为一个独立的方法。快捷键:ctrl alt shift t 打开重构窗口,然后选取抽取为方法。或者直接ctrl zlt m,直接抽取为方法。 抽取为常量 ctrl+alt+c (constant)抽取常量,解决魔法值问题。如下所示,将代码中的20000抽取为一个常量 如下图,将姓名的长度,抽取为一个变量。 如下图,将未婚这个婚姻状态,抽取为方法的一个参数。它会检测出来你要修改多少处。选择replace all。最终的结果是,printSex方法中,多了一个参数 如下所示,在构造函数中,新增一个变量,改变构造函数的签名。修改之后,会在所有初始化构造函数的地方,增加一个默认值 可重命名:类名,方法名,属性名,包名 版本控制 git revert快捷键 ctrl+alt+z如下图所示,在需要revert的地方,按住ctrl+alt+z,就可以一整块的混滚文件 合并冲突时,点击下面的按钮,可以只显示冲突的那一部分内容 添加行断点,取消行断点,都是ctrl+f8 当符合条件(条件表达式要符合Java语法)时,进入断点。很方便 选中变量,然后按alt+f8 6- 运行到指定行 alt+f9如下图所示,想要运行到光标闪烁的地方,只需要按住alt+f9 即运行到指定行 但是,如果中间有断点,则不行了。如下图:跳转到第二个断点,就停下来了。所以alt+f9感觉用处不大,不如直接加一个断点。当然了,有时候可以装逼! set value 主要是动态的修改变量的值 如图所示,刚开始list是有3个值的,后面set value之后,就变为空的了。 其他 1-快速复制文件名或者文件全路径复制文件名: 选中文件,然后ctrl+c 复制文件路径:选中文件,然后ctrl+shift+c 当源码非常长的时候,想要迅速了解改类有哪些方法,哪些字段(成员变量),可以ctrl+f12 在pom文件中,按住 可以查看整个项目中的maven依赖拓扑图 maven依赖太多了,不好看。快捷键是ctrl+alt+shift+u 查看类图,快捷键也是ctrl+alt+shift+u 或者使用ctrl+h ctrl+h显示类继承结构 也就是说,查看改方法调用了哪些方法;另一种就是看该方法被哪些方法调用了。 如下图所示,把光标定位需要查看层次结构的图,然后按住ctrl+alt+h 上面因为在main方中看的,只有他调用别人,没有别人调用它。 下面我们看看foo() 方法。如图,可以看到调用foo()的,只有main方法,而foo()调用的,有bar1(),bar2() 还可以反向层次的推导,例如,把光标定位在bar1()上,然后按住ctrl+alt+h。从调用链上看,是bar()1—>foo()—>main() lt+h 也就是说,查看改方法调用了哪些方法;另一种就是看该方法被哪些方法调用了。 [外链图片转存中…(img-7UMugX9v-1649201270950)] 如下图所示,把光标定位需要查看层次结构的图,然后按住ctrl+alt+h [外链图片转存中…(img-YxiejOIA-1649201270950)] [外链图片转存中…(img-25cNjXpc-1649201270950)] 上面因为在main方中看的,只有他调用别人,没有别人调用它。 下面我们看看foo() 方法。如图,可以看到调用foo()的,只有main方法,而foo()调用的,有bar1(),bar2() [外链图片转存中…(img-ObpEBPVP-1649201270950)] 还可以反向层次的推导,例如,把光标定位在bar1()上,然后按住ctrl+alt+h。从调用链上看,是bar()1—>foo()—>main() [外链图片转存中…(img-vgKhQulV-1649201270950)] |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |