Android Studio - 用于导航到 xml 声明的热键改为导航到 R 文件

Posted

技术标签:

【中文标题】Android Studio - 用于导航到 xml 声明的热键改为导航到 R 文件【英文标题】:Android Studio - Hotkey for navigating to xml declaration is instead navigating to R file 【发布时间】:2015-05-18 21:48:59 【问题描述】:

原标题:导航到布局文件或资源值的热键(如果有)是什么?

(这个问题并没有真正描述手头的问题。你可以想象,它吸引了一些明显的答案。抱歉,这是我发布的第一个问题。)

我在 Mac 上使用 android Studio 1.1.0 版。

假设我有一行类似这样的代码:

    setContentView(R.layout.layout_main);

在 Eclipse 中,我可以简单地在资源 ID 上使用“command + click”,它会导航到相应的 xml 文件,然后突出显示字符串、视图或颜色声明。但是,在 Android Studio 中这样做会将我导航到 R 文件中的声明,这完全没用。

是否有我错过的单独热键,或者我可以将当​​前热键绑定到的单独事件/动作,这会导致 AS 以这种方式更像 Eclipse 操作?

编辑

经过几个答案(根据原始问题是正确的)和一些实验(创建了一个全新的项目 - 我觉得之前没有这样做很愚蠢),Android Studio 似乎应该 实际上,就像 Eclipse 一样,导航到 xml 中声明 View、String 或 Color 资源的确切行。但是在我的情况下,这并不是出于某种奇怪的原因。

这只是猜测,但我想罪魁祸首可能是三件事之一或三件事的组合:

    我正在处理的项目 - 最近从 Eclipse 项目迁移到 Android Studio 项目。这似乎是最有可能的,因为更新项目 2 和 3 后问题仍然存在。 JDK 版本 - 当我创建新项目时,AS 抱怨我的编译器已过时(运行的是 1.6,升级到 1.7)。 目标 SDK - 提示我升级 JDK 的原因。

【问题讨论】:

cmd - shift - n > 然后开始输入文件名,列表会被过滤掉 我认为你的意思是 cmd - shift - o。您提供的热键绝对没有任何作用。尽管如此,这并不能解决我的问题。我不是要查找文件,我已经知道我的字符串在 strings.xml 中。我要做的是直接导航到 xml 中声明值或视图的行,就像 Eclipse 一样。 您找到解决此问题的方法了吗? @Adrian 我已经解决了这个问题。如果您仍然感兴趣,请阅读下面的答案。 【参考方案1】:

CTRL + B 应该这样做。否则,您可以创建自己的快捷方式。

【讨论】:

此热键仍将我带到 R 文件。我会创建自己的快捷方式,但我不知道要绑定的操作的名称,也就是说,除了“转到声明”和“转到实施”之外,是否还有其他可以执行此操作的操作。 您的回复确实回答了原始问题,但是我措辞不佳,因为它没有描述手头的真正问题。不过,我仍然赞成,因为它确实有助于确定我遇到的行为是异常的。请看看我编辑的描述,并随时提供另一个答案:)【参考方案2】:

在 Android Studio 中,您只需点击“Shift”按钮两次。您可以打开 java 类、xml 布局、gradle 文件、android 清单和几乎所有东西。希望有帮助。

-欢呼/快乐的编码。

【讨论】:

这样我发现了来自第 3 方库的布局资源,否则无法访问。谢谢)【参考方案3】:

我使用的是 Mac (OS X Yosemite)。

按住 Command + 点击 Item 的 id 正在将我带到 xml。

但另一个快捷方式是将光标指向 ID 并单击 Command + B

如果您想从 xml 转到类文件,请单击 Command + O 我可以分享一些额外的快捷方式: Command + E 查看最近的文件。

如果你想从最近的列表中搜索 然后点击“Shift”两次

【讨论】:

【参考方案4】:

在 Windows 中,Ctrl+B 在设计模式和文本模式之间切换。 Ctrl + leftClick 移动到声明

【讨论】:

您的回复确实回答了最初的问题,但是我措辞不佳,因为它没有描述手头的真正问题。不过,我仍然赞成,因为它确实有助于确定我遇到的行为是异常的。请看看我编辑的描述,并随时提供另一个答案:) 好的,所以如果我进入 File>Settings>KeyMap 我选择了默认配置。我假设你有一个用于 Mac 的。如果您展开主菜单>导航,您将找到声明;可能有也可能没有分配给它的键。您可以右键单击它并选择“添加键盘快捷键”,然后选择您喜欢的任何快捷键。显然 Meta+B 是默认的 Mac 快捷方式 谢谢 Catalina,我找到了声明/实施操作。它们被设置为默认绑定(Cmd/Ctrl + 单击,Cmd/Ctrl + B),但这些快捷方式仍将我导航到 R 文件声明。如果我创建一个新项目,它们会按预期工作。所以我的猜测是它与我正在使用的项目有关,因为它曾经是一个迁移到 Android Studio 项目的 Eclipse 项目。【参考方案5】:

Command + B 适用于 Mac

对于 Windows,我不太确定,因为我没有使用 Windows。

【讨论】:

【参考方案6】:

我的问题是我最近更改包名后,不小心在Manifest包名中添加了一个空格。

【讨论】:

【参考方案7】:

所以我想通了!我不知道为什么,但事实证明我的主项目的根文件夹(主“应用程序”模块)在文件类型忽略列表中。您所要做的就是从列表中删除文件夹名称(在下图中突出显示)。

奇怪的是,这也解决了我遇到的其他一些异常情况。一个问题是我永远无法在 Hierarchy/Project Viewer 的“manifests”文件夹中看到 AndroidManifest 文件(已选择“Android”)。另一个问题是,每当我构建和运行应用程序时,我都会收到有关 AndroidManifest 的警告,并且必须单击“仍然继续”。此外,该应用安装后不会自动启动。

【讨论】:

以上是关于Android Studio - 用于导航到 xml 声明的热键改为导航到 R 文件的主要内容,如果未能解决你的问题,请参考以下文章

从 Eclipse 导入项目到 Android Studio

如何从 Android Studio 中片段的 XML 布局导航到相应的 java 类?

Android Studio - 带回栈的导航抽屉

使用 Android Studio 在 Android 上通过 Turn by Turn GPS 导航

通过片段之间的导航传递数据android studio

Android Studio 使用带开关的多个按钮