Snowflake Extension for Visual Studio Code¶
Snowflake Visual Studio Code (https://code.visualstudio.com/) (VS Code) 扩展可让您直接在 VS Code 中编写和执行 Snowflake SQL 语句。该扩展还与 Snowpark Python 集成,为 Python 代码中的 SQL 提供调试、语法突出显示和自动完成功能。
您可以从 Visual Studio Marketplace 安装 VS Code 扩展,或者您可以下载并安装 .vsix
文件。
本主题内容:
从 Visual Studio Marketplace 安装 VS¶
从 .vsix 文件安装 VS 代码扩展¶
下载扩展:
前往 https://marketplace.visualstudio.com/items?itemName=snowflake.snowflake-vsc (https://marketplace.visualstudio.com/items?itemName=snowflake.snowflake-vsc)。
点击 Version History 选项卡。
点击 Download 以获得您要安装的 VS Code 版本。记下文件的下载位置。
在 VS Code 中,选择 Code » Settings » Extensions。
点击 More (...) » Install from VSIX。
在计算机上找到
snowflake-x.y.z.vsix
文件的位置,选中该文件,然后选择 Install。安装完成后,Snowflake Extension for Visual Studio Code 将显示在 VS Code Extensions 菜单的 INSTALLED 部分中。
从 VS Code 扩展登录 Snowflake¶
在执行 SQL 语句或使用 Snowpark Python 功能之前,您必须登录 Snowflake 账户。
要从 VS Code 扩展登录 Snowflake,请执行以下操作:
使用您的 Snowflake 账户标识符、用户名和密码。
使用联合身份验证,例如安全断言标记语言 (SAML) 或单点登录 (SSO)。
使用密钥对身份验证。
首次使用 VS Code 扩展登录 Snowflake 时,需要输入 Snowflake 账户的账户标识符或用于连接到 Snowflake 的 URL。要确定您的账户标识符,请参阅 账户标识符。
点击 VS Code 活动栏中的 Snowflake 图标。
在 Account Identifier/URL 字段中,输入 Snowflake 账户的账户标识符或用于连接到 Snowflake 的 URL,然后点击 Continue。
如果您之前提供了您的 Snowflake 账户凭据,则 Account Identifier/URL 字段不可用。
在 Auth Method 列表中,选择以下选项之一:
选择 Single sign-on 以使用您的 SSO 凭据登录 Snowflake.
选择 Username/password 以使用您的 Snowflake 用户名和密码登录 Snowflake。
选择 Key Pair 以使用您的 Snowflake 用户名和密码登录 Snowflake。要了解有关密钥对身份验证的更多详细信息,请参阅 密钥对身份验证和密钥对轮换。
输入您的凭据,然后点击 Sign in。
当您选择 SSO 时,在输入用户名并选择 Sign in with single sign-on 后,会打开一个单独的身份验证页面。输入您的 SSO 凭据,然后返回 VS Code 以完成 Snowflake 登录。
成功登录后,侧边栏会显示您的帐户信息、默认角色、带有 数据库 列表的:ui:
OBJECT EXPLORER
和您的 QUERY HISTORY。
编辑 Snowflake connections.toml
文件¶
您可以在 Snowflake connections.toml
配置文件中添加和修改连接定义。连接定义是指与连接相关的参数的集合。有关如何使用 TOML 文件连接到 Snowflake 的更多信息,请参阅 使用 connections.toml 文件进行连接。
VS Code 扩展界面¶

下表提供了 VS Code 扩展界面功能区域的描述。
项目 |
描述 |
---|---|
1 |
侧边栏面板。包含 账户、对象资源管理器 和 查询历史 窗格。使用此面板指定账户详细信息、检查数据库对象和检查查询结果。 |
2 |
Snowflake SQL 面板。显示 Snowflake SQL 文件。 |
3 |
查询历史记录面板。显示最近的查询。 |
4 |
查询结果面板。显示查询结果。选择一个查询以显示其执行结果。 |
5 |
当前会话。显示当前会话信息,包括当前角色、数据库、架构和活动仓库。 |
使用 VS Code 扩展和 SnowSQL 配置文件¶
Snowflake Extension for Visual Studio Code 可以使用 Snow SQL 配置文件 来加载连接配置。
备注
仅使用连接配置值。其他 SnowSQL 配置值将被忽略。
在 VS Code 搜索字段中,输入
>user settings
,然后选择 Preferences: Open User Settings。在 User 选项卡中,展开 Extensions。
向下滚动并选择 Snowflake。
在右侧窗格中,向下滚动到 Snowsql Config Path。
输入有效 SnowSQL 配置文件的路径。
所有在配置中定义的连接显示在 账户 面板中。
使用 SQL 文件¶
您可以使用 Snowflake Extension for Visual Studio Code 创建和加载 SQL 文件。SQL 文件是包含一个或多个 SQL 语句的文本文件。
打开或创建 SQL 个文件¶
执行命令或查询¶
重要
要显示 Snowflake 查询结果,VS 代码扩展会在每次查询后自动在后台运行 DESC RESULT '<query_id>'
。这个过程使得 LAST_QUERY_ID()
不准确。有关 DESCRIBE RESULT 命令及其参数的更多信息,请参阅 DESCRIBE RESULT。
在 VS 代码中,选择以下选项之一:
要执行特定命令,请将光标放在您想要运行的语句上,然后点击 Execute。
要执行多个命令,请选择您要运行的语句,然后点击 Execute。命令按从上到下的顺序执行。
要使用键盘快捷键执行语句,请选择您想要运行的 SQL 语句,在 Mac 键盘上按 + [enter],或在 Windows 键盘上按
+ [enter]。
执行的 SQL 语句结果显示在 SNOWFLAKE 面板中。
查看查询历史记录¶
处理查询结果¶
您可以对查询结果进行排序、重新排序、隐藏、冻结或保存到磁盘。
使用 Snowpark Python 代码¶
您可以使用 Snowflake Extension for Visual Studio Code 在 Snowpark Python 代码中编写和调试 Snowflake SQL 语句。
调试 Snowpark Python 函数¶
在 Python 函数中编写一个 Snowflake 存储过程,其中第一个参数是 Snowpark
Session
对象。一个内联 Snowflake: Debug 选项出现在函数名称上方。选择此选项可通过扩展使用当前活动会话在函数中运行存储过程。您还可以设置调试断点。
自动检测 SQL 语句¶
要设置自动 SQL 语法突出显示,请启用 扩展设置 Auto Detect Sql in Python。该扩展可自动检测测 SQL 语句,方法是查找全部为大写字母的 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 文件中,创建一个 Python 字符串,同时通过 VS Code 扩展连接到活动的 Snowflake 会话。
编写 SQL 语句。自动完成建议将会出现。
例如,开始编写
SELECT * FROM db1.public
等语句时,扩展会自动建议表名称。同样,开始在引用表的 SELECT 语句内部填充列时,扩展会自动建议列名称,如下图所示。

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

使用 Snowflake Native App Framework¶
您可以使用 VS Code 扩展来创建和管理 Snowflake Native App。有关 Snowflake Native App Framework 的更多信息,请参阅 关于 Snowflake Native App Framework。
创建 Snowflake Native App¶
在 VS Code 中,打开 Snowflake VS Code 扩展并登录到 Snowflake。
展开 NATIVE APP 面板,然后点击 Create new from template。
选择以下选项之一:
输入您要在其中创建 Snowflake Native App 的文件夹名称,然后按 Enter。
按 Enter 接受默认目录作为 Snowflake Native App 的位置。
选择以下选项之一:
输入在其中存储 Snowflake Native App 模板的 GitHub 存储库的 URL,然后按 Enter。
按 Enter 接受默认 GitHub Snowflake Native App 模板存储库 URL。
选择以下模板之一:
选择 basic 来创建一个 Snowflake Native App,其中包含最小的代码示例和指导。
选择 streamlit-python 来创建一个 Snowflake Native App,其中包含 Python 扩展代码和 Streamlit 代码示例。
选择 streamlit-java 来创建一个 Snowflake Native App,其中包含 Java 扩展代码和 Streamlit 代码示例。
选择 spcs-basic 来创建一个 Snowflake Native App,其中包含 SPCS 扩展代码和 Streamlit 代码示例。
部署并打开一个 Snowflake Native App¶
在使用 Run (deploy and re-install) 或 Deploy 选项时,将会使用 NATIVE APP 窗格中列出的第一个 snowflake.yml
文件。当多个 snowflake.yml
文件可用时,会出现提示,您可以选择要用于部署的 snowflake.yml
文件。
在您部署您的 Snowflake Native App 后,您可以在 Snowflake 中打开它以管理访问、查看、添加和验证应用程序包、查看日志和事件,以及修改权限。
选择以下选项之一:
在 VS Code 扩展 NATIVE APP 窗格中,点击 Run (deploy and re-install)。这是在您进行了重大更改并且需要应用对象时推荐的选项。
在 VS Code 扩展 NATIVE APP 窗格中,点击 Deploy。这是在部署应用程序包和暂存文件并且不需要应用程序对象时推荐的选项。
(可选)点击查询结果面板中的 OUTPUT 选项卡以查看部署进度。
在 NATIVE APP 窗格中,点击 Open。
查看 Snowflake Native App 应用程序对象状态¶
在 VS Code 扩展 NATIVE APP 面板中,展开您的应用程序。
未安装的应用程序对象是蓝色的。
启用调试模式¶
使用调试模式显示对消费者不可见的应用程序对象。例如,共享内容对象或未授予特定数据库角色的对象。有关调试模式以及以编程方式开启它的更多信息,请参阅 启用调试模式。
在 VS Code 扩展 NATIVE APP 窗格中,点击 Debug Mode。
点击 Enable Debug Mode。
选择 Enable debug mode for all Native Apps operations。
删除 Snowflake Native App 包和应用程序对象¶
使用 Teardown 选项来删除在解析的项目定义中定义的应用程序对象和包。
在 VS Code 扩展 NATIVE APP 窗格中,点击 Teardown。当拆卸完成时,会出现确认消息。
更改会话上下文¶
您可以使用 Side Bar 面板的 Account 部分来选择角色、数据库、架构和仓库。使用关联的下拉列表进行相应选择。
使用账户下拉列表登录,或在不同账户之间切换。
管理暂存区内容¶
Snowflake Extension for Visual Studio Code 支持直接在对象资源管理器中管理暂存区内容。
列出暂存区中的所有文件¶
在 VS Code OBJECT EXPLORER 中,导航到一个暂存区。
展开暂存区以查看所有暂存文件。
将文件从本地文件系统上传到暂存区¶
Snowflake Extension for Visual Studio Code 仅支持内部暂存区的上传,所有其他操作对内部和外部暂存区均适用。
输入上传操作的可选参数。有关可选参数的列表,请参阅 PUT。
导航到包含上传文件的文件夹,然后选择一个或多个文件并上传。
将文件从暂存区下载到本地文件系统¶
从暂存区移除文件¶
另请参阅 REMOVE。
VS Code 扩展设置¶
下表列出了 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 |
如果设置,将从此文件加载连接配置。 |
未设置 |
Autocomplete Object Details |
选择 Snowflake 对象的自动完成条目后显示其详细信息 |
已禁用 |
Set Client Session Keep Alive |
指定是否在连接处于活动状态时无限期保持会话处于活动状态,而不考虑活动。如果未启用,您必须在四个小时不活动后再次登录。 |
已启用 |
Autocomplete Variant Keys |
显示 OBJECT/VARIANT 键自动完成建议 |
已禁用 |
Object Explorer: Search |
在对象资源管理器中启用搜索 |
已启用 |
Query History: Item Limit |
指定历史记录中显示的最大查询数。显示更多查询可能会影响性能。 |
1000 |
VS Code 扩展预览设置¶
下表列出了 VS Code 扩展预览设置。
设置 |
描述 |
默认值 |
---|---|---|
语法突出显示:Python 中的自动检测 Sql |
启用 Python 字符串中的 SQL 语句自动语法突出显示 |
已启用 |
Enable Public Preview Features |
启用扩展的公开预览版功能 |
已禁用 |
更改 VS Code 扩展设置¶
选择以下选项之一:
在 Windows/Linux 上,选择 File » Preferences » Settings。
在 macOS 上,选择 Code » Settings » Settings。
在 Search settings 字段中,输入 Snowflake。
选择 User 或 Workspace 选项卡,查看或修改特定于用户或工作区的设置。
关闭 Settings 选项卡。
显示 VS Code 扩展的更改日志¶
按 CMD+Shift+P (Mac) 或 CTRL+Shift+P (Windows)。
输入以下命令:
Show Change Log
卸载 VS Code 扩展¶
选择 Code » Settings » Extensions
选择扩展。
点击鼠标右键,然后选择 Disable 或 Uninstall。