Snowflake Extension for Visual Studio Code

Snowflake 提供适用于 Visual Studio Code (https://code.visualstudio.com/) ( VS Code) 的扩展,方便 Snowflake 用户直接在 VS Code 中编写和执行 Snowflake SQL 语句。该扩展还与 Snowpark Python 集成,为 Python 代码中的 SQL 提供调试、语法突出显示和自动完成功能。

扩展是预先打包的功能,通常由第三方提供,可向 VS Code 添加新的特性和功能。

本主题内容:

安装 Snowflake Extension for Visual Studio Code

Snowflake 用户可以直接从 Visual Studio Marketplace 安装 VS Code 扩展,或下载打包为 .xsix 文件的扩展,然后进行安装。

从 Visual Studio Marketplace 安装

若要直接从 Visual Studio Marketplace 安装,请执行以下操作:

  1. 打开 Visual Studio Code。

  2. 选择 Code » Preferences » Extensions

    您还可以选择 View » Extensions 或点击 VS Code Activity Bar 中的扩展按钮 扩展按钮

  3. Search Extensions 文本框中,输入文本 Snowflake 来搜索 Snowflake Visual Studio 扩展。

  4. 从扩展集中,选择由 Snowflake 编写的扩展,然后点击 Install

从 .vsix 文件安装

若要下载 .vsix 文件并从该文件安装,请执行以下操作:

  1. 下载扩展。

    1. 打开 Snowflake Visual Studio Code 扩展 (https://marketplace.visualstudio.com/items?itemName=snowflake.snowflake-vsc) 页面。

    2. 选择 Version History 选项卡。

    3. 选择要下载的版本,然后点击 Download。 记下文件的下载位置。

  2. 打开 Visual Studio Code。

  3. 选择 Code » Preferences » Extensions

    您还可以选择 View » Extensions 或点击 Activity Bar 中的扩展按钮 扩展按钮

  4. 从“More”(...) 菜单中选择 Install from VSIX

  1. 在计算机上找到 snowflake-x.y.z.vsix 文件,选中该文件,然后选择 Install

安装完成后,Snowflake Extension for Visual Studio Code 将显示在 VS Code Extensions 菜单的 INSTALLED 部分中。

登录

在执行 SQL 语句或使用 Snowpark Python 功能之前,您必须登录 Snowflake 账户。

您可以使用 Snowflake 账户标识符、用户名和密码登录 Snowflake,也可以使用联合身份验证通过 SAML SSO 登录 Snowflake。

首次从 VS Code 扩展登录 Snowflake 时,需要输入 Snowflake 账户的账户标识符或用于连接到 Snowflake 的 URL 来添加账户。

有关如何确定账户标识符的详细信息,请参阅 账户标识符

要从 VS Code 扩展登录 Snowflake,请执行以下操作:

  1. Activity Bar 中,点击 Snowflake 图标。

    边栏面板将更改为 Snowflake 导航,并显示 Add AccountSign in 对话框。

  2. Add Account 下方,输入账户标识符,然后选择 Continue

    仅当之前未指定账户时才会显示 Add Account

  1. 输入所选账户的用户名和密码,然后选择 Sign in

成功登录后,边栏将改为显示会话上下文 (ACCOUNT)、针对处于默认角色的用户的 DATABASE EXPLORERQUERY HISTORY

将 Snowflake Extension for Visual Studio Code 与 SnowSQL 配置文件一起使用

Snowflake Extension for Visual Studio Code 可以使用 Snow SQL 配置文件 来加载连接配置。

备注

仅使用连接配置值。其他 SnowSQL 配置值将被忽略。

要配置 Snowflake Extension for Visual Studio Code 以使用 Snow SQL 配置文件,请执行以下操作:

  1. Activity Bar 中,选择 Snowflake 图标。

    边栏面板将更改为 Snowflake 导航,并显示 Add AccountSign in 对话框。

  2. 选择 Username 下拉列表,然后选择 Sign in to another account

  3. 选择 Use SnowSQL Config。此时将打开 Snowflake Extension for Visual Studio Code 的 Visual Studio 代码设置页,并选中 SnowSQL Config Path

  4. 输入有效 SnowSQL 配置文件的路径。

账户下拉列表将更新,以包含指定配置文件中定义的所有连接。

使用 SQL 文件

您可以使用 Snowflake Extension for Visual Studio Code 创建和加载 SQL 文件。SQL 文件是包含一个或多个 SQL 语句的简单文本文件。

打开 SQL 文件

要创建或打开 Snowflake SQL 文件,请执行以下操作:

  1. 选择 File » Open,导航到包含 SQL 的文本文件并打开。

    如果没有现有 SQL 文件,可以创建一个新文件。选择 File » New File,创建一个类型为 Snowflake SQL File 的文件。或者,在数据库资源管理器面板中选择 (新建 SQL 文件按钮),创建新的 SQL 文件。

  2. 将一个或多个 Snowflake SQL 语句添加到文件中。

  3. 选择一行,然后点按该行上方的 [Execute] 以执行命令。

执行命令或查询

若要执行一个或多个命令或查询,请执行以下操作:

  1. 选择所选 SQL 文件的 执行所有语句按钮,执行该文件中的所有语句。

  2. 将光标放在要运行的语句上来选择要运行的行。

    选择两个或多个命令 – 将执行所有选定的命令。

  3. 点击所选第一个命令上方的[执行]按钮。

如果选择多个命令,则命令将按从上到下的顺序执行。

还可以使用键盘快捷键运行语句。选择要运行的 SQL 语句后,在 Mac 键盘上按 Apple OSX 命令键。 + [Enter],或在 Windows 键盘上按 通用控制键。 + [Enter]。

您可以在 Output 部分的 SNOWFLAKE:QUERY RESULTS 表中查看 SQL 语句的结果。

小技巧

可以取消正在进行的查询。若要取消正在进行的查询,请在 QUERY HISTORY 中找到该查询,然后选择“取消查询”(取消查询按钮)。

使用查询历史记录

QUERY HISTORY 中可跟踪查询结果。

若要检查以前执行的查询结果,请执行以下操作:

  1. 展开 Query History

  2. 选择语句。

  3. Output 窗格的 SNOWFLAKE:QUERY RESULTS 选项卡中检查结果。

小技巧

您可以使用 Query History 重新运行查询 (重新运行查询按钮)、将查询文本复制到剪贴板 (将查询文本复制到剪贴板按钮) 或删除查询 (删除查询按钮)。

处理查询结果

您可以对查询结果进行排序、重新排序、隐藏、冻结或保存到磁盘。

若要修改给定查询的显示,请执行以下操作:

  1. QUERY HISTORY 中,选择一个查询。

  2. QUERY RESULTS 中,选择一列。

  3. 选择向下箭头 (↓),然后选择以下选项之一:SORT A-Z (降序)、Sort Z-A (升序)、Hide column "column name"Freeze columns up to "column name"

内容显示将相应更改。

小技巧

如果之前隐藏了某一列,请选择任何其他列,然后选择 Unhide N columns

若要将查询结果保存到磁盘,请选择与该查询关联的磁盘 (下载结果按钮) 或下载 (保存结果按钮)。内容将保存在文件中,可以是压缩的 gzip,也可以是逗号分隔的文件。

使用 Snowpark Python 代码

您可以使用 Snowflake Extension for Visual Studio Code 在 Snowpark Python 代码中编写和调试 Snowflake SQL 语句。

调试 Snowpark Python 函数

要调试 Snowpark Python 函数,请执行以下操作:

  1. 在 Python 函数中编写一个 Snowflake 存储过程,其中第一个参数是 Snowpark Session 对象。

  2. 您应该看到函数名称上方出现一个内联 Snowflake: Debug 选项。选择此选项可通过扩展使用当前活动会话在函数中运行存储过程。您还可以设置调试断点。

Python 中 SQL 的语法突出显示和自动完成

您可以通过启用自动检测,或使用注释手动表示 SQL 字符串,在 Python 代码中添加 SQL 的语法突出显示。

自动检测 SQL 语句

要设置自动 SQL 语法突出显示,请启用 扩展设置 Auto Detect Sql in Python。该扩展可自动检测测 SQL 语句,方法是查找全部为大写字母的 SQL 关键字作为 Python 字符串中的第一个单词,如下方屏幕截图所示。

Python 字符串中的 Snowflake SQL 语句代码段,显示自动 SQL 语法突出显示。

手动表示 SQL 语句

要手动表示 Python 字符串中的 SQL 语句,请执行以下操作:

  1. (可选)禁用 扩展设置 Auto Detect Sql in Python

  2. 使用注释表示 SQL 语句的开始和结束。您可以使用以下标记的任意组合:

    • 起始标记:-–startsql-–beginsql-–start-sql-–begin-sql

    • 结束标记:–-endsql–-end-sql

例如,下面的屏幕截图显示了使用 --begin-sql--end-sql 手动表示 SQL 语句的代码。

Python 字符串中的 Snowflake SQL 语句代码段,使用注释手动启用 SQL 语法突出显示。

在 Python 字符串中使用 SQL 自动完成

要在 Python 字符串中使用 SQL 语句自动完成,请执行以下操作:

  1. 在 Python 文件中,创建一个 Python 字符串,同时通过扩展连接到活动的 Snowflake 会话。

  2. 开始编写 SQL 语句并查看出现的自动完成建议。

例如,开始编写 SELECT * FROM db1.public 等语句时,扩展会自动建议表名称。

同样,开始在引用表的 SELECT 语句内部填充列时,扩展会自动建议列名称,如下面的屏幕截图所示。

Python 字符串中的 Snowflake SQL 语句代码段,显示对列名的自动完成建议。

Jinja 模板语法突出显示

默认情况下,该扩展在 Snowflake SQL 中为编写 ` Jinja 模板 <https://jinja.palletsprojects.com/en/3.1.x/ (https://jinja.palletsprojects.com/en/3.1.x/)>`_ 添加基本的语法突出显示和括号自动完成,如下图所示。

Snowflake SQL 语句的代码段,其中包含显示语法突出显示和括号自动完成的 Jinja 模板。

更改会话上下文

您可以使用 Side Bar 面板的 Account 部分来选择角色、数据库、架构和仓库。使用关联的下拉列表进行相应选择。

小技巧

使用账户下拉列表登录,或在不同账户之间切换。

登录账户或在账户之间切换。

查看扩展详细信息

您可以随时查看 Snowflake SQL Visual Studio Code 扩展信息。

您可以看到有关扩展的以下详细信息,包括:

  • 版本信息:当前安装的扩展版本。

  • 更新日志:有关添加、更改或更新的功能的信息(按版本显示)。

  • 功能讲解。

此外,您可以使用已启用/已禁用下拉列表,禁用或启用扩展。

要查看扩展信息,请执行以下操作:

  1. 选择 Code » Preferences » Extensions

  2. 选择 Snowflake VS Code SQL 扩展。

    您还可以选择 View » Extensions 或点击 Activities 栏中的扩展按钮 扩展按钮

显示更新日志

要查看扩展的更新日志,也可以使用 Show Change Log 命令:

  1. 在 Mac 键盘上按 CMD+Shift+P 或在 Windows 键盘上按 CTRL+Shift+P 打开 Command Palette

  2. 输入以下命令:

    Show Change Log
    
    Copy

扩展设置

Snowflake Extension for Visual Studio Code 支持以下设置:

设置

描述

默认值

Export CSV » Delimiter

指定列的分隔符

逗号

Export CSV » Header

在导出的 CSV 文件中包含标题行

已启用

Export CSV » Include Empty Rows

在导出的 CSV 文件中包含空行

不包含

Export CSV » Quotes

在导出的 CSV 文件中的所有值周围使用双引号

已启用

Highlight Query

将当前 SQL 语句的背景突出显示

已启用

Show Execute Above Statement

对每个语句启用可点击的执行操作

已启用

Snowsql Config Path

如果设置,将从此文件加载连接配置。

未设置

自动完成对象详细信息

选择 Snowflake 对象的自动完成条目后显示其详细信息

已禁用

设置客户端会话保持活动状态

指定是否在连接处于活动状态时无限期保持会话处于活动状态,而不考虑活动。如果未启用,您必须在四个小时不活动后再次登录。

已启用

自动完成变体键

显示 OBJECT/VARIANT 键自动完成建议

已禁用

对象资源管理器:搜索

在对象资源管理器中启用搜索

已启用

查询历史记录:项目限制

指定历史记录中显示的最大查询数。显示更多查询可能会影响性能。

1000

预览中的扩展设置

以下扩展设置当前可用于预览:

设置

描述

默认值

语法突出显示:Python 中的自动检测 Sql

启用 Python 字符串中的 SQL 语句自动语法突出显示

已启用

启用公开预览版功能

启用扩展的公开预览版功能

已禁用

更改扩展设置

要更改扩展设置,请执行以下操作:

  1. 在 Windows/Linux 上,选择 File » Preferences » Settings. 在 macOS 上,选择 Code » Preferences » Settings

  2. Search settings 文本框中输入 Snowflake

  3. 选择 UserWorkspace 选项卡,查看或修改特定于用户或工作区的设置。

  4. 关闭 Settings 选项卡。

卸载扩展

要禁用或卸载扩展,请执行以下操作:

  1. 选择 Code » Preferences » Extensions

  2. 选择扩展。

  3. 点击鼠标右键,然后选择 DisableUninstall

语言: 中文