- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
Visual Studio 2022现已与它支持的 .NET 6 一起正式发布。它包括许多新功能和改进,例如可以为您自动完成代码块的 AI IntelliCode。
您可以 从他们的网站下载安装程序。虽然它仍然是新的,但它仍然是 Visual Studio,所以除非您依赖尚未更新的扩展,否则不要害怕尝试一下。
我们将介绍我们发现的最重要的更改,但如果您想逐行阅读补丁说明,可以从 Microsoft 的文档中进行。还有一个描述总体方向的路线图。
Visual Studio 一直是 32 位的,这意味着它在主进程中被限制为 4 GB 的 RAM。对于正常项目,它通常不会超出此预算,但某些用户可能会在使用特别大的解决方案时遇到 Out-Of-Memory 异常。
在 VS 2022 中,它已修复,现在是 64 位应用程序。微软已经用 1600 个项目和 300k 个文件测试了项目,并且运行良好。
64 位理论上应该运行得更快,而且它在启动时间上似乎确实快了一点,但微软也一直在努力提高性能,所以很难说这实际上对它有多大影响。无论哪种方式,一个很好的改变。
当然,你仍然可以使用 VS 2022 开发 32 位应用程序。这只适用于编辑器。
Visual Studio 2022对其 IntelliCode 自动完成引擎进行了重大升级。它能够自动完成整行代码和代码块,而且效果很好。
它与GitHub 的 Copilot有点不同,后者做着类似的工作。Copilot 将生成整个代码片段,并且最适合具有清晰解决方案的小型包含函数。这很棒,但它也有自己的问题,主要是它生成的代码甚至不能保证是你想要的(并且可以从随机的 GitHub 存储库中逐字提取代码,这完全是另一个问题)。
IntelliCode 采用了更受限制的方法,只需完成一行,同时考虑以下一些因素:
使用两周后,真的是需要自己去尝试一下了。它非常聪明,很多次在使用它时我发现自己在想“哇,我正要打字!”
例如,编写一个从 1 到 12 的函数:
为了理解和提供这个结果,IntelliCode 所做的不仅仅是自动完成语法;它知道我期待一个异常,很明显我正在输入“throw”,并且它可以确定只有在整数大小比较失败时才会抛出这个异常。它知道这Width是在代码运行之前检查的参数,并且我抛出异常是因为参数有问题。
知道这一切后,它需要对我的意图进行非常准确的猜测,并ArgumentOutOfRangeException 在我开始输入“new”之前确定我必须输入的内容。
而且,如果您向下翻页,您可以填写不同选项的结果。它仍然有点不一致(它决定硬编码“宽度”,然后再使用 nameof),但总的来说,它运行良好。
IntelliCode 一直在运行,您只需按 tab-tab 键接受它,否则,您可以继续输入。目前,它仅适用于 C#,但更多语言“即将推出”。
.NET 6 是最新版本。VS 2022 内置支持它及其所有功能,新项目默认使用 .NET 6。
最值得注意的是,VS 2022 完全支持 .NET MAUI 或多平台应用程序 UI,这是微软跨平台原生应用程序开发的新标准。
编程中最烦人的事情之一就是盯着你的屏幕,等待你的应用程序编译和启动,并使用最新的更改进行更新。热重载是许多其他语言(如 JavaScript)的一项功能,并且已被 React 等 Web 框架用于进行快速更改。不过,到目前为止,还没有针对 .NET 的标准化解决方案。
它不是完全通用的,并且需要特定的项目设置,但 VS 2022 包括针对“WPF、Windows 窗体、.NET MAUI 预览、ASP.NET Core 应用程序代码隐藏、控制台应用程序、WinUI 3 等”的热重载。这不包括其他应用程序使用的类库。
某些类型的更改可能无法正确应用,这将提示您进行正确的重新启动。您可以在此处查看它们的完整列表,但其要点是:
基本上,您可以用任何方法编辑代码,但是一旦开始接触项目结构,您可能必须重新启动。
它很好地集成到了 VS 调试体验中,带有一个用于触发热重载的“应用代码更改”的新图标。您还可以使用新dotnet watch 命令在文件更改时自动热重载。
Razor/Blazor Web 应用程序当前可以使用热重载。
VS 2022 包含一个实验性预览,允许您在其他环境中运行测试,包括 Linux 容器、WSL,甚至通过 SSH。
它有一些设置,您当然需要确保您的环境配置为正确运行您的代码,但是一旦设置好,您就可以在运行测试时选择不同的环境。
补丁说明中有很多小改动,因此我们将在此处列出一些最有趣的改动。
调试已经看到了一些生活质量的改进,为更高级的断点提供了新的上下文选项,以及“强制运行到光标”,它将忽略所有现有的断点并停止在您选择的代码行上。如果您想在不删除每个断点或手动跳过所有内容的情况下测试某些内容,这将非常有用。
VS 的 Git 集成现在支持每个解决方案的多个存储库,并且现在跨多个存储库提交更容易。
所有图标都经过重新设计以保持一致性。
XML 注释现在支持保留空白和 CDATA 块的多行注释。
在多目标项目中,“查找所有引用”不再产生垃圾重复输出。
Razor Pages/Blazor 已经获得了大量的编辑集成,现在可以更好地与 IntelliSense、语法突出显示和 @code 块中的更好格式配合使用。您现在还可以在 Razor 文件中使用“查看代码”,这在一段时间内一直是一个令人讨厌的限制。
还有一些项目模板,包括 ASP.NET Core 托管的 Angular 和 React 应用程序,它们可以通过 API 自动集成来实现。
为了方便大家管理系列博文,今天发布一个预览版新功能——合集。 您可以在博客后台 合集 栏目中创建新合集 或者在编辑博文时快捷地创建新合集 然后可以在编辑时将博文与合集关
我正在尝试实现 AirDrop我的 iOS 应用程序中的功能。但是,我无法找到有关此功能的任何特定教程或资源。有人可以向我提供有关 AirDrop 实现的示例或链接吗? iOS 7 中的功能? 非常感
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
是否需要重写 equals() 方法来在 Switch 案例中使用 String 数据类型 最佳答案 您不仅不需要这样做,而且根本无法这样做(String 是 final)。 关于Java 7 新功能
我有一些关于 DB2 NF 模式的客户问题。谷歌对此知之甚少。 我已经能够 推断 以下,但我并不完全相信它...... NF 和 CM(兼容模式)是大型机上 DB2 v8 上的设置。 CM 中 z/O
Market 添加了设备兼容性检查。现在我们可以检查应用程序是否适用于特定设备,例如 HTC 手机、三星 Galaxy 等。 开发者方面如何:我们如何才能只为特定设备构建应用程序或限制只为平板电脑开发
fastlane supply android元数据具有以下结构: └── fastlane └── metadata └── android ├──
所以我的理解是,当对象的最后一个剩余所有者被销毁或重新分配时,shared_ptr 会自动从内存中释放,(看起来好得令人难以置信?)并且当许多实例可能共享同一个对象时它很有用。正确吗? 所以在我的例子
这个问题在这里已经有了答案: Backticks (`…`) calling a function in JavaScript (3 个答案) 关闭 6 年前。 遇到过这个例子,完全迷路了... c
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 4年前关闭。 Improve t
我是 Laravel 5 的新手。我目前正在做一个带有 CRUD 功能的任务项目。我做了删除功能,但是update和add还是乱七八糟的。请帮助我。 我的数据库只有 1 个表,'tasks' 有 3
根据 Sass 3.3 发行说明,以下代码应该可以工作。 @mixin element($name) { @at-root #{&}__#{$name} { @cont
我们如何监听“http.Server”事件?或者我们如何实例化一个“http.Server”对象? 根据nodejs.org/api.html: “http.Server”是一个 EventEmitt
我正在开发一个 React 应用程序,该应用程序从 Rails api 提供数据。我目前正在开发一个包含嵌套关联的表单(即 model_a 中有许多 model_b,您可以以相同的表单创建它们)。 我
在我的应用程序中,我想使用 iOS 7 的新功能:静默远程通知。另外,还要保证在iOS 6下能正常安装运行。这两个场景会不会冲突? 我试过这个: #ifdef IOS7_OR_LATER - (voi
我是 Apple 平台的新手,我从 xcode 7 和 swift 开始。我想为最新版本的 iOS (9.0) 创建应用程序,但支持 2 个旧版本,如 8 和 7。 基础 SDK:最新 (iOS 9.
在我的Redis缓存中,我已经运行 SET 12345 JoeDude SET JoeDude "It works!!" 我有一个Lua脚本,打算从终端运行: lua local user=redis
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 8年前关闭。 Improve this qu
我正在redis中编写一个lua脚本,并在 Spring 执行它,内容很简单 local store = redis.call('hget',KEYS[1],'capacity') print(s
“选择调试应用程序”和“等待调试器”是果冻 bean 的新功能,有人知道如何使用这些新功能吗? 最佳答案 我在这里找到了答案:http://developer.android.com/tools/de
我是一名优秀的程序员,十分优秀!