Visual Studio IconVisual Studio 2019 for Mac 版本 8.3 发行说明



开发人员社区 | 系统要求 | 兼容性 | 可分发代码 | 文档 | 博客 | 维护


有关系统要求的信息,请参阅 Mac 系统要求Mac 平台目标以及兼容性指南。

要详细了解其他相关下载,请参阅下载页


Visual Studio 2019 for Mac 中的新增功能

Visual Studio 2019 for Mac 版本

Visual Studio 2019 for Mac 博客文章

可从 Visual Studio 博客获取来自 Visual Studio 工程团队的官方产品见解。 有关 Visual Studio 2019 for Mac 发布的详细信息,可参阅以下文章:


版本主要变化

已知问题

请参阅已知问题部分。


Release Notes Icon Visual Studio 2019 for Mac 版本 8.3.11 (8.3.11.1)

发布时间:2019 年 12 月 11 日

此服务版本提供对 .NET 运行时 2.1.14 和 .NET Core SDK 3.0.101 的支持。

Release Notes Icon Visual Studio 2019 for Mac 版本 8.3.10 (8.3.10.2)

发布时间:2019 年 11 月 21 日

此服务版本修复了以下问题:

Release Notes Icon Visual Studio 2019 for Mac 版本 8.3.9 (8.3.9.2)

发布时间:2019 年 11 月 18 日

此服务版本修复了以下问题:

Release Notes Icon Visual Studio 2019 for Mac 版本 8.3.8 (8.3.8.8)

发布时间:2019 年 11 月 11 日

此服务版本修复了以下问题:

Release Notes Icon Visual Studio 2019 for Mac 版本 8.3.7 (8.3.7.1)

发布时间:2019 年 11 月 5 日

此服务版本增加了对 Xcode 11.2 的支持。

Release Notes Icon Visual Studio 2019 for Mac 版本 8.3.6 (8.3.6.4)

发布时间:2019 年 11 月 1 日

此服务版本可在 macOS Catalina 上解决崩溃,因为这会增加该操作系统版本的内存压力。

Release Notes Icon Visual Studio 2019 for Mac 版本 8.3.5 (8.3.5.13)

发布时间:2019 年 10 月 28 日

此服务版本修复了以下问题:

Release Notes Icon Visual Studio 2019 for Mac 版本 8.3.4 (8.3.4.7)

发布时间:2019 年 10 月 14 日

此版本修复了在 Catalina 上导致 Visual Studio for Mac 故障的问题。 如果遇到故障,请切换到“预览”通道。

Release Notes Icon Visual Studio 2019 for Mac 版本 8.3.3 (8.3.3.8)

发布时间:2019 年 10 月 10 日

此版本增加了对 Xcode 11.1 的支持。

此服务版本还修复了以下问题:

  • 删除了 [Application Loader] 命令,因为 Xcode 已删除此应用程序。 使用此指南中的步骤将其上传到 App Store Connect。
  • 通过遥测报告的各种崩溃。
  • 探查器无法启动。

Release Notes Icon Visual Studio 2019 for Mac 版本 8.3.2 (8.3.2.32)

发布时间:2019 年 10 月 7 日

此服务版本修复了以下问题:

  • 新编辑器中缺少正则表达式 Replace
  • 结合使用“导航到”和某些值时发生崩溃。
  • 使用热重载时,在 iOS 设备上运行时无法插入断点。
  • 尝试使用引用 .Net Core 预览版(未安装)的 global json 打开解决方案时出错。
  • 无法从新编辑器中提取表情符号选择器。

Release Notes Icon Visual Studio 2019 for Mac 版本 8.3.1 (8.3.1.18)

发布时间:2019 年 9 月 30 日

此服务版本修复了以下问题:

  • VSMac 在启动时显示错误窗口“获取权限时出错”。
  • Web 编辑器不支持具有 jsx/tsx 文件扩展名的文件。
  • 分析 F# 文件时,堆栈溢出会导致 IDE 崩溃。
  • Azure Functions 无法发布到 Azure(dotnet 意外关闭)。
  • 重命名 .cshtml 页面时,.cshtml.cs 文件消失。
  • 无法移动 2 个以上的嵌套文件。
  • 当切换到 .xaml 选项卡或从该选项卡进行切换(甚至在 .xaml 文件之间切换)时,整个 IDE shell 会闪烁空白。

Release Notes Icon Visual Studio 2019 for Mac 版本 8.3 (8.3.0.1805)

发布时间:2019 年 9 月 23 日

新增功能

Web 编辑器

在此版本中,我们在 Visual Studio 2019 for Mac 8.1 中引入的新本机代码编辑器中添加了对 Web 文件的支持

JavaScript IntelliSense in the new editor graphic
新编辑器中的 JavaScript IntelliSense

Visual Studio for Mac 现在可将新本机代码编辑器用于以下文件类型:

  • .JS
  • .TS
  • .HTML
  • .CSS
  • .CSHTML
  • .JSON
  • .LESS
  • .SCSS

新 Web 编辑器由与 C# 和 XAML 编辑器相同的本机编辑器接口提供支持,并由共享的 Visual Studio 语言服务提供支持。 利用新的编辑器可以实现:

  • IntelliSense 性能改进
  • IntelliSense 类型筛选
  • 多个插入点编辑
  • RTL(从右到左)和 BiDi(双向)文本支持
  • 本机输入支持
  • 提高键入性能
  • 改善文本呈现
  • 自动换行
  • 改进格式设置
  • 改进分类

通过实现新的编辑器(包括与性能和文件支持相关的 bug),我们还解决了许多 bug。

多目标

此版本增加了对具有多目标框架的项目的支持。 下面详细介绍一些功能和优点:

  • 在多目标框架项目中编辑文件时,可以在编辑器中选择目标框架以引导 Intellisense:

    Multi-target framework editor graphic
    Visual Studio for Mac 中的多目标框架项目编辑器体验
  • 编辑器将在 IntelliSense 和工具提示中显示对于特定目标框架不可用的 API 信息。

  • 我们还增加了针对特定框架对进行调试的支持:

    Debugging multi-target framework graphic
    在 Visual Studio for Mac 中调试多目标框架项目

.NET Core

此版本添加了选择浏览器的功能,可在运行或调试 ASP.NET Core Web 应用程序时使用。

Select browser graphic
选择浏览器

发布对 .NET Core 控制台和 .NET Standard 库项目的支持

在以前的版本中,我们添加了将 ASP.NET Core 项目发布到文件夹的功能。 在此版本中,我们引入了对发布 .NET Core 控制台和 .NET Standard 库项目的支持。 有关如何使用此功能的详细信息,请参阅发布文件夹文档。

支持 Launchsettings.json

开发 ASP.NET Core 应用程序时,可以使用 launchSettings.json 文件来配置应用程序开发时的启动方式。 有关此文件的详细信息,请参阅 .NET Core 环境文档。 在 launchSettings 文件中,可以配置应用要侦听的 URL 以及运行或调试时使用的环境变量。 通过此更新,你可以更轻松地与可能未使用 Visual Studio for Mac 的其他人进行协作。 Visual Studio、Visual Studio Code 和 dotnet CLI(命令行接口)都支持此文件。

文件嵌套支持

在此版本中,我们将为 ASP.NET Core 项目添加自动文件嵌套。 应用的自动文件嵌套规则与 Visual Studio 中的相同。 启用文件嵌套后,可以更好地专注于最常编辑的文件。 生成的文件和不太频繁编辑的文件将嵌套在其他相关文件下。

  • 有关此版本中已修复的所有 .NET bug 的信息,请跳转至 bug 修复部分。

提示

有关 .NET Core 所有新内容的详细信息,请参阅 .NET Core 发行说明

Unity

通过添加特定于 Unity 的新诊断,深化了 Visual Studio for Mac 对 Unity 项目的理解。 还通过取消不适用于 Unity 项目的一般 C# 诊断,使 IDE 更智能。 例如,IDE 不会显示将检查器变量更改为 readonly 的快速修复,因此这会阻止你修改 Unity 编辑器中的变量。

我们在了解开发人员的最佳做法后,会添加更多特定于 Unity 的诊断。 如果你想要了解一些内容以及它有哪些帮助,请告诉我们!

具有快速修复功能的全新诊断

  • UNT0001:即使 Unity 消息为空,运行时也会调用它们,请勿声明它们,以避免 Unity 运行时进行不必要的处理。
  • UNT0002:使用字符串相等比较标记的速度比内置的 CompareTag 方法慢。
  • UNT0003:为了获得类型安全性,最好使用 GetComponent 的通用形式。
  • UNT0004:更新消息依赖于帧速率,应使用 Time.deltaTime 而不是 Time.fixedDeltaTime
  • UNT0005FixedUpdate 消息依赖于帧速率,应使用 Time.fixedDeltaTime 而不是 Time.deltaTime
  • UNT0006:检测到此 Unity 消息的方法签名不正确。
  • UNT0007:Unity 重写与 null 合并不兼容的 Unity 对象的 null 比较运算符。
  • UNT0008:Unity 重写与 null 传播不兼容的 Unity 对象的 null 比较运算符。
  • UNT0009:将 InitializeOnLoad 特性应用于类时,需要提供静态构造函数。 InitializeOnLoad 特性可确保在编辑器启动时调用该函数。
  • UNT0010:只应使用 AddComponent() 创建 MonoBehaviour。 MonoBehaviour 是一个组件,需要附加到 GameObject
  • UNT0011:只应使用 CreateInstance() 创建 ScriptableObject。 ScriptableObject 需要由 Unity 引擎创建,才能处理 Unity 消息方法。

新诊断抑制器

  • IDE0029 的 USP0001:Unity 对象不应使用 null 合并
  • IDE0031 的 USP0002:Unity 对象不应使用 null 传播
  • IDE0051 的 USP0003:Unity 消息由 Unity 运行时调用
  • IDE0044 的 USP0004:不应将具有 SerializeField 特性的字段设为只读

我们还为使用 Visual Studio for Mac 的 Unity 开发人员进行了以下改进:

  • 改进了附加到实例对话中显示的信息,包括进程 ID
  • 添加了检查字节数组和字符串时对十六进制编辑器的支持
  • 在调试器中添加了对指针成员访问的支持,即 p->foo->bar
  • 添加了对数组初始值设定项中的隐式转换支持,即 new byte [] {1,2,3,4}

Xamarin

Xamarin.Forms

适用于 Xamarin.Forms 的 XAML 热重载

现在可以在 Visual Studio for Mac 中使用适用于 Xamarin.Forms 的 XAML 热重载的公共预览版! XAML 热重载可以通过调试应用以适应仿真器、模拟器或物理设备,更改 XAML 并保存以查看这些更改是否在当前运行的应用上立即反映出来,从而快速循环访问 UI。

若要启用 XAML 热重载,请在“Visual Studio”>“首选项”>“项目”>“Xamarin 热重载”中选中“启用 Xamarin 热重载”复选框。

有关详细信息,请参阅 XAML 热重载文档

XAML Hot Reload graphic
内置到 Visual Studio for Mac 中的 XAML 热重载

XAML 预览器中的视觉对象材料设计

使用 Xamarin.Forms 视觉对象的材料设计现在可以在 Xamarin.Forms XAML 预览器中预览 iOS 和 Android。 有关 XAML 预览器的详细信息,请参阅 XAML 预览器文档。

提示

有关 Xamarin.Forms 所有新内容的详细信息,请参阅 Xamarin.Forms 发行说明

Xamarin.Android

添加了对 Xamarin 的 Android 10 支持

现在可以在 Xamarin.Android 中使用 Android 10 API。 要开始针对 Android 10 进行开发,可将“使用以下 Android 版本编译:(目标框架)”设置为 Visual Studio for Mac 项目属性页 Build > General 选项卡下的“Android 10.0 (Q)”。 Android 10 的新增功能包括:

  • 支持深色主题以确保为启用系统级深色主题的用户提供一致的体验。
  • 支持手势导航(应用中),通过进入全屏幕模式并确保自定义手势与系统导航手势互补。
  • 针对可折叠进行优化: 提供当今创新的可折叠设备的无缝边对边体验。
  • 更多的交互式通知,通过在通知中启用建议的答复和操作来与用户联系。
  • 更好的网络 API,适用于 Wi-Fi 网络请求和连接。
Set the Compile using Android graphic
将“使用以下 Android 版本编译:(目标框架)”设置为 Android 10.0 (Q)。

若要了解关于 Android 10 的详细信息,请参阅我们的文档

改善了 Android 设计器的拆分视图体验

编辑 Android 布局时,我们对拆分视图体验做了大量改进:

  • 脱字号同步:在源编辑器中移动脱字号时,将自动选择项。
  • 工具箱元素现在可以拖放到设计图面和源编辑器。
  • 现在支持“切换注释”命令。

提示

有关 Xamarin.Android 所有新内容的详细信息,请参阅 Xamarin.Android 发行说明

Xamarin.iOS

Xcode 11 和 iOS 13 支持

此版本添加了对 Xcode 11 的支持,以构建和调试适用于 iOS 13、tvOS 13 和 watchOS 6 的应用。 有关可用新功能的更多详细信息,请参阅 iOS 13 简介

上传到 App Store Connect

由于应用程序加载程序包含在 Xcode 中,因此可使用 Visual Studio for Mac 中的发布向导上传到 App Store Connect。 有关此工作流的详细信息,请参阅将 Xamarin.iOS 应用发布到 App Store

约束编辑器

Xamarin Designer for iOS 引入了一种处理约束的新方法。 选择可约束视图后,此时工具栏中的“约束固定模式”选取器选择器旁将显示省略号。 单击省略号可显示用于编辑所选视图约束的弹出框:

Constraints Pining Mode Graphic
“约束固定模式”选取器

提示

有关 Xamarin.iOS 所有新内容的详细信息,请参阅 Xamarin.iOS 发行说明

新的“管理 NuGet 包”对话框

现在,可以通过“管理 NuGet 包”对话框一步为多个项目安装、更新或卸载 NuGet 包:

Managing NuGet packages Graphic
Visual Studio for Mac 中解决方案的管理 NuGet 包

旧的“添加包”对话框已替换为新的“管理 NuGet 包”对话框,其中包含四个选项卡,让你可以更好的控制 NuGet :

  • 浏览 - 显示所选包源中可用的包。
  • 已安装 - 显示解决方案中安装的包,或项目(如果是管理单个项目的包)。
  • 更新 - 显示可用于解决方案的包更新,或项目(如果是管理单个项目的包)。
  • 合并 - 显示在解决方案中具有不同版本的包。

若要打开解决方案的“管理 NuGet 包”对话框,请执行以下操作:

  1. 确保“解决方案”窗口中选择了解决方案。
  2. 右键单击解决方案并选择“管理 NuGet 包”,或从项目菜单中选择“管理 NuGet 包” 。

选项卡具有以下用途:

安装/卸载

若要将包安装到多个项目中,请执行以下操作:

  1. 在“浏览”选项卡中选择包。
  2. 单击“添加包”按钮。
  3. 选中“选择项目”对话框中的项目,然后单击“确定”,如下所示:
Select Projects dialog graphic
Visual Studio for Mac 中的“选择项目”对话框

从多个项目中卸载包:

  1. 选择“已安装”选项卡。
  2. 选择要卸载的包。
  3. 单击“卸载包”按钮。
  4. 选中要从包中卸载的项目,然后单击“确定”。

更新

更新多个项目中的包:

  1. 在“更新”选项卡中选择包。
  2. 单击“更新包”按钮:
  3. 选中“选择项目”对话框中的项目,然后单击“确定”。

合并

合并多个项目中的包:

  1. 选择“合并”选项卡。

  2. 选择要合并的包。

  3. 选中或取消选中项目列表中的项目。 默认情况下,将选中包含所选 NuGet 包的项目。

  4. 选择要合并的包版本。 默认情况下,将选择最新的包版本。

  5. 单击“合并”按钮:

    NuGet Packages Dialog graphic
    Visual Studio for Mac 中“管理 NuGet 包”对话框中的“合并”选项卡

管理单个项目的 NuGet 包:

  1. 选择 Solution Pad 中的项目。
  2. 右键单击项目,然后选择“管理 NuGet 包”并按照上述步骤进行操作。 请注意,“合并”选项卡将不会显示,但“浏览”、“已安装”和“更新”选项卡将可用

固定文档

此版本中引入了固定文档选项卡的功能,你可以固定你喜欢的文件选项卡,使其始终打开并可见:

Pinned Tabs Graphic
固定选项卡

若要固定选项卡,请使用“固定”图标、文档上下文菜单或“固定/取消固定选项卡”命令 (⌥⌘P) 。 也可以通过在工作区中拖动来重新排列固定的选项卡。

欢迎屏幕 - 最喜欢的键盘快捷方式

Visual Studio for Mac 新用户需要在首次运行体验过程中选择最喜欢的键盘快捷方式方案,如上所述。 当然,也可以之后在“Visual Studio”>“首选项”下选择方案或从头开始构建自己的方案。

Welcome Screen Keyboard Shortcuts Graphic
欢迎屏幕 - 键盘快捷方式

Visual Studio for Mac 现在支持源链接。 这使你可以调试来自 NuGet 包的源代码,该包带有指向源文件链接的 PDB。 Visual Studio for Mac 将检测源文件是否可用,并提供源文件下载,使你可以单步执行包代码。 源链接也适用于 Mono BCL 代码,使你也可以单步执行 .NET Framework 代码。

Step into External Code option graphic
单步执行外部代码选项
Link Prompt graphic
源链接提示

新包更新信息

现在会在 Solution Pad 中显示 SDK 样式项目的包更新信息

显示 SDK 样式和非 SDK 项目信息的方式已变得一致。 现在会展示一个显示了更新后的 NuGet 包版本的更新图标。 已安装的版本现显示在所有项目类型的 NuGet 包 ID 旁边:

NuGet Package Updates Solution Window Graphic
Visual Studio for Mac 中“解决方案”窗口中的 NuGet 包更新

Installer

已在安装程序中进行以下改进:

  • 我们添加了一些附加验证,现在可以更快地下载包。
  • 如果下载失败或由于某种原因而中断,则安装程序将从故障点恢复,而不是从开始恢复。 如果缓存文件出于任何原因损坏,将重新下载产品。
  • 现在,安装程序将为每个包显示更准确的进度。
  • 我们还增加了安装过程中的其他 UI 改进。 现在,我们可以准确地显示必须安装的包数量以及尚未安装的包数量。
  • 我们始终会尝试安装 Xamarin、.NET Core 和 Mono 的推荐发行版本。 有时这将意味着使版本降级,以使你进入受支持的状态。
  • 我们修复了授权问题。 在安装过程中,每隔 5 分钟才会显示一次密码提示。
  • 现在,如果没有可执行的操作,将隐藏“位置”按钮。

Bug 修复

安装

我们修复了安装程序中的以下主要问题:

  • 针对 Catalina 的 bug 修复。
  • 修复了通过本地化语言使用时数字分隔符配置导致百分比增加的 bug
  • 修复后,仅需安装 VSFMac 时将显示正确大小。

Web 和 Azure

我们修复了 .NET Core 和 ASP.NET Core 支持和工具存在的以下主要问题:

  • 安装更新后,.NET Core SDK 3.0.100 仍会出现在更新程序中。
  • 建议对信任开发证书执行不正确的命令。
  • JavaScript 文件类型模板不在“添加”>“新建文件”>“Web”下。
  • Visual Studio for Mac 将新的 JSON 文件另存为 UTF-8 BOM
  • 在删除具有子文件的文件时,无法删除一个文件。
  • 重启 IDE 后,Web 应用 URL 还原为 5001。
  • 当用户选择“启动但不调试”时,不会选取环境变量。
  • “包括在项目中”上下文菜单在不应出现的时候出现。

我们修复了 Azure 存在的以下主要问题:

Shell 和工具

我们修复了 IDE 存在的以下主要问题:

源代码编辑

我们修复了在编辑源代码时存在的以下主要问题:

版本控制

我们修复了版本控制中存在的以下主要问题:

  • 在 Xcode Interface Builder 中打开 Storyboard 时,IDE 在版本控制中挂起。
  • 切换分支时,Visual Studio 2019 for Mac 会冻结
  • 在 Git 版本控制下重命名文件会使 IntelliSense 消失。
  • 先打开 C# 文件再打开解决方案时,“版本控制”选项卡不会显示。
  • 应用程序包包含使用 Git 时不应使用的文件。
  • IDE 在发布到 GitHub 时崩溃。
  • 弹出一个包含冲突的 git 储藏,提供了无效的警告,但没有提供更多的日志。
  • 用子模块克隆项目停止,出现错误“版本控制操作已存档”。
  • Visual Studio 在尝试提交到 Git 时崩溃/退出
  • “更改”选项卡不会刷新。
  • Solution Pad 中的 Diff/View 命令中断。
  • “Create Patch”命令中断。
  • 在载入“差异/比较”视图时,修改速度非常缓慢。
  • VS for Mac 在 git 还原时冻结
  • 新编辑器缺少版本控制文档视图。
  • 使用用户名和密码签出存储库时不保留用户名。
  • 在没有端口的情况下,无法通过 svn+ssh 使用 Subversion
  • 切换分支不适应目标框架更改。
  • 尝试从 Azure DevOps Git 提取分支时出现 SIGABRT。

测试工具

我们修复了测试存在的以下问题:

  • 不能从 IDE 执行 MonoDevelop.VersionControl.Git.Test 中定义的单个测试,因为无法加载 LibGit2Sharp 程序集。

项目系统

修复了 Projects 存在的以下问题:

NuGet

我们修复了 NuGet 存在的以下问题:


已知问题

  • 适用于 Xamarin.Forms 的 XAML 热重载在 iOS 设备上不起作用,并在几分钟后显示一个信息栏,要求你报告问题。 将在即将发布的版本中修复此问题。
  • 创建 Xamarin 多平台应用时缺少“共享代码”选项。

重要

Visual Studio 2019 for Mac 可安装在 macOS Catalina Beta 上,但不能按预期使用预览版操作系统。 请使用报告问题告诉我们你在使用 Visual Studio for Mac 和 Catalina 时发现的任何问题。


反馈和建议

我们期待你的宝贵意见和建议! 可通过 Visual Studio for Mac IDE 中的报告问题选项报告问题。 可在开发人员社区门户中跟踪自己的反馈,包括建议。


返回页首