【效率提升】IDEA中书签功能的妙用

1.概述

在多年的代码开发工作中,有一些问题困扰我很长的时间,例如:

  • 经常会遇到由于业务复杂、代码分布太零散等原因导致的屏幕不够用的情况。尤其是在多个类之前来回切换想要对比某一些业务流程的时候,总是会因为找代码位置而打断一部分思路,非常难受。
  • 在维护一个系统的时候,经常会翻看某些常用的代码逻辑,但每次都需要从流程入口开始一步一步的向下点击才能找到位置,这个也比较麻烦。

在一次偶然间发现了IDEA的书签功能之后,发现这个功能可以完美的解决上述的问题,接下来介绍一下书签功能的使用方式。

2.书签功能介绍

随便打开一个文件,不管是Java、XML、资源文件还是md都可以,然后在左侧带有数字那一列点击鼠标右键,可以在弹出的菜单中看到两个和书签相关的选项,如下图:
在这里插入图片描述
其中Bookmark是普通的书签,Mnemonic Bookmark是带有记忆功能的书签。

2.1.书签创建和删除

将鼠标移动到某一行的水平位置上右键,并点击Add Bookmark,或者将文本输入的光标移动到某一行按F11,就可以给对应行添加书签,添加完成之后在右侧滚动条的地方会出现浅黄色的小横杆,用鼠标点击之后就可以快速切换。
在这里插入图片描述
如果想要删除书签,可以右键点击书签在弹出的菜单中选择Delete Bookmark,也可以文本光标移动到对应行,再按一次F11

2.2.书签列表

在上面的用法中,得先找到打了书签的文件,在同一个文件的不同行跳转,如果书签只能这么用的话,就显得功能太弱了一点,更谈不上什么妙用,接下来就介绍一下书签的增强功能。

我们通过快捷键Shift + F11可以唤出书签列表,左侧是书签的name,右侧是对应的代码,如下图:
在这里插入图片描述
通过这种方式,我们就可以在IDEA的任意一个位置打开书签列表,并在里面找到我们想找的代码,双击左侧的标签名就可以跳转到对应的文件了。但是这样还是很麻烦,我需要挨个点击标签看代码,才能知道我想找的代码在哪里,有没有一种方式可以让我一眼就能找到我想要的信息呢?

2.3.自定义书签名

答案是肯定的,相信大家已经注意到了标签的name显示的当前这一行的内容,我们可以修改这个name,取一个更好确认的名字。通过鼠标右键点击书签,可以看到一个Raname Bookmark的选项,点进去之后就可以修改成自己想要的名字了。
在这里插入图片描述
在这里插入图片描述
用同样的方式,修改另外两个书签为我的书签-2,我的书签-3(这里只是为了演示,实际的项目中可以修改为更有标识度的名字),再次打开书签列表,就可以一目了然的看到自己想要的信息了。
在这里插入图片描述

当然,这还不是书签的最终用法,我们还可以通过带有标签的书签,使用快捷键进行快捷跳转。

2.4.带标签的书签创建

也就是Mnemonic Bookmark是带有记忆功能的书签,这个翻译不太好理解,我更喜欢将她称作标签。和普通的书签创建方法类似,可以通过右键菜单中的Add Mnemonic Bookmark创建,也可以通过crtl + F11快捷键进行创建。与普通书签的区别在于,会弹出一个选择框进行选择:
在这里插入图片描述
在上图中我们可以看到这里有10个数字+21个字母标签,其中1 - 9是有快捷键的,其他的标签则需要打开标签列表使用。


2.5.标签快速跳转(1到9)

先说1 - 9,我们可以通过Ctrl + Shift + 数字快速创建标签,并且通过Ctrl + 数字进行快速跳转,例如我在两个不同的类中分别使用 1 和 2,如下图:
在这里插入图片描述在这里插入图片描述
接下来我就可以通过Ctrl + 1Ctrl + 2实现快速切换,这种使用方式在一些需要通过看代码熟悉业务的场景下非常适用。

2.6.其他标签快捷键

按2.5中的方式,我又创建了一个带A标签的书签,然后通过Shift + F11打开书签列表,可以看到与普通书签的区别,新的书签上带了1,2,A这样的标识:
在这里插入图片描述
在这个页面中,我们通过键盘输入A就会直接跳转到对应的文件的对应书签行去了,相对于普通书签功能更强大。

2.7.其他补充

带标签的书签中,通过两种方式都可以修改标签的名称,第二种有快捷键,是更推荐的方式:
在这里插入图片描述

普通书签也可以给其分配标签,可以通过右键菜单中的Assign Mnemonic,或直接通过Ctrl + F11进入弹窗进行分配。
在这里插入图片描述

3.写到最后

本篇文章主要是讲述了如何创建和使用IDEA的书签功能,在熟练使用这个功能后可以在很大程度上提高代码阅读的效率,希望对大家能够有所帮助。

相关推荐

  1. Copilot在IDEA应用:提升编码效率得力助手

    2024-03-29 03:36:01       65 阅读
  2. 理解 Python 编程 *args 与 **kwargs

    2024-03-29 03:36:01       46 阅读
  3. 【Linux】探索 Linux ls 指令

    2024-03-29 03:36:01       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-29 03:36:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-29 03:36:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-29 03:36:01       82 阅读
  4. Python语言-面向对象

    2024-03-29 03:36:01       91 阅读

热门阅读

  1. Vue3.0云里雾里

    2024-03-29 03:36:01       43 阅读
  2. pta L1-008 求整数段和

    2024-03-29 03:36:01       48 阅读
  3. Day34:学习尚上优选项目

    2024-03-29 03:36:01       44 阅读
  4. 数学建模智能算法

    2024-03-29 03:36:01       41 阅读
  5. 【华为OD机试】机器人搬砖【C卷|100分】

    2024-03-29 03:36:01       41 阅读
  6. react状态管理工具(redux、zustand)

    2024-03-29 03:36:01       46 阅读
  7. Unity 计算两个日期的时间差(含绝对值计算方法)

    2024-03-29 03:36:01       45 阅读
  8. Dubbo 负载均衡算法说明

    2024-03-29 03:36:01       39 阅读
  9. bash版本号怎么样能解决

    2024-03-29 03:36:01       43 阅读
  10. uniapp 安卓跳转到应用设置等页面

    2024-03-29 03:36:01       48 阅读
  11. 常见排序代码及手撕心得

    2024-03-29 03:36:01       40 阅读
  12. 独立服务器和云计算各有什么优势

    2024-03-29 03:36:01       30 阅读
  13. 测试学习1

    2024-03-29 03:36:01       43 阅读
  14. 15届蓝桥杯备赛(3)

    2024-03-29 03:36:01       40 阅读