三月初发布的Visual Studio 2017,包含了F# 4.1和Visual F#工具的更新。F# 4.1带来了语言层面提升以及与C# 7的互操作能力,而那些Visual F#工具是支持Roslyn workspaces的首个版本。

正如上文提到的,F# 4.1带来了语言层面提升以及与C# 7的互操作能力:

  • 对Struct tupple和C# value tuples的支持

  • 对结果集和差别联合(discriminated unions)的Struct注解

  • 支持fixed关键字

  • 支持数值字面量中使用下划线

  • Caller信息包含argument属性

  • 支持Result类型

  • 支持同一文件内的类型和模块相互引用

  • 支持Byref返回类型以及C# 7 ref返回的方法

  • 异常信息改进

  • list<'T>实现IReadonlyCollection<'T>

  • 附加可选模块功能

  • 对静态解析类型参数的改进

  • 编译器性能提升

Visual Sutdio 2017同时也带来了Visual F#工具的一个更新版本。其中值得一提的新增功能是对Roslyn Workspace APIs的支持:

工作区间就是你的解决方案的动态呈现。它是许多项目的集合。每个项目又是许多文档的集合。工作区间通常与宿主环境参数紧密相关。环境参数是经常改变的与用户输入或操作有关的特性。

像Visual Studio这样的集成开发环境使用Roslyn workspace APIs来提供多样化的功能。尽管Roslyn的编译器部分具体实现为C#/VB,但许多像workspaces这样的APIs有更高层次的抽象并且没有与某一种特定的语言绑定。因此,实现这些API就意味着一个IDE功能可以直接支持F#而不需要单独做F#实现。用Roslyn workspaces APIs重构的功能包括:

  • 查找所有引用

  • 支持导航条

  • 语法和类型在悬停和字符提示时彩色化

  • 智能筛选和字形改进

  • 智能查找支持名字的模糊匹配

  • 编辑器内更好的彩色支持

  • 改善代码缩进

  • 改善断点分辨率

  • 改善定义跳转

  • 支持各种代码修改触发Lightbulbs

  • 语法高亮

  • 支持Go to All功能(ctrl+T)

  • Roslyn-style行内重命名

来自微软的官方声明列举了许多F#社区的贡献者,也致谢了一些在F#编译器、Visual F#工具和语言设计方面作出贡献的社区成员。

原文地址:http://www.infoq.com/cn/news/2017/04/visual-studio-2017-fsharp-41

.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

Visual Studio 2017迎来F# 4.1相关推荐

  1. Visual Studio 2017 15.5预览版添加对F# Core及Standard的支持

    自.NET Core第一版发布以来,Microsoft一直在该平台上支持F#.但是相比起.NET Core上的兄弟语言C#和VB.NET,F#的工具可用性一直拖后腿.随着Visual Studio 2 ...

  2. Visual Studio 2017 RC3支持.NET Core,延迟对Python的支持

    Visual Studio 2017第三个候选版本上周发布,解决了之前发现的安装程序的小问题.由于这些问题得到了解决,现在值得关注的就是这次版本中更新了什么内容.(版本是发布于1月27日的build ...

  3. Windows 10 Visual Studio 2017 安装配置 Apache Thrift (C++)

    最近需要使用Thrift,所以在网上看了很多资料,不过很多教程都不够详细完整,导致我花了不少时间安装配置.在这里我把我配置的过程写下来和大家分享. 1 介绍 Apache Thrift 是一个跨语言的 ...

  4. Visual Studio 2017 15.8概览

    Microsoft正式发布VS2017的第八次更新,即15.8.15.8提供了今年夏天预览的大量新特性,包括Code Cleanup.IDE支持多重查补(Multiple Caret).Visual ...

  5. Visual Studio 2017错误:无法启动程序,在当前状态下操作不合法

    本文翻译自:Visual Studio 2017 error: Unable to start program, An operation is not legal in the current st ...

  6. roslyn生成html,Visual Studio 2017 bin \ roslyn文件在生成期间被锁定

    Visual Studio 2017 bin \ roslyn文件在生成期间被锁定 我正在运行VS2017版本26430.13,每次尝试构建Web项目时,都会收到错误,拒绝访问bin \ roslyn ...

  7. Visual Studio 2017常用快捷键(小白入)

    Visual Studio 2017常用快捷键(2-20190305) 文章目录: 一.VS2017 自定义快捷键 二.Visual Studio 2017常用的快捷键 快捷键还是要学的,虽然有很多, ...

  8. Visual Studio 2017最新版正式发布!适用于任何开发人员、平台及APP丨附下载

    2019独角兽企业重金招聘Python工程师标准>>> 适用于任何开发人员.APP及任何平台的Visual Studio 2017 新功能介绍. [Visual Studio 201 ...

  9. visual studio 2017 和qt 编译 bitcon源代码

    visual studio 2017 qt 5.7.1(别人已经编译好的静态库,为什么用别人编译好的,自己编译老是编译错误,?) 1. 安装vcpkg.将应用程序内的lib编译成功.设置编译选项为MT ...

最新文章

  1. Python标准库——collections模块的Counter类
  2. linux开发板蓝牙连接,开发板蓝牙通信问题,有这方面经验的请进
  3. 产销对接行动倡议书-万祥军:农民丰收节交易会谋定机制
  4. BZOJ-3505-数三角形-CQOI2014
  5. java第二版课后题答案_Java语言程序设计第2版第16章 课后习题答案
  6. 如何得到暴雪娱乐公司的工作机会?
  7. mysql 日期操作 增减天数、时间转换、时间戳(转换)
  8. Linux环境变量PS1配置
  9. 数据结构与算法——二叉树与图汇总整理
  10. linux小程序实验报告,linux 小程序分析
  11. tomcat 实现域名crm.test.com訪问
  12. 解决速达软件提示将numeric转换为数据类型numeric时发生算术溢出错误问题
  13. 在线word预览方案
  14. 第二章 需求分析与需求文档
  15. 使压缩文件隐藏在图片格式中的方法(c语言版)--图片合成器
  16. 制作集成SATA、RAID和AHCI驱动的Windows XP sp3 安装光盘
  17. 如何使用NFC读卡器读取NFC卡片的UID
  18. 计算机科学技术标准,计算机科学技术基础知识之标准化和知识产权基础知识
  19. Timeout waiting for connection from pool
  20. php 用gd库在图片上写文字,并处理文字糊模问题

热门文章

  1. 第十一周项目3-程序的多文件组织
  2. oracle vm 安装虚拟机小bug
  3. 使用bat来运行cygwin,执行脚本(命令)
  4. .NET 6新特性试用 | PriorityQueue
  5. OceanBase开源,11张图带你了解分布式数据库的核心知识
  6. 幸运从来都只偏爱有准备的人——大龄码农的慌张日记
  7. 一文说通Dotnet操作MongoDB GridFS
  8. .NET5实战千万并发,性能碾压各版本,云原生时代,.NET5为王!
  9. .NET架构小技巧(8)——优待异常
  10. 基于阿里云日志服务快速打造简版业务监控看板