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 选项卡。
针对您要安装的 VS Code 扩展版本选择 Download。记下文件的下载位置。
在 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 Native App Framework 功能之前,您必须登录 Snowflake 账户。
使用 VS Code 扩展登录 Snowflake 的方法:
使用您的 Snowflake 账户标识符、用户名和密码。
使用联合身份验证,例如安全断言标记语言 (SAML) 或单点登录 (SSO)。
使用密钥对身份验证。
在
connections.toml
配置文件中使用 OAuth 身份验证。请参阅 编辑 Snowflake connections.toml 文件。
首次使用 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 登录。
成功登录后,侧边栏会显示您的帐户信息、默认角色、带有 数据库 列表的 OBJECT EXPLORER 和您的 QUERY HISTORY。
编辑 Snowflake connections.toml
文件¶
您可以在 Snowflake connections.toml
配置文件中添加和修改连接定义。连接定义是指与连接相关的参数的集合。
要使用 TOML 文件连接到 Snowflake,请参阅 使用 connections.toml 文件进行连接。要了解有关使用 TOML 文件管理连接的更多信息,请参阅 管理 Snowflake 连接。
VS Code 扩展界面¶

下表提供了 VS Code 扩展界面功能区域的描述。
项目 |
描述 |
---|---|
1 |
侧边栏窗格包含 Account、Native App、Object Explorer 和 Query History 窗格。使用此窗格可指定账户详细信息、检查数据库对象,以及检查查询结果。 |
2 |
使用 Snowflake Native App 窗格创建和管理 Snowflake Native App。 |
3 |
Query History 窗格显示最近的查询。 |
4 |
当前会话信息,包括当前角色、数据库、架构和活动仓库。 |
5 |
Snowflake SQL 窗格。显示 Snowflake SQL 文件。 |
6 |
Query Results 窗格显示查询结果。选择一个查询以显示其执行结果。 |
使用 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 配置文件的路径。
在配置中定义的所有连接显示在 Account 窗格中。
使用 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 来创建、加载和执行 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。
备注
要确保您拥有最新的 VS Code 扩展 Snowflake Native App 功能,Snowflake 建议升级到最新版本的 Snowflake CLI。请参阅 安装 Snowflake CLI。
支持 Snowflake CLI 2.2.X 和 3.X.X 版本。
查看 VS Code 扩展 Snowflake Native App 命令面板¶
VS Code 扩展 Snowflake Native App 命令面板提供对以下 Snowflake Native App 命令的访问:
创建原生应用程序
部署原生应用程序
关注原生应用程序视图
打开原生应用程序
运行(部署并重新安装)原生应用程序
拆解原生应用程序
要访问这些命令,请在 VS Code 窗口顶部的搜索字段中键入 >Snowflake Native
。
创建 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。
输入本地模板文件夹的路径。
要接受默认 GitHub Snowflake Native App 模板存储库 URL,请选择 Enter。
选择以下模板之一:
选择 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 Native App 应用程序可用时,系统会显示提示,您可以选择将哪个 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 应用程序对象状态¶
备注
Snowflake Native App 应用程序对象状态在 Snowflake CLI 版本 3.0.0 中不可用。
在 VS Code 扩展 NATIVE APP 面板中,展开您的应用程序。
蓝色字体和蓝色圆圈表示尚未安装或部署应用程序对象。
查看 Snowflake Environment Variables Manager¶
使用 Snowflake Environment Variables Manager 在环境变量配置文件中创建和管理环境变量。您可以使用环境变量配置文件在 Snowflake Native App 项目定义文件中自定义对象行为。例如,您可以创建环境变量配置文件,以更改开发、暂存和生产环境中的对象行为。有关环境变量和 Snowflake 连接的更多信息,请参阅 项目定义文件。
使用以下方法之一查看 Snowflake Environment Variables Manager:
在 VS Code 扩展 NATIVE APP 窗格中,选择 Environment Variables。
在命令面板中,选择
Open Environment Variables Manager
。
将环境变量添加到环境变量配置文件¶
环境变量配置文件存储环境变量。
在 VS Code 扩展 NATIVE APP 窗格中,选择 Environment Variables。
在 Selected Profile 列表中,选择一个配置文件。
在 Environment Variable 列中,输入一个环境变量。
在 Value 列中,输入环境变量的值。
可选:要将其他环境变量添加到环境变量配置文件,请重复第 3 步和第 4 步。
可选:要将其他行添加到环境变量配置文件,请选择 + (Add Row)。
添加环境变量配置文件¶
环境变量配置文件存储环境变量。要在 Snowflake Native App 项目定义文件中自定义对象行为,请创建一个新的配置文件。
在 VS Code 扩展 NATIVE APP 窗格中,选择 Environment Variables。
选择 Add Profile。
输入配置文件的名称,然后按 Enter。
向环境变量配置文件添加行¶
要添加环境变量,请向环境变量配置文件添加行。
在 VS Code 扩展 NATIVE APP 窗格中,选择 Environment Variables。
在 Selected Profile 列表中选择配置文件。
选择 + (Add Row)。
重命名环境变量配置文件¶
在 VS Code 扩展 NATIVE APP 窗格中,选择 Environment Variables。
在 Selected Profile 列表中选择配置文件。
选择 Rename Profile。
输入配置文件的名称,然后按 Enter。
删除环境变量配置文件¶
在 VS Code 扩展 NATIVE APP 窗格中,选择 Environment Variables。
在 Selected Profile 列表中选择配置文件。
选择 Delete Profile。
启用 Snowflake Native App 调试模式¶
使用调试模式可查看对使用者不可见的应用程序对象,例如共享内容对象或未授予特定数据库角色的对象。有关调试模式以及以编程方式开启它的更多信息,请参阅 启用调试模式。
在 VS Code 扩展 NATIVE APP 窗格中,选择 App Debug Mode: OFF。
删除 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 设置。
设置 |
描述 |
默认值 |
---|---|---|
Autocomplete Object Details |
选择 Snowflake 对象的自动完成条目后显示其详细信息 |
已禁用 |
Autocomplete Variant Keys |
显示 OBJECT/VARIANT 键自动完成建议 |
已禁用 |
连接配置文件 |
指定 |
未设置 |
启用基于频率的完成 |
启用基于频率的自动完成建议 |
已启用 |
启用原生应用程序面板 |
启用 Snowflake Native App 窗格 |
已禁用 |
Export CSV > Delimiter |
指定列的分隔符 |
逗号 |
Export CSV > Header |
在导出的 CSV 文件中包含标题行 |
已启用 |
Export CSV > Include Empty Rows |
在导出的 CSV 文件中包含空行 |
不包含 |
Export CSV > Quotes |
在导出的 CSV 文件中的所有值周围使用双引号 |
已启用 |
Highlight Query |
将当前 SQL 语句的背景突出显示 |
已启用 |
原生应用程序:激活 Snowflake CLI 调试 |
为 Snowflake CLI 操作启用调试模式 (Snowflake Native App) |
已禁用 |
Object Explorer: Search |
在对象资源管理器中启用搜索 |
已启用 |
Query History: Item Limit |
指定历史记录中显示的最大查询数。显示更多查询可能会影响性能。 |
1000 |
Set Client Session Keep Alive |
指定是否在连接处于活动状态时无限期保持会话处于活动状态,而不考虑活动。如果未启用,您必须在四个小时不活动后再次登录。 |
已启用 |
Set HTTP Agent Keep Alive |
为请求启用 Node.js 驱动程序套接字重用 |
已启用 |
Show Execute Above Statement |
在每个语句上面启用可选择的执行操作 |
已启用 |
Skip Native App Support Message |
在检测到 Snowflake Native App 项目时隐藏支持消息 |
已禁用 |
Skip YAML Support Message |
隐藏 YAML 扩展建议消息 |
已禁用 |
Snowsql Config Path |
如果设置,将从此文件加载连接配置。 |
未设置 |
Syntax Highlighting: Auto Detect SQL In Python |
在 Python 字符串中启用 SQL 语句语法突出显示 |
已启用 |
VS Code 扩展预览设置¶
下表列出了 VS Code 扩展预览设置。
设置 |
描述 |
默认值 |
---|---|---|
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。