你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

参考:适用于 Visual Studio Code 的 Azure Quantum 开发工具包扩展

使用 .qs 文件时,Azure Quantum 开发工具包(QDK)使用 Visual Studio (VS) Code 的所有标准功能以及特定于 Q# 的功能。 本文是所有 Q# 相关命令和功能的参考指南,并根据需要链接到其他内容。 有关常规 VS Code 指南,请参阅 VS Code 文档

提示

可以从“视图>命令面板”菜单访问大多数 Q# 相关命令。 在 .qs 文件中,选择 Ctrl-Shift-P(macOS 上的 Cmd-Shift-P),然后输入 Q# 以查看筛选的命令列表。

有关所有 macOS 键盘快捷方式,请参阅 macOS 的键盘快捷方式。

命令

可以从“视图>命令面板”菜单访问大多数 Q# 相关命令。 选择 Ctrl-Shift-P 并输入 Q# 以查看筛选的命令列表。 某些命令仅在 .qs 文件处于活动状态时可用。

提示

可以使用键盘快捷方式或 Ctrl+K+S 为任何 VS Code 命令创建自定义键盘快捷方式。 有关详细信息,请参阅 VS Code 的键绑定。

命令 操作 备注 备用用户操作
Q#:创建 Q# 项目 在活动文件夹中创建 Q# 项目,包括:
* qsharp.json清单文件
* 具有默认 main.qs 文件的 src 子文件夹。
有关 Q# 项目的详细信息,请参阅 “使用 Q# 项目”。 在文件资源管理器中,右键单击目标文件夹并选择“创建 Q# 项目”。
Q#:创建 Azure Quantum 笔记本 打开运行 Q# + Python 程序并将作业提交到 Azure Quantum 的示例 Jupyter Notebook。 有关 Azure Quantum 笔记本的详细信息,请参阅 “使用 Azure Quantum 笔记本”。 空值
Q#:连接到 Azure Quantum 工作区 使用 Azure 帐户或连接字符串连接到 Azure Quantum 工作区。 进行身份验证后,工作区将显示在 Quantum 工作区文件资源管理器中 有关 Azure Quantum 连接的详细信息,请参阅 “连接到 Azure Quantum 工作区”。 在文件资源管理器中,将鼠标悬停在 Quantum 工作区,然后选择“+”图标。
Q#:打开 Q# 操场 在 文件资源管理器 中打开 Q# 示例程序的联机文件夹。 可以在本地量子模拟器中编辑和运行程序,还可以使用内置调试器设置断点并单步执行代码。 有关详细信息,请参阅 示例文件夹中的自述 文件。 空值
Q#:刷新 Azure Quantum 工作区 从连接的量子工作区同步最新更改。 如果存在连接问题,工作区名称旁边会显示一个警报图标。 在文件资源管理器中,将鼠标悬停在 Quantum 工作区,然后选择刷新图标。
资源管理器:关注 Quantum 工作区视图 打开文件资源管理器,并重点介绍连接的量子工作区(如果已配置)。 如果未配置任何工作区,系统会提示添加现有工作区。 有关 Azure Quantum 连接的详细信息,请参阅 “连接到 Azure Quantum 工作区”。 空值

当 .qs 文件处于活动状态时,以下命令可用。

命令 操作 备注 备用用户操作
Q#:设置 Azure Quantum QIR 目标配置文件 设置 Q# 程序的 QIR 或量子中间表示形式目标配置文件。 有关目标配置文件的详细信息,请参阅 目标配置文件 当前目标配置文件显示在底部工具栏中。 选择工具栏上的目标配置文件以打开选择下拉列表。
Q#:显示线路 在运行 Q# 程序之前,显示 Q# 程序的线路图。 有关详细信息,请参阅 可视化量子线路图 从入口点操作旁边的菜单或程序中的每个用户定义的操作上方选择代码镜头选项 “线路 ”。
Q#:运行文件并显示直方图 运行当前的 Q# 程序,并在右窗格中显示结果的直方图。 若要访问直方图显示的排序和筛选选项,请在直方图窗格中选择筛选器图标。 从入口点操作旁边的菜单中选择代码镜头选项 直方图
Q#:获取当前 Q# 程序的 QIR 在新编辑窗口中打开当前 Q# 代码的 QIR 源。 程序必须使用基本或自适应 RI 目标配置文件导出 QIR 源。 有关 QIR 的详细信息,请参阅 Quantum 中间表示形式和 Q# 开发人员博客 空值
调试:调试 Q# 文件 在调试器中打开当前的 Q# 程序。 有关详细信息,请参阅 调试和测试量子代码 * 选择 F5
* 从入口点操作旁边的菜单中选择“调试”代码镜头选项
* 选择右上角的 “运行” 图标,然后选择“ 调试 Q# 文件”。
调试:运行 Q# 文件 在默认量子模拟器中运行当前的 Q# 程序。 有关详细信息,请参阅 Q# 程序入门。 * 选择 Ctrl+F5
* 从入口点操作旁边的菜单中选择“运行”代码镜头选项
* 选择右上角的 “运行” 图标,然后选择“ 运行 Q# 文件”。
Q#:计算资源估计值 调用资源估算器的内置版本。 有关详细信息,请参阅 Azure Quantum 资源估算器简介。 空值
Q#:帮助 VS Code 中 QDK 扩展的简要概述。 有关完整的 Azure Quantum 文档,请参阅 Azure Quantum 文档 空值
Q#:运行文件和显示线路图 运行当前的 Q# 程序,并显示具有输出的程序的线路。 有关详细信息,请参阅 可视化量子线路图 空值
Q#:显示 API 文档 在新窗格中打开 API 文档。 使用 Ctrl-F 搜索此窗格。 有关详细信息,请参阅 Azure Quantum API 参考 空值

终端

Q# 程序在 VS Code 中使用两个终端窗口:

终端 操作
调试控制台 显示运行输出或调试输出
问题 显示预编译错误检查

编辑 Q# 代码

使用 Q# 程序时,VS Code 中的大多数常见代码编辑功能都可用。 有关详细信息,请参阅 VS Code 文档中的 Intellisense

  • 预编译错误检查
  • 转到定义
  • 参考
  • 函数签名
  • 参数信息
  • 完成建议
  • Linting - 在 Q# 文件中,可以在清单文件中配置每个项目的 linting。 有关详细信息,请参阅 “使用 Q# 项目”。

常见任务

使用 Q# 文件和项目

任务 操作 备注
新建 Q# 文件 选择“文件>新建文件>文本文件”。 使用 .qs 扩展名保存文件。 如果设置 Files: Default Language = qsharp,则新文件默认为 Q# 格式。
创建 Q# 项目 从文件资源管理器的打开文件夹中,从命令面板中选择“创建 Q# 项目”,或右键单击文件资源管理器中的文件夹,然后选择“创建 Q# 项目”。 有关 Q# 项目的详细信息,请参阅 “使用 Q# 项目”。
示例文件 在空白 .qs 文件中,输入 示例,然后从列表中选择一个示例程序。 还可以在命令面板中选择“打开 Q# 操场”,以在文件资源管理器中打开 Q# 示例程序的联机文件夹。

连接到 Azure Quantum

任务 操作 备注 备用用户操作
连接到 Azure Quantum 工作区 在文件资源管理器中,展开 Quantum 工作区,然后选择“添加现有工作区”。 按照提示选择订阅和工作区。 * 可以连接到多个工作区。 选择 Quantum 工作区旁边的“+”以连接另一个工作区。
在 VS Code 会话之间保留工作区连接。
* 若要删除工作区连接,请右键单击工作区并选择“ 删除工作区连接”。
在命令面板中,选择“ 连接到 Azure Quantum 工作区”。
使用 Python 程序以编程方式连接 右键单击现有工作区连接,然后选择“ 复制 Python 代码”以连接到工作区。 将生成的代码粘贴到 Python 程序中。 有关详细信息,请参阅 将 Python 与 Q# 作业一起提交到 Azure Quantum 空值

运行程序

任务 操作 备注 备用用户操作
在本地量子模拟器上运行 Q# 程序 在 Q# 程序中,选择右上角的 “运行” 图标,然后选择“ 运行 Q# 文件”。 有关量子模拟器的详细信息,请参阅 稀疏量子模拟器 * 选择 Ctrl-F5
* 在命令面板中,选择 Q#:运行文件并显示直方图Q#:运行文件和显示线路图
* 从入口点操作旁边的菜单中选择“运行”代码镜头选项
调试程序 在 Q# 程序中,选择右上角的 “运行” 图标,然后选择“ 调试 Q# 文件”。 有关 VS Code 中的 Q# 调试器的详细信息,请参阅 调试和测试量子代码 * 选择 F5
* 从入口点操作旁边的菜单中选择“调试”代码镜头选项
在工作区中查看提供程序和目标 在文件资源管理器中,选择 Quantum 工作区,展开工作区,然后展开“提供程序”以查看工作区中的可用提供程序。 展开单个提供程序以查看可用目标。 注意:将鼠标悬停在目标名称上以查看其 状态队列时间 ,然后再提交作业。 空值
将作业提交到 Azure Quantum 在 Q# 程序中,选择工作区、提供程序和目标。 若要提交当前的 Q# 程序,请选择目标旁边的箭头。 有关详细信息,请参阅 将 Q# 作业提交到 Azure Quantum 空值
查看作业结果 展开工作区,然后展开 “作业”。 若要从Azure 存储打开作业输出,请选择作业名称旁边的云图标。 作业列在最上面。 空值