当我们在查看源码时,由于源码调用链路很长可能涉及到非常多的类文件,查找起来并不容易。有时候可能还需要查找某段代码的入口函数,当类文件的代码量很大时,很难快速定位到代码段。
AndroidStudio 和 IDEA 的 Favorites 及 Bookmarks 功能,可以有效解决上述烦恼。
当我们使用 Favorites 和 Bookmarks 功能添加了很多数据后,如果出现更换电脑硬盘或者更改了项目源码路径等情况,辛苦积累的 Favorites 和 Bookmarks 数据就会丢失,需要从新在添加数据这无疑是非常让人抓狂的。
本文将介绍如何找到 Favorites 和 Bookmarks 数据以及恢复数据的方法。
Favorites 窗口快捷方式
- 打开 Favorites 窗口 :Alt+2
- 隐藏 Favorites 窗口 :Shift+Esc
Add to Favorites
要想将一个文件添加到 Favorites 中,打开此文件,并将鼠标移动到此文件的 Tab 栏上,点击右键,选择 Add to Favorites 按钮添加到收藏列表中,如果没有目标收藏列表可以点击 Add To New Favorites List 进行新建,如下图所示:

当然也可以通过 Add All To Favorites 一次性将此文件添加到所有的收藏列表中。
Set Bookmark
要想将一行代码添加到 IDEA 的 Bookmark 中,打开此文件,并将鼠标移动到需要标记书签的代码段的左侧栏上,空白处点击右键,选择 Set Bookmark 按钮添加到书签列表中,出现 ✓ 即添加成功,如下图所示:

鼠标右键再次点击此书签就可以给此书签添加描述:

最终效果如下图:

Favorites 和 Bookmark数据存储格式
Favorites 和 Bookmark 数据的存储路径在计算机的如下位置:
Idea :
C:\Users\用户名\AppData\Roaming\JetBrains\IntelliJIdea\workspace
Android Studio:
C:\Users\用户名\AppData\Roaming\Google\AndroidStudio\workspace
注意:Windows 系统的 AppData 目录默认是隐藏的,需要打开:查看—>隐藏的项目;
选择一个文件打开,代码如下:
<project version="4">
<component name="BookmarkManager">
<bookmark url="jar://$PROJECT_DIR$/../../../Software Cache/Gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-core/9.0.44/18ed64faae0c02abcd4ea644ca8fd9c1a6a937b7/tomcat-embed-core-9.0.44-sources.jar!/org/apache/catalina/startup/Bootstrap.java" description="Tomcat入口" line="434" />
</component>
<component name="FavoritesManager">
<favorites_list name="Servlet">
<favorite_root url="jar://$PROJECT_DIR$/../../../Software Cache/Gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-core/9.0.44/18ed64faae0c02abcd4ea644ca8fd9c1a6a937b7/tomcat-embed-core-9.0.44-sources.jar!/javax/servlet/ServletContext.java" type="psiFile" klass="com.intellij.ide.projectView.impl.nodes.PsiFileNode" />
</favorites_list>
<favorites_list name="Listener">
<favorite_root url="jar://$PROJECT_DIR$/../../../Software Cache/Gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-core/9.0.44/18ed64faae0c02abcd4ea644ca8fd9c1a6a937b7/tomcat-embed-core-9.0.44-sources.jar!/javax/servlet/http/HttpSessionBindingListener.java" type="psiFile" klass="com.intellij.ide.projectView.impl.nodes.PsiFileNode" />
<favorite_root url="jar://$PROJECT_DIR$/../../../Software Cache/Gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-core/9.0.44/18ed64faae0c02abcd4ea644ca8fd9c1a6a937b7/tomcat-embed-core-9.0.44-sources.jar!/javax/servlet/http/HttpSessionActivationListener.java" type="psiFile" klass="com.intellij.ide.projectView.impl.nodes.PsiFileNode" />
</favorites_list>
</component>
...
</project>
上面的代码只保留了 Favorites 和 Bookmark 相关的数据;
<project> 标签代表项目;
<component> 标签代表组件;
<bookmark> 标签代表书签;
<favorites_list > 标签代表一个收藏夹;
<favorite_root > 标签代表一个收藏路径;
Favorites 和 Bookmark数据恢复办法
1、找到旧项目的数据
根据 Favorites 和 Bookmark 数据的存储路径,找到 workspace 目录,由于 workspace 中的文件名称是没有规则的乱码,因此可以根据最后一次打开旧项目的时间来查找,如果还是找不到,只能一个一个文件打开查看 favorites_list 名称来确认。
2、复制 Favorites 和 Bookmark 的数据
找到旧项目的数据后,将 <component name="BookmarkManager"> 和 <component name="FavoritesManager"> 两个标签的内容拷贝出来;
3、找到新项目的数据
新项目的数据找起来比较简单,可以在新项目中随便创建一个收藏夹,然后关闭 AndroidStudio 或 IDEA 编辑器,进入 workspace 目录按照修改日期倒序排列,第一个文件就是新项目的数据;
4、将旧项目的数据粘贴到新项目中
将项目拷贝的旧项目数据 <component name="BookmarkManager"> 和 <component name="FavoritesManager"> 两个标签的内容粘贴到 新项目数据的 <component name="BookmarkManager"> 和 <component name="FavoritesManager"> 标签中,或者直接替换这两个标签内容。
最后使用 AndroidStudio 或 IDEA 编辑器从新打开新项目,就可以看到恢复的数据了。
991

被折叠的 条评论
为什么被折叠?



