Q# 是微软几年前发布的一门用于模拟量子编程的语言。

3年前我在当时风靡的博客网站 ITEYE 上发布过如何在windows上搭建其开发环境:Q#开发环境搭建。时过境迁,不但iteye不知何处去,连Q#做为一门语言也没有继续笑春风。

叹JavaEye:再见了,亲人

去年今日此门中,人面桃花相映红。
人面不知何处去,桃花依旧笑春风。

闲情少煽,书归正传。这篇博客简单说一下使用vscode 搭建 Q# 开发环境的方法 —— 为啥使用vscode了呢?因为我不再使用windows了,而是也使用了Mac机器。

我假定你已经正确安装了vscode,这个应该没什么难道。

如果你的确是从零开始,可以先来下载vscode:https://code.visualstudio.com/

目前Q#的开发已经要求的dotnet 版本在3.1以上,如果本机不是的话,可以在任何时候下载安装:最新dotnet 或者 dotnet 3.1。


到这里请确保你的vscode已经可以正常使用。然后打开 Q# Sdk 插件 进行安装,安装按钮会自动打开vscode插件管理器进行安装;当然也可以直接在vscode的插件管理页面搜索Q#进行安装。

万事俱备只欠coding

接下来就可以进行代码的编写了。

在vscode中唤醒命令面板,并搜索“Q#”,从下拉列表选择“Q#:Create New Project”。

命令面板有几种方式打开。我的快捷键是shift+command+p,或者command+p然后敲大于号>;不用快捷键的话可以点击菜单“查看” -> “命令面板” (英文版是View -> Command Palette)

接下来的弹出列表选择独立控制台应用程序 standalone console application,vscode会要求你选择项目的保存位置,切换好位置点创建按钮。最后vscode会询问你是否打开刚创建的这个项目,点打开按钮就以新项目窗口方式打开了这个Q#项目。

项目结构

了解.net开发的同学应该熟悉,一个是项目文件csproj,一个是代码文件Program.qs。其中qs就是Q# 文件的扩展名(q sharp)。

代码内容如下:

namespace qsharpFirst {
open Microsoft.Quantum.Canon;
open Microsoft.Quantum.Intrinsic; @EntryPoint()
operation SayHello() : Unit {
Message("Hello quantum world!");
}
}

语法这里先不管,这段程序是一个hello world级别的代码,结果是输出Hello quantum world!

运行

目前查询还不支持直接运行(没有Java的STS插件那么方便),可以打开vscode内置的命令行控制台(我的快捷键是control+`),执行dotnet run,正常输出如下:

如果提示dotnet 版本不匹配,就是本地没有安装3.1以上的版本,可以从上面提供的dotnet下载链接下载安装文件进行安装。


参考资料:https://docs.microsoft.com/zh-cn/quantum/

使用vs code搭建Q#开发环境 (Mac)的更多相关文章

  1. 使用Visual Studio Code搭建TypeScript开发环境

    使用Visual Studio Code搭建TypeScript开发环境 1.TypeScript是干什么的 ? TypeScript是由微软Anders Hejlsberg(安德斯·海尔斯伯格,也是 ...

  2. Windows下visual studio code搭建golang开发环境

    Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装 ...

  3. VS Code搭建.NetCore开发环境(二)

    一.安装VS Code for C#的相关插件 1.C# :https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp 2 ...

  4. VS Code搭建.NetCore开发环境(一)

    一.使用命令创建并运行.Net Core程序 1.dotnet new  xxx:创建指定类型的项目console,mvc,webapi 等 2.dotnet restore :加载依赖项 dotne ...

  5. 使用 VS Code 搭建 TypeScript 开发环境

    使用 VS Code 搭建 TypeScript 开发环境 TypeScript 是 JavaScript 的超集,TypeScript 只是增强了 JavaScript 而非改变了 JavaScri ...

  6. VS Code 搭建 Rust 开发环境

    VS Code 搭建 Rust 开发环境 上一篇文章安装和配置好了 Rust 环境后,我们是使用的是简单的文本工具编写 Hello World 入门代码,但是为了提高我们的学习效率,下面安利大家 VS ...

  7. VS Code 搭建stm32开发环境

    MCU免费开发环境 一般芯片厂家会提供各种开发IDE方案,通常其中就包括其自家的集成IDE,如: 意法半导体 STM32CubeIDE NXP Codewarrior TI CCS 另外也可以用ecl ...

  8. Visual Studio Code搭建python开发环境

    开发Python的环境有很多,原来已经在vs2013上面搭建好python的开发环境了,但是vs2013每次启动都占太多内存(太强大了吧),这下出了vs code,既轻量又酷炫,正好拿来试一试开发py ...

  9. 使用vs code搭建C开发环境

    关于搭建vscode的开发环境来开发c网上已经有很多类似的贴子,但是几乎都是直接给出tasks.json和launch.json文件,并未说明这两个文件的作用以及如何配置.这里面向纯小白着重说明下(1 ...

随机推荐

  1. Intellij IDEA新导入项目运行出现Error:(60, 47) java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符)

    后台窗口报错如下: 问题原因 项目jdk版本配置不正确. 解决方案 ①File ->Project Structure ② ③之后还要检查一下这里 Settings-->Build,Exe ...

  2. 题解-Quantifier Question

    Quantifier Question 有长度为 \(n\) 的序列 \(x\{n\}\),有 \(m\) 个条件 \((j_i,k_i)\).有 \(n\) 个待定的条件符 \(Q_i\in\{\f ...

  3. 廖雪峰官网学习js 字符串

    操作字符串: length()           长度 totoLowerCase() 小写 toUpperCase()      大写 trim()            移除空白 charAt( ...

  4. Vue:对axios进行简单的二次封装

    主要做3点: 1.配置一个请求地址前缀 2.请求拦截(在请求发出去之前拦截),给所有的请求都带上 token 3.拦截响应,遇到 token 不合法则报错 // 对 axios 的二次封装 impor ...

  5. mysql批量刷新用户密码

    不知道用户密码,并且不改变用户密码的情况下,批量刷新MySQL数据库用户的密码 select concat('alter user \'',user,'\'@\'',host,'\' identifi ...

  6. centos 7 让脚本开机运行

    按照网上搜索的文章指导,有三种方式可以实现,个人觉得比较简单的是修改/etc/rc.d/rc.local,添加要开机执行的命令. 修改后,重启,发现要运行的服务没有启动. 搜索发现下面这篇博客解释了原 ...

  7. 面试 11-01.ES6:模块化的使用和编译环境

    11-01.ES6:模块化的使用和编译环境 #前言 #ES6的主要内容 模块化的使用和编译环境 Class与JS构造函数的区别 Promise的用法 ES6其他常用功能 本文来讲"模块化的使 ...

  8. Eureka系列(七) 服务下线Server端具体实现

    服务下线的大致流程图   下面这张图很简单地描述了Server端服务下线的大致流程: 服务下线Server端实现源码分析   Eureka服务实现是通过Server端InstanceResource ...

  9. 浅入 AutoMapper

    目录 浅入 AutoMapper AutoMapper 基本使用 映射配置 映射检查 性能 Profile 配置 依赖注入 表达式与 DTO 浅入 AutoMapper 在 Nuget 搜索即可安装, ...

  10. CSS练习 —— css选择器

    CSS选择器就是 通过选择器来 定位 你要控制的样式的部分,分为以下几种 1.HTML选择符(标签选择器) 就是把HTML标签作为选择符使用 如 p {.......} 网页中所有的P标签采用此样式 ...