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 安装,请执行以下操作:
从 .vsix 文件安装¶
若要下载 .vsix 文件并从该文件安装,请执行以下操作:
下载扩展。
打开 Snowflake Visual Studio Code 扩展 (https://marketplace.visualstudio.com/items?itemName=snowflake.snowflake-vsc) 页面。
选择 Version History 选项卡。
选择要下载的版本,然后点击 Download。 记下文件的下载位置。
打开 Visual Studio Code。
选择 Code » Preferences » Extensions。
从“More”(...) 菜单中选择 Install from VSIX。
在计算机上找到
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,请执行以下操作:
在 Activity Bar 中,点击 Snowflake 图标。
边栏面板将更改为 Snowflake 导航,并显示 Add Account 或 Sign in 对话框。
在 Add Account 下方,输入账户标识符,然后选择 Continue。
仅当之前未指定账户时才会显示 Add Account。
输入所选账户的用户名和密码,然后选择 Sign in。
成功登录后,边栏将改为显示会话上下文 (ACCOUNT)、针对处于默认角色的用户的 DATABASE EXPLORER 和 QUERY 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 配置文件,请执行以下操作:
在 Activity Bar 中,选择 Snowflake 图标。
边栏面板将更改为 Snowflake 导航,并显示 Add Account 或 Sign in 对话框。
选择 Username 下拉列表,然后选择 Sign in to another account。
选择 Use SnowSQL Config。此时将打开 Snowflake Extension for Visual Studio Code 的 Visual Studio 代码设置页,并选中 SnowSQL Config Path。
输入有效 SnowSQL 配置文件的路径。
账户下拉列表将更新,以包含指定配置文件中定义的所有连接。
使用 SQL 文件¶
您可以使用 Snowflake Extension for Visual Studio Code 创建和加载 SQL 文件。SQL 文件是包含一个或多个 SQL 语句的简单文本文件。
打开 SQL 文件¶
要创建或打开 Snowflake SQL 文件,请执行以下操作:
执行命令或查询¶
若要执行一个或多个命令或查询,请执行以下操作:
如果选择多个命令,则命令将按从上到下的顺序执行。
还可以使用键盘快捷键运行语句。选择要运行的 SQL 语句后,在 Mac 键盘上按 + [Enter],或在 Windows 键盘上按 + [Enter]。
您可以在 Output 部分的 SNOWFLAKE:QUERY RESULTS 表中查看 SQL 语句的结果。
使用查询历史记录¶
QUERY HISTORY 中可跟踪查询结果。
若要检查以前执行的查询结果,请执行以下操作:
展开 Query History。
选择语句。
在 Output 窗格的 SNOWFLAKE:QUERY RESULTS 选项卡中检查结果。
处理查询结果¶
您可以对查询结果进行排序、重新排序、隐藏、冻结或保存到磁盘。
若要修改给定查询的显示,请执行以下操作:
在 QUERY HISTORY 中,选择一个查询。
在 QUERY RESULTS 中,选择一列。
选择向下箭头 (↓),然后选择以下选项之一: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 函数,请执行以下操作:
在 Python 函数中编写一个 Snowflake 存储过程,其中第一个参数是 Snowpark
Session
对象。您应该看到函数名称上方出现一个内联 Snowflake: Debug 选项。选择此选项可通过扩展使用当前活动会话在函数中运行存储过程。您还可以设置调试断点。
Python 中 SQL 的语法突出显示和自动完成¶
您可以通过启用自动检测,或使用注释手动表示 SQL 字符串,在 Python 代码中添加 SQL 的语法突出显示。
自动检测 SQL 语句¶
要设置自动 SQL 语法突出显示,请启用 扩展设置 Auto Detect Sql in Python。该扩展可自动检测测 SQL 语句,方法是查找全部为大写字母的 SQL 关键字作为 Python 字符串中的第一个单词,如下方屏幕截图所示。
手动表示 SQL 语句¶
要手动表示 Python 字符串中的 SQL 语句,请执行以下操作:
(可选)禁用 扩展设置 Auto Detect Sql in Python。
使用注释表示 SQL 语句的开始和结束。您可以使用以下标记的任意组合:
起始标记:
-–startsql
、-–beginsql
、-–start-sql
、-–begin-sql
结束标记:
–-endsql
、–-end-sql
例如,下面的屏幕截图显示了使用 --begin-sql
和 --end-sql
手动表示 SQL 语句的代码。
在 Python 字符串中使用 SQL 自动完成¶
要在 Python 字符串中使用 SQL 语句自动完成,请执行以下操作:
在 Python 文件中,创建一个 Python 字符串,同时通过扩展连接到活动的 Snowflake 会话。
开始编写 SQL 语句并查看出现的自动完成建议。
例如,开始编写 SELECT * FROM db1.public
等语句时,扩展会自动建议表名称。
同样,开始在引用表的 SELECT 语句内部填充列时,扩展会自动建议列名称,如下面的屏幕截图所示。
Jinja 模板语法突出显示¶
默认情况下,该扩展在 Snowflake SQL 中为编写 ` Jinja 模板 <https://jinja.palletsprojects.com/en/3.1.x/ (https://jinja.palletsprojects.com/en/3.1.x/)>`_ 添加基本的语法突出显示和括号自动完成,如下图所示。
更改会话上下文¶
您可以使用 Side Bar 面板的 Account 部分来选择角色、数据库、架构和仓库。使用关联的下拉列表进行相应选择。
查看扩展详细信息¶
您可以随时查看 Snowflake SQL Visual Studio Code 扩展信息。
您可以看到有关扩展的以下详细信息,包括:
版本信息:当前安装的扩展版本。
更新日志:有关添加、更改或更新的功能的信息(按版本显示)。
功能讲解。
此外,您可以使用已启用/已禁用下拉列表,禁用或启用扩展。
要查看扩展信息,请执行以下操作:
选择 Code » Preferences » Extensions。
选择 Snowflake VS Code SQL 扩展。
显示更新日志¶
要查看扩展的更新日志,也可以使用 Show Change Log
命令:
在 Mac 键盘上按 CMD+Shift+P 或在 Windows 键盘上按 CTRL+Shift+P 打开 Command Palette。
输入以下命令:
Show Change Log
扩展设置¶
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 语句自动语法突出显示 |
已启用 |
启用公开预览版功能 |
启用扩展的公开预览版功能 |
已禁用 |
更改扩展设置¶
要更改扩展设置,请执行以下操作:
在 Windows/Linux 上,选择 File » Preferences » Settings。. 在 macOS 上,选择 Code » Preferences » Settings。
在 Search settings 文本框中输入 Snowflake。
选择 User 或 Workspace 选项卡,查看或修改特定于用户或工作区的设置。
关闭 Settings 选项卡。
卸载扩展¶
要禁用或卸载扩展,请执行以下操作:
选择 Code » Preferences » Extensions。
选择扩展。
点击鼠标右键,然后选择 Disable 或 Uninstall。