Android Studio 代码编辑区域的使用

开发 Android 应用需要大量编程工作,本质上就是输入、查看和修改代码行。因此,开发者使用 Android Studio 时,大部分时间通常都花在编辑器窗口中编辑代码上。

现代代码编辑器的功能早已超越了基础的输入、删除、剪切和粘贴。如今,评估一款代码编辑器的实用性,通常要看它能减少多少程序员的工作量、在大型项目操作的便捷性,以及在编写代码时实时检测并高亮显示编程错误的能力。Android Studio 编辑器在这些方面都表现出色,而这仅仅是其优势的一小部分。

本章不会详尽涵盖 Android Studio 编辑器的所有功能,而是旨在介绍该工具的核心特性。有经验的程序员会发现,其中一些特性在当今大多数代码编辑器中都很常见,而另一些则是该编辑环境独有的。

代码编辑界面

当选中 Java、Kotlin、XML 或其他文本类文件进行编辑时,Android Studio 编辑器会显示在主窗口的中央区域。下图展示了加载 Kotlin 源代码文件时的典型编辑器界面:

编辑器窗口的组成元素可总结如下:

A -- 文档标签页 ------ Android Studio 可同时打开多个文件供编辑。每打开一个文件,就会生成一个文档标签页,在编辑器窗口顶部的标签栏中显示文件名。当标签栏空间不足、无法显示所有标签页时,标签栏最右侧会出现一个小型下拉菜单,点击该菜单可查看其他已打开文件的列表。若标签页中的文件名下方有红色波浪线,表明该文件的代码中存在一处或多处错误,需修复后才能编译和运行项目。

切换文件的方式有两种:点击对应标签页,或使用 Alt+Left 和 Alt+Right 键盘快捷键。也可通过切换器(Switcher)机制(按 Ctrl+Tab 快捷键访问)在文件间导航。

若要将编辑器面板从 Android Studio 主窗口中分离出来,使其显示在独立窗口中,可点击标签页并将其拖动到桌面主窗口之外的区域。要将编辑器放回主窗口,只需点击分离窗口中的文件标签页,然后将其拖放至主窗口中原先的编辑器标签栏即可。

B -- 编辑器 gutter 区域 ------ 该区域常见的功能包括调试断点标记、代码块折叠 / 展开控件、书签、XML 文件引用和行号等。下图展示了 MainActivity 类声明前几行对应的 gutter 区域。

将鼠标悬停在 gutter 图标上时,会显示工具提示说明。上述示例中包含一个用于运行主活动的按钮、一个 XML 文件引用,以及 onCreate() 方法重写了父类方法的标识。

行号默认处于启用状态,若要关闭,可右键点击 gutter 区域,选择 "外观(Appearance)→ 显示行号(Show Line Numbers)" 选项。

C -- 代码结构定位栏 ------ 编辑器底部定位栏会显示光标当前位置在整体代码结构中的位置。例如在下图中,该栏表明当前正在编辑DemoText可组合函数,且此函数包含在MainActivity类中。

双击该栏中的某个元素,光标会跳转到代码文件中对应的位置。例如,双击DemoText条目,光标会移动到源代码中DemoText函数的开头。同样,点击MainActivity条目会显示一个可用的代码导航点列表供选择。


D -- 编辑区域(Editor Area) ------ 用户查看、输入和编辑代码的主要区域。本章后续部分将详细介绍该区域的核心功能。

E -- 验证与标记侧边栏 ------ Android Studio 集成了 "实时代码分析" 功能。这意味着在你输入代码时,编辑器会实时分析代码,检查是否存在警告和语法错误。验证侧边栏顶部的指示器会实时更新,显示当前代码中发现的错误和警告数量。点击该指示器,会弹出一个包含编辑器中代码问题摘要的窗口。

上下箭头可在代码中的错误位置之间切换。绿色勾表示未检测到任何警告或错误。

侧边栏还会在检测到问题的位置显示标记,这些标记采用统一的颜色编码规则。当问题所在的代码行处于编辑区域的可视范围内时,将鼠标悬停在标记上,会弹出一个包含问题描述的窗口。

若标记对应的代码行当前已滚动到编辑区域的可视范围外,将鼠标悬停在该标记上时,会显示代码包含问题而无需滚动到编辑器中的对应位置即可查看。

F -- 状态栏 ------ 尽管状态栏属于主窗口而非编辑器,但它包含当前活跃编辑会话的一些信息,包括光标所在的行号和列号、文件的编码格式(如 UTF-8、ASCII 等)。点击状态栏中的这些值,可以修改对应的设置。例如,点击行号会显示 "转到行:列" 对话框。通过顶部菜单栏 "View→Appearance→Status Bar Widgets" 选项,可以添加或移除组件。

悬浮代码工具栏

悬浮代码工具栏为代码编辑器中常用的操作提供了快速访问入口。当在编辑器中选中代码时,该工具栏会自动显示,如下图所示。

将鼠标悬停在工具栏项目上会显示对应的菜单。例如,灯泡图标对应的是上下文操作菜单,可快速执行将选中代码提取到单独文件、为函数添加新变量等操作。这些菜单选项会根据当前选中的代码内容不同而变化。

预设的工具栏项目还包括 Gemini AI 功能入口、代码格式化、代码提取,以及为选中代码添加注释标记的选项。通过 "⋮" 菜单可以自定义或隐藏该工具栏。

当选择 "自定义" 选项时,会弹出下图所示的对话框,可在其中对工具栏项目进行移动、编辑和删除操作。

若要添加可点击 "Add..." 按钮,然后从操作列表中进行体验。

拆分编辑器窗口

默认情况编辑器仅显示一个面板,展示当前选中文件的内容。当需要同时处理多个源代码文件时,一个实用功能是将编辑器拆分为多个面板。

拆分编辑器的操作如下:右键点击编辑器窗口中的文件标签页,然后选择 "向右拆分(Split Right)" 或 "向下拆分(Split Down)" 菜单选项。下图展示了拆分功能的实际效果,此时编辑器已被拆分为三个面板:

拆分面板的方向可随时更改:右键点击对应标签页,选择 "更改拆分方向(Change Splitter Orientation)" 菜单选项即可。若要取消单个面板的拆分,重复上述步骤,此次从菜单中选择 "取消拆分(Unsplit)" 选项。若要移除所有拆分面板,右键点击任意标签页,选择 "取消所有拆分(Unsplit All)" 菜单选项即可。

窗口拆分功能可用于显示不同文件,也可用于为同一文件提供多个窗口,以便同时查看和编辑该文件的不同部分。

代码补全

Android Studio 编辑器内置了丰富的代码提示和补全,包括 Kotlin 编程语法、Android SDK 中的类和方法,以及你自己的代码库信息。在输入代码时,编辑器会扫描当前输入内容,并在合适的情况下提供语句补全或引用建议。

当编辑器检测到可补全内容时,会弹出一个包含建议列表的面板。下图所示编辑器正在为 String 声明的开头提供可能的补全选项:

如果自动补全建议都不合适,继续输入即可,编辑器会在适当的时候进一步优化建议。若要接受最上方的建议,按键盘上的 Enter 或 Tab 键。若要选择其他建议,用方向键上下移动选择,再按 Enter 或 Tab 键确认选中的项。

可使用 Ctrl+Space 快捷键手动触发补全建议,这在修改编辑器中的单词或声明时非常有用。当光标位于编辑器中的某个单词上时,该单词会自动高亮,按下 Ctrl+Space 会显示一组替代建议,按 Tab 键可将当前单词替换为建议列表中高亮的项。

除了实时自动补全功能,Android Studio 编辑器还提供 "智能补全" 系统。通过 Shift+Ctrl+Space 快捷键触发智能补全,它会根据当前代码的上下文提供更具体的建议。再次按下 Shift+Ctrl+Space 快捷键,会从更广泛的范围内提供更多建议。

对于许多程序员来说,代码补全方式可能因人而异。因此,Android Studio 提供了高度可定制的自动补全设置。可通过以下路径查看和修改这些设置:打开 "Settings" 对话框,从设置面板中选择 "Editor → General → Code Completion"。

语句补全

Android Studio 编辑器提供的另一种自动补全形式是语句补全。该功能可自动补全方法、循环语句等结构中的括号和大括号。

语句补全通过 Shift+Ctrl+Enter 快捷键触发(macOS 系统为 Shift+Cmd+Enter)。例如,对于以下代码:

kotlin 复制代码
fun myMethod()

在编辑器中输入上述代码后,触发语句补全功能,编辑器会自动为该方法添加大括号:

kotlin 复制代码
fun myMethod() { 
 
}

参数信息提示

你还可以让编辑器显示方法接受的参数信息。将光标置于方法调用的括号之间时,按下 Ctrl+P 快捷键(macOS 系统为 Cmd+P),会显示该方法已知的接受参数,其中最可能的建议会以粗体突出显示。

参数名称提示

代码编辑器可以配置为在方法调用中显示参数名称提示。下图所示突出显示了 Snackbar 类的 make() 和 setAction() 方法调用中的参数名称提示。

可通过以下步骤配置该模式的设置:打开 "Settings" 设置界面,在侧边面板中导航至 "Editor → Inlay Hints → Values → Kotlin"。在打开的界面中,针对所选编程语言开启或关闭 "参数名称(Parameter names)" 选项。若要调整提示设置,点击 "排除列表(Exclude list)..." 并进行必要的修改。

代码生成

除了在输入时补全代码,编辑器在特定情况下还能为你生成代码。将光标定位到需要生成代码的位置,按下 Alt+Insert 快捷键(macOS 系统为 Cmd+N),即可调出下图所示的代码生成选项列表。

假设我们希望在项目中的 Activity 即将被销毁时收到通知,本专栏后续章节会提到,这可以通过重写 Activity 父类的 onStop () 生命周期方法来实现。可从代码生成列表中选择 "Override Methods(重写方法)..." 选项,然后从弹出的可用方法列表中选择 onStop () 方法:

选择好要重写的方法后,点击 "OK",编辑器会在 Kotlin 源文件中当前光标位置生成该方法。

kotlin 复制代码
override fun onStop() { 
    super.onStop() 
}

代码折叠

当源代码文件达到一定规模时,即便是格式规范、结构清晰的代码,也可能变得繁杂且难以导航。Android Studio 认为,并非始终需要让所有代码块的内容保持可见。通过使用编辑器的代码折叠功能可以简化代码导航。

代码折叠通过 "︿ 和 ﹀" 控制,当鼠标悬停在 gutter 区域时,源代码中每个代码块的开头会显示该箭头。下图所示突出显示了一个未折叠方法。

点击该标记会折叠代码块。

若要展开已折叠的代码段,点击编辑器 gutter 区域的折叠箭头即可。若要在不展开的情况下查看隐藏代码,将鼠标悬停在 "{...}" 指示器上,编辑器会显示包含折叠代码块的镜头叠加层:

可使用 Ctrl+Shift + 加号 和 Ctrl+Shift + 减号 快捷键(macOS 系统为 Cmd+Shift + 加号和 Cmd+Shift + 减号)折叠或展开文件中的所有代码块。

默认情况下,当打开源文件时,Android Studio 编辑器会自动折叠部分代码。若要配置自动折叠的触发条件,可在 "Settings" 界面中导航至 "Editor → General → Code Folding" 。

快速文档查询

如需查看与上下文相关的 Kotlin 和 Android 文档,可将光标悬停在需要查询文档的声明上,或按下 Ctrl+Q 快捷键(macOS 系统为 Ctrl+J)。此时会弹出一个面板,显示该元素的相关参考文档。下图展示了 Android 的 Menu 类的文档:

代码格式化

通常情况下,Android Studio 编辑器会在添加代码时,自动对代码进行缩进、空格和语句代码块嵌套等格式调整。但在需要重新格式化代码行的场景中(例如程序员终极编程方法:复制粘贴),编辑器提供的源代码格式化功能可以自动将代码调整为符合当前代码风格的格式。

按下 Ctrl+Alt+L 快捷键(macOS 系统为 Cmd+Opt+L)可直接格式化源代码。

Ctrl+Alt+Shift+L 快捷键可打开 "Reformat Code(格式化代码)" 界面(macOS 系统为 Cmd+Opt+Shift+L)。该对话框提供以下选项:仅格式化当前选中的代码、格式化编辑器中当前活跃的整个源文件,或仅格式化因源代码控制更新而发生变更的代码。

如需修改完整的代码风格偏好设置,可打开 "Settings" 界面,在侧边面板中选择 "Code Style",此时会显示支持的编程语言和标记语言列表。选择某一语言后,可访问大量格式化风格选项,所有选项均可从 Android Studio 默认设置修改为符合个人偏好的代码风格。

代码模板

在编写 Android 代码时,你会发现有些常用结构会频繁出现。例如,使用 Android 的 Toast 类向用户显示弹窗消息就是一个常见需求。Live Templates 是一组常用代码结构的集合,只需输入初始字符,再按下特定按键(默认是 Tab 键),即可在编辑器中插入模板代码。

实际操作如下:在代码编辑器中输入 "toast",然后按下 Tab 键,Android Studio 会在光标位置插入以下代码从而直接编辑。

kotlin 复制代码
Toast.makeText(, "", Toast.LENGTH_SHORT).show()

若要查看和编辑现有模板、修改触发按键或添加自定义模板,可打开 "Settings" 界面,在左侧导航面板的 Editor" 部分中选择 "Live Templates"。

上图中标记为 A 的按钮可以添加、删除、复制或重置模板。若要修改某个模板,从列表(B)中选中它,然后在标记为 C 的面板中修改设置即可。

取消粘滞行

粘滞行是一种一直粘贴在代码页面顶部的代码片段,用来显示代码的缩进或包含情况的一个窗口,并提供快速跳转的功能。

如要取消,打开 "Setting"界面搜索 "sticky",取消勾选 "Show sticky lines while scrolling"。

换行引导线

Show hard wrap guide(显示硬换行引导线)是一个用于控制代码编辑器中是否显示垂直参考线的设置选项。这条线通常出现在编辑器右侧,用于指示代码的换行位置或缩进对齐,但有时可能影响视觉体验。

打开 "Setting" 界面,从设置面板中选择 "Editor → General → Appearance",取消勾选 "Show hard wrap guide..."。

小结

Android Studio 编辑器致力于最大限度减少代码编写时的输入量,并让代码更易于阅读和导航。

本章介绍了编辑器的核心功能,包括代码补全、代码生成、编辑器窗口拆分、代码折叠、代码格式化、文档查询和代码模板等。

相关推荐
阿巴斯甜7 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker8 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq95279 小时前
Andorid Google 登录接入文档
android
黄林晴10 小时前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
冬奇Lab1 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿1 天前
Android MediaPlayer 笔记
android
Jony_1 天前
Android 启动优化方案
android
阿巴斯甜1 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇1 天前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_1 天前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android