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. 调用windows系统下的cmd命令窗口处理文件

    从后缀名为grib2的文件中查询相关的信息,并将查出来的信息保存起来. 主要是学习java中调用windows下的cmd平台,并进行执行相关的命令. package com.wis.wgrib2; i ...

  2. USB接口禁用小工具v1.0.1

    由论坛用户原创制作的一个USB接口工具, 可选择手动/自动启动或者禁止启动模式, 开启禁止启动模式后USB接口将关闭识别功能, 有效防止U盘设备侵入,对于机房实验室设施来说相当管用. 下载地址:htt ...

  3. Spring Boot 日志各种使用姿势,是时候捋清楚了!

    @ 目录 1. Java 日志概览 1.1 总体概览 1.2 日志级别 1.3 综合对比 1.4 最佳实践 2. Spring Boot 日志实现 2.1 Spring Boot 日志配置 2.2 L ...

  4. 精尽Spring MVC源码分析 - HandlerMapping 组件(三)之 AbstractHandlerMethodMapping

    该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...

  5. 工具-Redis-介绍(99.6.1)

    @ 目录 1.nosql介绍 2.Redis特性 3.redis应用场景 关于作者 1.nosql介绍 not only sql,不支持SQL语法.存储结构跟传统关系型数据库中的那种关系表完全不同,n ...

  6. Yii2 给表添加字段后报错 Getting unknown property

    手动在数据库中添加了image字段 然后再模型类Image中的 rule方法也将image的验证规则放进去了 但是在 $model = new Image 后,使用$model->iamge 还 ...

  7. Synchronized用法原理和锁优化升级过程(面试)

    简介 多线程一直是面试中的重点和难点,无论你现在处于啥级别段位,对synchronized关键字的学习避免不了,这是我的心得体会.下面咱们以面试的思维来对synchronized做一个系统的描述,如果 ...

  8. 华为Mate20 Adb驱动失败

    今天拿到同事一台华为Mate20,准备装个包,结果发现adb一直 no devices,AndroidStudio当然也显示 no connected devices 开发者模式也打开了,USB调试也 ...

  9. 超详细的第一个Servlet程序

    Servlet的第一个程序! 首先查看官方文档,来编写我们的第一段代码 1.先启动Tomcat,确保我们能够正常访问. 2.http://localhost:8080/examples/     查看 ...

  10. [leetcode]720. Longest Word in Dictionary字典中最长的单词

    b.compareTo(a) 这个函数是比较两个值得大小,如果b比a大,那么返回1 如果小,那么返回-1,相等返回0 如果比较的是字符串,那么比较字典编纂顺序,b靠前返回-1,靠后返回1 这个题的核心 ...