本文介绍可用于帮助你导航 Databricks 笔记本和文件编辑器的函数,包括键盘快捷方式、代码建议和自动完成、变量检查和代码折叠。
可以从一系列编辑器主题中进行选择。 选择“视图”>“编辑器”主题,并从菜单中进行选择。
若要显示键盘快捷方式,请选择 帮助 > 键盘快捷方式。 可用的键盘快捷键取决于光标是否位于代码单元格中:如果位于代码单元格中则为编辑模式,否则为命令模式。
可以使用命令面板在笔记本中快速执行操作。 若要打开笔记本操作面板,请单击工作区右下角的 ,或使用 MacOS 上的快捷 Cmd + Shift + P,或在 Windows 上 Ctrl + Shift + P。
若要在笔记本中查找和替换文本,请选择 “编辑” > “查找和替换”。 当前匹配项以橙色突出显示,所有其他匹配项以黄色突出显示。
若要替换当前匹配项,请单击 替换。 若要替换笔记本中的所有匹配项,请单击“全部替换”。
若要在匹配项之间移动,请单击 “上一” 按钮,然后单击 “下一” 按钮。 还可以按“Shift+Enter”和“Enter”,分别转到上一个和下一个匹配项。
若要关闭查找和替换工具,请单击 或按 esc。
若要显示有关在 SQL 或 Python 笔记本中定义的变量的信息,请将光标悬停在变量名称上。 Python 变量检查需要 Databricks Runtime 12.2 LTS 或更高版本。
请参阅 变量查看器。
当 Python 笔记本附加到群集时,可以快速转到变量、函数或 %run
语句背后的代码的定义。 要执行此操作,请右键单击变量或函数名称,然后单击“转到定义”或“速览定义”。
按住 macOS 上的 Cmd 键或 Windows 上的 Ctrl 键,然后将鼠标悬停在变量或函数名称上。 如果找到定义,则名称将变为超链接。
Databricks Runtime 12.2 LTS 及更高版本中提供了“转到定义”功能。
使用代码折叠可以暂时隐藏部分代码。 这在处理长代码块时很有用,因为这样可以专注于你正在处理的特定代码部分。
若要隐藏代码,请将光标放在单元格的最左侧。 在可以隐藏代码部分的逻辑点处会显示向下箭头。 单击箭头可隐藏代码部分。 再次单击箭头(现已变为向右箭头)可显示代码。
有关更多详细信息(包括快捷键),请参阅 VS Code 文档。
可以创建多个光标以方便同时进行编辑,如以下视频中所示:
若要在一个单元格中创建多个光标,请执行以下操作:
- 在 macOS 上,按住
Option
键并单击每个位置以添加一个光标。 - 在 Windows 上,按住
Alt
键并单击每个位置以添加一个光标。 - 还可以选择更改快捷方式。 请参阅更改多光标和列选择的快捷方式。
在 macOS 上,可以使用键盘快捷方式 Option
+Command
+ 向上或向下箭头键来创建多个垂直对齐的光标。
若要选择列中的多个项,请单击要捕获的区域的左上角。 然后:
- 在 macOS 上,按
Shift
+Option
并向右下角拖动以捕获一列或多列。 - 在 Windows 上,按
Shift
+Alt
并向右下角拖动以捕获一列或多列。 - 还可以选择更改快捷方式。 请参阅更改多光标和列选择的快捷方式。
可以将另一种快捷方式用于多光标和列(框)选择。 使用替代选择,快捷方式会发生如下变化:
- 若要在一个单元格中创建多个光标,请执行以下操作:
- 在 macOS 上,按住
Cmd
键并单击每个位置以添加一个光标。 - 在 Windows 上,按住
Ctrl
键并单击每个位置以添加一个光标。
- 在 macOS 上,按住
- 若要选择列中的多个项,请单击要捕获的区域的左上角。 然后:
- 在 macOS 上,按
Option
并向右下角拖动以捕获一列或多列。 - 在 Windows 上,按
Alt
并向右下角拖动以捕获一列或多列。
- 在 macOS 上,按
若要启用备用快捷方式,请执行以下操作:
在工作区右上角单击你的用户名,然后在下拉列表中单击“设置”。
在“设置”边栏中,选择“开发人员”。
在“代码编辑器”部分中,将“多光标单击的键修饰符”设置更改为“Alt”(适用于 macOS)或“Ctrl”(适用于 Windows)。
启用备用快捷方式时,用于创建垂直对齐的多个光标的键盘快捷方式不会更改。
使用架构浏览器浏览可用于笔记本的 Unity 目录对象。 单击笔记本左侧 打开架构浏览器。
为你按钮仅显示在当前会话中使用的或以前标记为收藏的对象。
在 筛选器 框中键入文本时,显示将更改为仅显示包含您键入的文本的对象。 仅显示当前打开或已在当前会话中打开的对象。 “筛选器”框不会完全搜索可用于笔记本的目录、架构、表和卷。
若要打开 kebab 菜单,请如下所示将光标悬浮在对象的名称上:
架构浏览器中的
如果对象是表,可以执行以下操作:
- 自动创建并运行单元格以显示表中数据的预览。 从表的 kebab 菜单中选择在“新单元格中预览”。
- 在目录资源管理器中查看目录、架构或表。 从 kebab 菜单中选择“在目录资源管理器中打开”。 此时会打开一个新选项卡,其中显示了所选对象。
- 获取目录、架构或表的路径。 从对象的 kebab 菜单中选择“复制...路径”。
- 将表添加到收藏夹。 从表的 kebab 菜单中选择“添加到收藏夹”。
如果该对象是目录、架构或卷,则你可以复制该对象的路径,或在目录资源管理器中将其打开。
若要直接在单元格中插入表或列名,请执行以下操作:
在单元格中你想要输入名称的位置单击光标。
将光标移到架构浏览器中的表名或列名上。
单击出现在项对象名称右侧的双箭头
。
若要在笔记本中打开 Web 终端,请单击 右侧栏底部。
从 Databricks Runtime 15.0 开始,可以从笔记本中的 Web 终端使用 Databricks CLI。
- 笔记本必须附加到 专用 (以前是单个用户)或 无隔离共享 访问模式的群集。
- CLI 在已启用了专用链接的工作区中不可用。
已安装的 CLI 始终是最新版本。 身份验证基于当前用户。
不能从笔记本单元使用 CLI。 在笔记本中,%sh databricks ...
等命令不适用于 Databricks Runtime 15.0 或更高版本。
当你键入代码段时,自动完成会自动补全代码。 可完成的对象包括类型、类和对象,以及 SQL 数据库、表名称和 查询代码段。 Databricks 使用 Unity Catalog 元数据和使用情况来个性化建议。
- 对于 Python 单元格,笔记本必须附加到群集才能自动完成工作,并且必须运行定义可完成对象的所有单元。
- 对于 SQL 单元格,自动完成会建议关键字和基本语法,即使笔记本未附加到任何计算资源也是如此。
- 如果为 Unity Catalog 启用了工作区,则自动完成还会为 Unity Catalog 中的表建议目录、架构、表和列名称。
- 如果未为 Unity Catalog 启用工作区,则必须将笔记本附加到群集或 SQL 仓库来建议表或列名。
当你在单元格中键入时,自动完成建议会自动显示。 使用向上和向下箭头键或鼠标选择一项建议,然后按 Tab 或 Enter 将选择的项插入到单元格中。
注意
在执行命令的过程中,会阻止 R 笔记本中的服务器自动完成功能。
有两项用户设置需要注意:
- 若要关闭自动完成建议,请切换“在键入时自动完成”。 当自动完成功能关闭时,可以通过按“Ctrl + 空格键”来显示自动完成建议。
- 若要防止 Enter 键插入自动完成建议,请切换“Enter 键接受自动完成建议”。
在圆括号、方括号或大括号附近单击时,编辑器会突出显示该字符及其匹配的括号。
Databricks 笔记本支持以下错误突出显示:
-
Python 语法错误突出显示:Python 代码单元格中的任何语法错误都以红色突出显示。 如果可能,助手会为你建议快速修复。 这支持运行 Databricks Runtime 12.1 及更高版本或无服务器计算的计算。 可以使用
pyproject.toml
文件配置语法错误突出显示。 请参阅 配置 Python 语法高亮。 - Python 格式错误高亮显示:根据严重程度,Python 代码的格式错误和警告会分别用黄色或红色下划线标出。 这有助于识别格式问题,例如意外缩进、长行长度等。 将鼠标悬停在语法警告消息上可查看详细信息。 这支持运行 Databricks Runtime 12.1 及更高版本或无服务器计算的计算。
- Python 类型错误突出显示:类型检查可以提高 Python 和 PySpark 项目中的代码质量、可读性和可维护性。 类型检查器可以标记与不存在的属性、缺失参数和函数调用中不匹配的参数相关的错误,然后再执行代码。 将鼠标悬停在突出显示的警告上以查看详细信息。 这支持运行 Databricks Runtime 16.0 及更高版本或无服务器环境 2 的计算。
若要启用或禁用错误突出显示,请执行以下作:
在工作区右上角单击你的用户名,然后在下拉列表中单击“设置”。
在“设置”边栏中,选择“开发人员”。
切换 Python 语法错误突出显示 的设置(在 代码编辑器下)、 Python 格式错误突出显示 (在 实验功能下)和/或 Python 类型错误突出显示 (在 实验功能下)。
当笔记本连接到运行 Databricks Runtime 16.4 或以上版本或 Client 3.0 或以上版本的 群集时,可以通过创建 pyproject.toml
文件自定义语法高亮的行为。 对于给定的笔记本,将使用工作区文件系统中其直接上级路径中最近的 pyproject.toml
文件。 如果在上级路径中找不到一个 pyproject.toml
文件,则将使用当前用户的主文件夹中的文件。
例如,如果你有一个路径为a/b/c/d/notebook.py
的笔记本,并且在pyproject.toml
和a/b/pyproject.toml
有a/b/c/pyproject.toml
文件,那么将使用第二个文件,因为它更接近。 在pyproject.toml
的/a/b/c/e/pyproject.toml
文件不会被考虑,因为它不在直接父路径中。
Azure Databricks 对 pyproject.toml
文件使用标准语法。 例如,可以参考 Ruff 文档 ,了解如何使用 pyproject.toml
文件配置 Ruff linter。
目前,Azure Databricks 仅支持通过ruff
配置pylint
、pyright
、flake8
和pyproject.toml
以进行代码检查。
若要启用 linter, pyproject.toml
文件需要有一个 [tool.<name-of-linter>]
块。
若要显式禁用 linter,请添加以下块:
[tool.<name-of-linter>]
disabled=true
您还可以通过使用代码块来禁用 Azure Databricks 编写的语法高亮规则,例如:
[tool.databricks]
disabled_rules = ['DB01', 'DB03']
由于 Flake8 需要采用不同格式的配置,因此必须以字符串的形式传入 Flake8 的配置:
[tool.flake8]
config = """ \
[flake8] \
extend_ignore = E303 \
"""
可以在新的 SQL 编辑器和笔记本编辑器中自定义 SQL 格式设置。 单击“ 查看 > 开发人员设置”。 向下滚动到 SQL 格式 并指定设置。