Visual Studio 2017 for Mac

Last Update: 2017/5/15

我们非常荣幸地宣布 Visual Studio 2017 for Mac 现已推出。 Visual Studio for Mac 是 Visual Studio 系列的新成员。通过它,macOS 上的开发人员可以使用 Xamarin 和 .NET Core 来构建移动、Web、和云应用,也可以使用 Unity 来开发游戏。

使用 Visual Studio 2017 for Mac 可以开发适用于 Android、macOS、iOS、tvOS、watchOS、Web 和云的应用。 快速编码、轻松调试和诊断、时常测试,并且可以放心地进行发布。 此新版本发布之后,可使用版本控制、更具敏捷性且可高效协作!

Download Visual Studio 2017 for Mac

若要了解有关其他相关下载的详细信息,请参阅下载页。 若要了解 Visual Studio 2017 for Mac 的详细信息,请参阅 Mac 系统要求Mac 平台目标及兼容性

反馈

我们期待你的宝贵意见和建议! 可通过安装程序或 Visual Studio IDE 中的报告问题选项报告问题。 可在右上角找到该选项。 可在开发人员社区门户中跟踪自己的反馈。 如有任何建议,请通过 UserVoice 网站告知我们。

Visual Studio for Mac 中的新增功能

核心功能

Visual Studio for Mac 能够满足你对现代 IDE 的所有期望,包括功能完整的源代码编辑器、代码搜索和导航、功能强大的调试器、可自定义的工作区、Git 集成和丰富的扩展系统。

其他功能包括:

  • 基于 Roslyn 的 C# IntelliSense、重构、分析器和代码修复。
  • 基于 NuGet 的程序包管理。
  • Visual Studio 兼容的项目格式。
  • MSBuild 生成引擎。
  • 集成单元测试。
  • 对 F# 的支持。

.NET Core 支持

.NET Core 平台用于创建在可 Windows、Linux 和 Mac 上运行的应用程序。 Visual Studio for Mac 提供对加载、创建、运行和调试 .NET Core 项目的支持。

若要运行 .NET Core 项目,应该下载和安装 .NET Core SDK。

.NET Core 支持包括:

  • C# 和 F# IntelliSense。
  • 控制台、库和 Web 应用程序的 .NET Core 项目模板。
  • 完整的调试支持,包括断点、调用堆栈、监视窗口等。
  • NuGet PackageReferences 和基于 MSBuild 的还原。
  • 集成单元测试支持使用 .NET Core SDK 附带的 Visual Studio 测试平台进行运行和调试测试。
  • 从旧的 project.json 格式迁移。

Web 工具

Visual Studio for Mac 添加了针对 HTML、CSS 和 JSON 文件的新的 Web 工具支持。

HTML

  • 新的 HTML 模板。
  • 改进的智能缩进和格式设置。
  • 改进的着色处理功能。
  • 改进的 Intellisense。
  • 代码折叠(必须启用)。
  • Unminify 命令。
  • 改进的代码模板(片段)。
  • 使用 <div> 环绕选定内容。
  • 可以将选定文本向上/向下移动的向上/向下选项。

CSS

  • 改进的智能缩进和格式设置。
  • 改进的着色处理功能。
  • 改进的 IntelliSense。
  • 代码折叠。
  • 多个代码模板(片段)。
  • 可以将选定文本向上/向下移动的向上/向下选项。

JSON

  • 有权访问 schemastore.org 的架构选择器。
  • 从架构进行验证。
  • 从架构进行 IntelliSense。
  • 改进的智能缩进和格式设置。
  • 改进的着色处理功能。
  • 注释/取消注释。
  • 引号注入和大括号匹配。
  • 可以将选定文本向上/向下移动的向上/向下选项。

Xamarin

通过对 Xamarin 的卓越支持,可以开发适用于 Android、macOS、iOS、tvOS 和 watchOS 的丰富本机体验。 使用 Xamarin.Forms 跨平台应用程序可以在 Android、iOS 和 macOS 之间共享基于 XAML 的 UI 代码,而不会限制对本机功能的访问。

这包括:

  • 构建、部署、调试和分析。
  • 适用于 iOS 和 Android 的拖放式 UI 设计器。
  • Xamarin.Forms 的实时预览。
  • 兼容 .NET 标准的框架。
  • 对本机 API 的绑定。

多平台应用模板

现在,使用多平台 Xamarin.Forms 应用本机应用项目模板可以快速创建多平台移动应用及其云后端。

这些模板可以创建多个项目:通过共享的项目共享代码的 Xamarin.iOS 应用项目和 Xamarin.Android 应用项目,以及实现应用后端服务的 .NET Core Web API 项目(图 1)。

Debugging with .NET Core

(图 1)使用 .NET Core 调试

将 ASP.NET Core Web 应用发布到 Azure 应用服务

可以将 ASP.NET Core Web 应用发布到 Azure 应用服务(图 2)。

Publish to Azure content menu

(图 2)发布到 Azure 内容菜单

若要发布 Web 应用,请在“Solution Pad”或“项目”菜单中选择“发布|发布到 Azure”命令。 然后选择要部署到的应用服务,或者新建一个 Azure 应用服务(图 3)。 发布的输出将记录到“发布”输出板,并且将在项目中的“属性”>“PublishProfiles”下创建发布配置文件。

Publish a new app service

(图 3)发布新的应用服务

在项目中定义的所有发布配置文件都将显示为“发布”菜单中的选项,所以无需再次选择“应用服务”即可对其进行部署。

多进程调试

项目具有“项目运行配置”,可以指定运行项目的选项和参数。 在工具栏中的下拉列表中可以查看和更改当前活动的“运行配置”。

在 Visual Studio for Mac 的“解决方案运行配置”窗口中可以同时启动多个项目。 可以在“解决方案选项”对话框中创建解决方案运行配置。 调试移动应用与其后端服务的交互方式时,此功能非常有用。

TextMate 包

Visual Studio for Mac 支持 TextMate 语言包,可使用此语言包添加:

  • 编辑器颜色主题。
  • 代码片段。
  • 新语言的语法,启用突出显示以及基本 IntelliSense。

可以在“首选项”>“文本编辑器”>“语言包”中添加 TextMate 包。

iOS

音频设备向导

新的音频设备扩展向导(图 4)增添了 3 个选项,可用于自定义音频设备项目模板的 plist。

  • 音频设备类型
    • 乐器
    • Generator
    • 效果
    • 音乐效果
  • 子类型代码:必须正好是 4 个字符。
  • 制造商代码:必须正好是 4 个字符。

Audio Unit Wizard

(图 4)音频设备向导

watchOS 扩展向导

在 Xcode 8.3 中,Apple 引入了 watchOS 扩展(与 iOS 扩展类似),第一个引入的是 Intents 扩展 (Siri)。

已更新 watchOS 扩展向导(图 5)以支持 watchOS 扩展,且现提供专用的 Intents 扩展模板。

watchOS extension wizard

(图 5)watchOS 扩展向导

其他改进和 Bug 修复
  • 现可在自动完成窗口中处理 DeprecatedObsoleted 属性。 这使得过时的 Xamarin.iOS 和已弃用的 API 显示为删除线。
  • 部署到设备时会显示进度栏。 此功能对 watchOS 非常有用。 (需要 Xamarin.iOS 10.5.0.323+)。
  • 使用 Xamarin.iOS 中已知的 OS 版本来填充部署目标下拉列表。
    这样操作有两个优点:我们可以提供每个应用扩展类型的准确最低版本,并且可以避免显示 OS 版本(基于 Xcode,Xamarin.iOS 尚不支持)。

Mac/iOS API 问题分析器

  • 触发分析器时修复重复的标记。
  • 从属性中获取“消息”(框架中解释为什么 API 已弃用/过时的信息),并将该信息附加到不同的可用性消息。
  • 更新所有可用性消息,以提高清晰度。
  • 通过在可用性消息中使用符号名称来提高清晰度,从:
    API Usage Issue: this API requires iOS 10.0 or later
    更改为:
    'MyMethod' is only available on iOS 10.0 or newer

Android

  • 新的 SDK 管理器

Visual Studio for Mac 自带 Android SDK 管理器(图 6)。

Android SDK Manager window

**(图 6)Android SDK 管理器

  • 现在是通过 /t:Install msbuild 目标将项目部署到设备或仿真程序。 以前,Visual Studio for Mac 使用自己的内部逻辑将应用程序部署到设备,现在则使用可从终端利用或在 Windows Visual Studio 中使用的相同公用目标。 这样做的好处之一是现在有更好的日志可用于诊断部署问题。

  • 新绑定项目的默认值现为 class-parse。 它可以直接分析 Java 字节码而不需要 JVM。 现可从包含调试符号的 Java 字节码提取参数名称。 例如,使用 javac g 编译的字节码。 class-parse 也不会“跳过”从无法解析的类型继承或者包含无法解析的类型的类。

可访问性

  • 此 Visual Studio for Mac 版本包含对 Voice Over 等辅助技术的支持。 通过这些技术,可访问用户界面的许多部分,例如编辑器和解决方案资源管理器。 但是,此功能仍在开发中,将在未来版本中实现进一步改进。