IntelliJ IDEA Ultimate开发Android时,资源跳转定义为何指向R.class而非XML文件?
解决IntelliJ IDEA Ultimate跳转Android资源到XML而非R.class的问题
我之前也碰到过一模一样的问题,折腾了好一会儿才捋顺,给你几个亲测有效的解决思路:
检查并更新Android插件
首先确认IDEA里的Android Support插件是启用且最新的。打开Settings/Preferences(Mac用Cmd+,,Windows用Ctrl+Alt+S),找到Plugins面板,搜索“Android”,确保它处于启用状态,要是有更新提示就赶紧更到最新版——旧版本的插件经常会出现资源跳转逻辑的bug。调整跳转快捷键的行为配置
IDEA默认的跳转逻辑和Android Studio有点差异,你可以自定义下:- 打开
Settings/Preferences->Keymap - 搜索“Go to Declaration or Usages”,找到你当前用的
Cmd+B快捷键 - 右键点击它,你可以试试勾选相关的跳转选项,或者直接在资源上右键,点
Go to Declaration旁边的小箭头,就能看到跳转到XML资源的选项了。另外也可以去Settings/Preferences->Editor->General->Goto Declaration里,确认资源跳转的相关选项是否勾选。
- 打开
重新同步项目+清理缓存
很多时候都是缓存或同步异常导致的:- 点击工具栏
File->Sync Project with Gradle Files,等同步完成 - 然后清理IDEA缓存:
File->Invalidate Caches...,选择Invalidate and Restart,重启后再试跳转,大部分这类奇怪的跳转问题都会被解决。
- 点击工具栏
确认模块的Android类型配置
要确保你的模块被IDEA识别为Android模块:- 右键模块 ->
Open Module Settings - 在
Modules里查看模块类型,如果是普通Java模块,IDEA就不会识别Android资源的跳转逻辑,这时候需要重新把模块配置为Android或Android Library类型。
- 右键模块 ->
临时手动选择跳转目标
如果上面的方法都没立刻生效,还有个临时小技巧:按住Cmd点击资源时,会弹出一个选择框,里面会有两个选项——一个是R.class里的声明,另一个就是对应的XML资源行,选后者就能直接跳过去了。不过还是建议把前面的配置弄好,用起来更顺畅。
内容的提问来源于stack exchange,提问作者grego
相关产品推荐
相关产品推荐

