IntelliJ IDEA 2023.1 最新变化
文章目录
- IntelliJ IDEA 2023.1 最新变化
- 一. 主要更新
- 1. 新 UI 增强 测试版
- 启用新 UI
- 2. 在项目打开时更早提供 IDE 功能
- 3. 更快地导入 Maven 项目
- 4.后台提交检查
- 5. Spring Security 匹配器和请求映射的导航 Ultimate
- 二. 用户体验
- 1. 全 IDE 缩放
- 2. 保存多个工具窗口布局的选项
- 3. 新的 *Remember size for each tool window*(记住每个工具窗口的大小)设置
- 5. 示例项目中的入门提示
- 6. 为新项目配置 *Actions on Save*(保存时的操作)的设置
- *7. Search Everywhere*(随处搜索)中机器学习驱动的类搜索默认启用
- 8.重新配置 Microsoft Defender 设置以获得更好性能的新建议
- 三. 编辑器
- 1. 指定粘贴内容的位置的选项
- 2. 仅显示所选代码中空格的选项
- 3. 自定义基于正则表达式的搜索和替换检查
- 4. 重新格式化 Markdown 文件中表的新意图操作
- 5. Markdown 文件的 *Fill Paragraph*(填充段落)
- 6. Markdown 的新 *Smart Keys*(智能按键)设置页面
- 7. 不检查哈希和特殊值的拼写
- 四.Java
- 1. 新的 Java 检查
- 2. Java 20 支持
- 3. 改进了 *Extract Method*(提取方法)重构
- 4. *VM Options*(虚拟机选项)字段中的自动补全
- 五. 分析器
- 1.针对 *Flame Graph*(火焰图)标签页改进了 UI Ultimate
- 六. 版本控制系统
- 1. *Structure*(结构)工具窗口中的 VCS 状态颜色提示
- 2. 针对 GitHub 改进了代码审查工作流
- 3. 改进了 *Branches*(分支)弹出窗口
- 4. *Create New Branch*(创建新分支)弹出窗口中的自动补全
- 七. 构建工具
- 1. 在项目创建时指定 Gradle 版本的选项
- 2. 从 Gradle 工具链检测 Java SDK
- 八. 运行/调试
- 1. 指定自定义快捷键以使用覆盖率运行当前文件的选项
- 2. 在 *Coverage*(覆盖率)视图中筛选类的选项
- 九. 框架和技术
- 1. Spring Security 6 支持 Ultimate
- 2. 在 Spring 运行配置中将构建和运行委托给 Gradle Ultimate
- 3. 通过 VCS 共享 Spring 和 JPA facet 设置的选项 Ultimate
- 4. 从 Spring 和 Micronaut Data 仓库在 *Database*(数据库)控制台中运行 MongoDB 查询 Ultimate
- 5. Project Reactor:针对反应式代码改进了检查 Ultimate
- 6. Apache Dubbo 支持 Ultimate
- 7. 针对 OpenAPI 生成的 Swagger 注解识别 Ultimate
- 8. 在多个文件上拆分编辑 OpenAPI 规范部分的选项 Ultimate
- 9. 从 *Endpoints*(端点)工具窗口运行 GRPC 请求的选项 Ultimate
- 10. 针对 Ktor 中 application.yaml 配置文件改进了编辑支持 Ultimate
- 十. Docker
- 1. 来自所有 Docker Compose 容器的合并日志
- 2. 对 Azure 容器注册表的支持
- 3. 应用 `:z` 装载选项以在 SELinux 上绑定卷的新设置
- 4. Services(服务)工具窗口中的 Docker 容器健康状态
- 5. Docker 调试 已被弃用
- 十一. Kubernetes
- 1. *New Kubernetes Resource*(新建 Kubernetes 资源)弹出窗口中的文件模板 Ultimate
- 2. 创建新 Kubernetes 机密的操作 Ultimate
- 3. 从集群加载的 Kubernetes 资源的颜色编码更改标记 Ultimate
- 4. 改进了 kubeconfig 文件的用户体验 Ultimate
- 5. 为 *Services*(服务)视图中的操作指定自定义快捷键 Ultimate
- 十二. 远程开发和协作
- 1. 仅 Сode With Me 会话主持人可用条目的额外洞察
- 2. Code With Me 中的一键式权限请求和审批
- 3. 改进了最近的远程开发项目的概览 Ultimate
- 十三. Web 开发
- 1. Astro 支持 Ultimate
- 2. Vue 模板中对 TypeScript 的支持 Ultimate
- 3. 字符串到模板文字的自动转换 Ultimate
- 4. Tailwind CSS 配置 Ultimate
- 十四. Scala
- 1. 改进了针对无大括号 Scala 语法的支持
- 2.改进了对 sbt 项目的支持
- 3. 升级了 Scala 检查
- 4. 针对 Scala 3 的代码编辑改进
- 5. 简化了 import 管理
- 6. 针对 Scala 3 和 Scala 2 反编译器的改进
- 十五. 其他
- 结语
IntelliJ IDEA 2023.1 最新变化
在 IntelliJ IDEA 2023.1 中, 根据用户的宝贵反馈对新 UI 做出了大量改进。 还实现了性能增强,从而更快导入 Maven,以及在打开项目时更早提供 IDE 功能。 新版本通过后台提交检查提供了简化的提交流程。 IntelliJ IDEA Ultimate 现在支持 Spring Security 匹配器和请求映射的导航。 此版本包含一系列其他值得注意的升级和改进,如下文所述。
一. 主要更新
1. 新 UI 增强 测试版
根据有关 IDE 新 UI 的反馈,我们针对最热门的请求实现了多项更新。 我们引入了 Compact Mode(紧凑模式),通过缩小间距和元素提供更统一的 IDE 外观。 新 UI 提供了垂直拆分工具窗口区域和便捷排列窗口的选项,与在旧 UI 中相同。 主窗口标题中的 Run(运行)微件经过重新设计,外观更柔和、更悦目。 详细了解新 UI 增强,我们也继续邀请您尝试新 UI!
启用新 UI
2. 在项目打开时更早提供 IDE 功能
我们通过在智能模式下执行 Scanning files to index(正在扫描要建立索引的文件)进程改进了 IDE 启动体验。 这样可以在启动过程中更早地提供完整的 IDE 功能。 打开项目时,IntelliJ IDEA 2023.1 会使用项目先前会话中的现有缓存,并同时查找要建立索引的文件。 如果在扫描中没有发现更改,IDE 将准备就绪,消除此前启动时建立索引所造成的延迟。
3. 更快地导入 Maven 项目
我们通过优化依赖项解析以及重做导入和配置 facet 背后的流程,显著提高了 IDE 在导入 Maven 项目时的性能。
4.后台提交检查
我们重做了 Git 和 Mercurial 提交检查的行为,加快了整个提交流程。 检查将在提交之后且推送之前在后台执行。
5. Spring Security 匹配器和请求映射的导航 Ultimate
为了使应用的安全规则更易查看,IntelliJ IDEA Ultimate 2023.1 提供了从 Spring 控制器到安全匹配器的轻松导航。 导航可在安全匹配器和控制器之间双向进行。
二. 用户体验
1. 全 IDE 缩放
在 v2023.1 中,可以完全放大和缩小 IDE,同时增加或缩减所有 UI 元素的大小。 从主菜单中,选择 View | Appearance(视图 | 外观),调整 IDE 的缩放比例。 此外,您可以在 Settings/Preferences | Keymap | Main Menu | View | Appearance(设置/偏好设置 | 按键映射 | 主菜单 | 视图 | 外观)中指定调用这些操作的自定义快捷键。
2. 保存多个工具窗口布局的选项
在 IntelliJ IDEA 2023.1 中,您可以保存和管理多个工具窗口布局,并根据需要在它们之间切换。 要保存新布局,首先请根据需要排列工具窗口,然后转到 Window | Layouts | Save Current Layout as New(窗口 | 布局 | 将当前布局另存为新布局)。 如果您进一步调整布局,可以使用 Save Changes in Current Layout(保存当前布局中的更改)选项更新当前设置,或将这些更改保存为单独的自定义布局。 要激活已保存的布局,首先在 Window | Layouts(窗口 | 布局)的列表中找到它,将鼠标悬停在它的名称上,然后点击 Apply(应用)。
3. 新的 Remember size for each tool window(记住每个工具窗口的大小)设置
在 IntelliJ IDEA 2023.1 中,我们引入了一个新的布局选项,允许您统一侧面工具窗口的宽度或保留在自定义布局时自由调整其大小的能力。 新的 Remember size for each tool window(记住每个工具窗口的大小)复选框位于 Settings/Preferences | Appearance & Behavior | Tool Windows(设置/偏好设置 | 外观与行为 | 工具窗口)中。 在这篇博文中了解这个设置如何适用于新旧 UI。
[
5. 示例项目中的入门提示
对于刚接触 IntelliJ IDEA 和编码的用户,我们引入了打开包含示例代码与入门提示的新项目的选项。 在 New Project(新建项目)向导中,选中 Generate code with onboarding tips(使用入门提示生成代码)获得基本沙盒项目,其中包含演示 IDE 基本功能的提示。 遵循这个小指南,用户可以尝试 Search Everywhere(随处搜索)功能、应用快速修复、运行和调试代码,从而更快地熟悉 IDE。
6. 为新项目配置 Actions on Save(保存时的操作)的设置
IntelliJ IDEA 2023.1 添加了为新项目预定义 Actions on Save(保存时的操作)行为的选项。 转到 File | New Projects Setup | Preferences For New Projects | Tools | Actions on Save(文件 | 新项目设置 | 新项目偏好设置 | 工具 | 保存时的操作),选择在未来项目中保存更改时要触发的操作。
7. Search Everywhere(随处搜索)中机器学习驱动的类搜索默认启用
为了提供更有意义和更准确的搜索结果,我们将机器学习排名进一步集成到 Search Everywhere(随处搜索)(按两下 Shift)功能中。 Classes(类)标签页中的排序算法现在也默认由机器学习驱动,与 Actions(操作)和 Files(文件)标签页中的结果相同。
8.重新配置 Microsoft Defender 设置以获得更好性能的新建议
IntelliJ IDEA 2023.1 包含一个新通知,会在启用 Microsoft Defender 实时保护时触发。 由于这些防病毒检查会显著降低 IDE 的速度,IntelliJ IDEA 会建议将特定文件夹添加到 Defender 的排除项列表。 通知提供了自动重新配置这些设置或首先检查 Defender 的配置说明并手动执行的选项。
三. 编辑器
1. 指定粘贴内容的位置的选项
在 v2023.1 中,我们微调了粘贴复制或剪切时未选择内容的行时的用户体验。 新增了一个允许您控制粘贴内容位置的特殊设置。 在 Settings/Preferences | Advanced Settings(设置/偏好设置 | 高级设置)中,找到 Editor(编辑器)版块,然后从下拉列表中为 Paste(粘贴)操作选择所需行为。
2. 仅显示所选代码中空格的选项
IntelliJ IDEA 2023.1 在 Settings/Preferences | Editor | General | Appearance | Show Whitespaces(设置/偏好设置 | 编辑器 | 常规 | 外观 | 显示空格)中提供了一个新的 Selection(选区)复选框,允许您配置这个设置,让 IDE 仅在选择代码时将空格显示为小点。
3. 自定义基于正则表达式的搜索和替换检查
借助 IntelliJ IDEA 2023.1,您可以使用正则表达式创建自己的搜索和替换检查。 这些检查对于高亮显示基于样式或基于格式的问题特别实用。 在这篇博文中了解详情。
4. 重新格式化 Markdown 文件中表的新意图操作
一项新意图操作可用于更正 Markdown 文件中表的格式设置。 您可以通过 Context actions(上下文操作)快捷键 (Alt+Enter) 或点击黄色灯泡图标并从出现的列表中选择 Reformat table(重新格式化表)来使用快速修复。
5. Markdown 文件的 Fill Paragraph(填充段落)
Markdown 文件现在支持 Fill Paragraph(填充段落)编辑器操作,您可以将长文本分成几个长度相等的行。 为此,将文本光标置于要编辑的段落内,然后从 Edit(编辑)菜单调用操作,或使用 Find Action(查找操作,Ctrl+Shift+A)搜索 Fill Paragraph(填充段落)命令。
6. Markdown 的新 Smart Keys(智能按键)设置页面
我们在 Settings/Preferences | Editor | General | Smart Keys(设置/偏好设置 | 编辑器 | 常规 | 智能按键)中添加了一个专属页面,用于配置和编辑 Markdown 偏好设置。 这个页面简化了偏好设置管理,为不同编辑器功能提供单独的复选框,取代了以前 Settings/Preferences | Languages & Frameworks(设置/偏好设置 | 语言和框架)中的单个复选框。
7. 不检查哈希和特殊值的拼写
更新的 Typo(拼写错误)检查不再检查哈希和特殊值的拼写,也不会将其报告为拼写错误。 此更新涵盖以下值:
Md5
、Sha1
和Sha256
十六进制值。- 带有
shaNNN-
前缀的Sha384
和Sha512
base64 编码的完整性值。 JWT
令牌。
四.Java
1. 新的 Java 检查
为了帮助保持代码干净无误,我们升级了一些现有 Java 检查并添加了新的检查。 Malformed format string(格式错误的字符串)检查现在会报告不符合常见 Java 语法的非法时间转换。 Redundant String operation(冗余的 String 操作)检查现在能够检测冗余的 StringBuilder.toString()
调用并提供快速修复将其替换为 contentEquals()
,从而让您可以不创建中间 String
对象。 它还报告 String
构造函数调用中不必要的实参,并建议将其移除的快速修复。 在这篇博文中详细了解 IntelliJ IDEA 2023.1 的其他代码检查改进。
2. Java 20 支持
IntelliJ IDEA 2023.1 继续减轻 Java 开发者的认知负担,支持 Java 20 中添加的最新更新,包括对语言功能 *Pattern Matching for switch (switch 模式匹配)*和 *Record Patterns (Record 模式)*的更改。 有关详情,请参阅此博文。
3. 改进了 Extract Method(提取方法)重构
借助一个新选项,即使所选代码段具有多个需要返回的变量,升级的 Extract Method(提取方法)重构也可应用。 在这些情况下,IDE 会首先建议将变量包装到一个新的记录或 Bean 类中,然后执行方法提取。
4. VM Options(虚拟机选项)字段中的自动补全
我们已将自动补全功能集成到 Run/Debug configuration(运行/调试配置)弹出窗口的 VM Options(虚拟机选项)字段中。 现在,输入标志的名称时,IDE 会建议可用命令行选项的列表。 这适用于 -XX:
和 -X
选项,以及一些未由 IntelliJ IDEA 自动配置的标准选项,如 -ea
,但不适用于 -cp
或 –release
。
五. 分析器
1.针对 Flame Graph(火焰图)标签页改进了 UI Ultimate
我们更新了 Flame Graph(火焰图)标签页,为调用引入了颜色编码的高亮显示。 属于当前打开的项目的方法现在以黄色高亮显示。 由此,您可以轻松区分能够修改以解决给定性能问题的代码。 我们还重做了 Flame Graph(火焰图)标签页的整体配色方案,使其更加柔和。
六. 版本控制系统
1. Structure(结构)工具窗口中的 VCS 状态颜色提示
我们在 Structure(结构)工具窗口中添加了颜色提示,使文件更改更易于跟踪。 被修改对象的名称现在为蓝色,新添加对象的名称在工具窗口中高亮显示为绿色。
2. 针对 GitHub 改进了代码审查工作流
为了简化在 IDE 中审查代码的过程,我们重做了 Pull Request(拉取请求)工具窗口。 它现在为您打开的每个拉取请求提供一个专用标签页。 标签页会立即显示已更改文件的列表,但它提供的信息比先前更少,让您可以更好地专注于当前任务。 现在,可以通过一个新增的专属按钮轻松执行拉取请求当前状态下最相关的操作。
3. 改进了 Branches(分支)弹出窗口
我们改进了 Branches(分支)弹出窗口的实用性。 例如,分支被分组并存储在可扩展列表中,导航更加轻松。
4. Create New Branch(创建新分支)弹出窗口中的自动补全
IntelliJ IDEA 2023.1 在 Create New Branch(创建新分支)弹出窗口中提供了自动补全。 为新分支输入名称时,IDE 将根据现有本地分支的名称建议相关前缀。
七. 构建工具
1. 在项目创建时指定 Gradle 版本的选项
配置新的 Gradle 项目时,现在可以直接在 New Project(新建项目)向导中选择所需包装器版本。 展开 Advanced Settings(高级设置)版块,取消选中 Auto-select(自动选择),然后指定首选选项。 您可以在 Gradle version(Gradle 版本)组合框下方启用 Use these settings for future projects(将这些设置用于未来的项目),让 IDE 记住您的选择。
2. 从 Gradle 工具链检测 Java SDK
导入项目时,IntelliJ IDEA 2023.1 现在可以检测 Gradle 工具链配置并在模块设置中设置匹配的 Java SDK。
八. 运行/调试
1. 指定自定义快捷键以使用覆盖率运行当前文件的选项
在 IntelliJ IDEA 2023.1 中,可以为当前打开的文件创建快捷键启动 Run with coverage(使用覆盖率运行)操作,即使尚未创建运行配置。 要指定此类快捷键,首先转到 Settings/Preferences | Keymap(设置/偏好设置 | 按键映射),查找 Run with Coverage context configuration(使用覆盖率上下文配置运行)选项,然后为其添加新的组合键。
2. 在 Coverage(覆盖率)视图中筛选类的选项
在 IntelliJ IDEA 2023.1 中,您可以在 Coverage(覆盖率)视图中筛选类,关注最近更新的类和测试时需要特别注意的方法。 默认情况下,您将看到一个包含未提交更改的类列表。 第二个筛选选项可以隐藏完全覆盖的类。
九. 框架和技术
1. Spring Security 6 支持 Ultimate
IntelliJ IDEA Ultimate 2023.1 为 Spring Security 6 中引入的 API 的 URL 映射和安全角色导航提供了更新的支持。
2. 在 Spring 运行配置中将构建和运行委托给 Gradle Ultimate
在 Spring 运行配置中,Gradle 现在是运行和构建项目的默认选项。 IDE 现在使用 Settings/Preferences | Build, Execution, Deployment | Build Tools | Gradle(设置/偏好设置 | 构建、执行、部署 | 构建工具 | Gradle)中定义的 Gradle 以主设置构建和运行项目。
3. 通过 VCS 共享 Spring 和 JPA facet 设置的选项 Ultimate
在 IntelliJ IDEA Ultimate 2023.1 中,您可以通过 File | Project Structure | Modules(文件 | 项目结构 | 模块)中的自定义 facet 更改和共享 Spring 和 JPA 设置。 例如,在团队中共享 JPA 的所选数据源时,您可以创建一个 JPA facet,并通过添加带有 *.iml 扩展名的模块文件的方式将其设置提交到版本控制系统。
4. 从 Spring 和 Micronaut Data 仓库在 Database(数据库)控制台中运行 MongoDB 查询 Ultimate
IntelliJ IDEA Ultimate 2023.1 可以从 Spring 和 Micronaut Data 仓库在 Database(数据库)控制台中运行 MongoDB 查询。 在查询字符串中使用新的 Run query in console(在控制台中运行查询)意图操作即可。 IDE 将生成对应的 JavaScript 调用,包括额外的请求形参,例如 sort
。
5. Project Reactor:针对反应式代码改进了检查 Ultimate
IntelliJ IDEA Ultimate 2023.1 为反应式代码提供了更广泛的检查。 例如,IDE 现在会报告 Reactor 3 Reference Guide 中描述的 Mono<Void>
类型的转换运算符的用法。
6. Apache Dubbo 支持 Ultimate
我们实现了一个集成 Apache Dubbo 的新专属插件,作为 IntelliJ IDEA 对 Spring 支持的一部分提供该框架的功能。 您可以从 JetBrains Marketplace 下载这个插件,或通过 Settings/Preferences | Plugins(设置/偏好设置 | 插件)直接在 IDE 中安装。
7. 针对 OpenAPI 生成的 Swagger 注解识别 Ultimate
在 Spring 控制器中使用 Swagger 2.X 注解为 API 定义额外元数据时,IntelliJ IDEA Ultimate 会在从 URL 内嵌弹出对话框或从 Endpoints(端点)工具窗口生成 OpenAPI 文件时包含这些注解。
8. 在多个文件上拆分编辑 OpenAPI 规范部分的选项 Ultimate
现在,可以在单独的文件中编辑较大 OpenAPI 规范的部分,并轻松导航。 此外,IDE 还以与主规范文件相同的方式为这些文件提供代码补全和高亮显示。
9. 从 Endpoints(端点)工具窗口运行 GRPC 请求的选项 Ultimate
在 IntelliJ IDEA Ultimate 2023.1 中,可以从包含 .jar 存档中 import 的 proto 文件运行 GRPC 请求。 我们还改进了请求主体的代码补全,例如 OneOf
和 Map<K,V>
类型。 此外,我们在 Endpoints(端点)工具窗口中为 Protobuf 端点添加了 HTTP Client(HTTP 客户端)标签页。
10. 针对 Ktor 中 application.yaml 配置文件改进了编辑支持 Ultimate
IDE 提供了在 Ktor 中使用 application.yaml 配置文件所需的所有编辑功能,包括代码补全、高亮显示和验证。
十. Docker
1. 来自所有 Docker Compose 容器的合并日志
Docker Compose 节点的 Dashboard(仪表板)标签页现在将来自各个 Docker Compose 容器的日志拉取到一处显示,并实时更新。
2. 对 Azure 容器注册表的支持
您现在可以轻松连接到 Azure 容器注册表。 转到 Settings/Preferences | Build, Execution, Deployment | Docker | Docker Registry(设置/偏好设置 | 构建、执行、部署 | Docker | Docker 注册表),在 Registry(注册表)输入字段中选择 Docker V2 进行设置。
3. 应用 :z
装载选项以在 SELinux 上绑定卷的新设置
您现在可以将 :z
配置标志添加到 Docker 绑定装载,从而将卷连接到 SELinux 工作站上的 Docker 容器。 转到 Settings/Preferences | Advanced Settings | Docker(设置/偏好设置 | 高级设置 | Docker)可以启用此功能。
4. Services(服务)工具窗口中的 Docker 容器健康状态
IntelliJ IDEA 2023.1 会通知 Docker 健康检查的结果。 您可以在 Services(服务)工具窗口中的名称旁边看到正在运行的 Docker 容器的健康状态。 此外,为了使状态更醒目,正常启动和运行的容器在图标上会带有一个小绿点,不健康的容器则带有红色标记。
5. Docker 调试 已被弃用
Docker 调试功能已被弃用。 要使用 Docker 容器调试应用程序,请改用 Run targets(运行目标)。
十一. Kubernetes
1. New Kubernetes Resource(新建 Kubernetes 资源)弹出窗口中的文件模板 Ultimate
为了使 Kubernetes 文件的创建更简单,我们在 File | New(文件 | 新建)菜单中添加了一个新操作。 选择 New Kubernetes Resource(新建 Kubernetes 资源)选项后,显示的弹出窗口将列出最流行的资源类型,例如 Pod、Deployment、ConfigMap 等。
[
2. 创建新 Kubernetes 机密的操作 Ultimate
IntelliJ IDEA Ultimate 2023.1 引入了用于创建 Kubernetes 机密的新对话框。 要定义新机密,您可以手动输入 Key 和 Value 数据,也可以指定内容将被使用的文件。
3. 从集群加载的 Kubernetes 资源的颜色编码更改标记 Ultimate
对集群中的资源使用 View YAML(查看 YAML)操作和更改打开的文件时,IntelliJ IDEA Ultimate 现在会在间距中使用颜色编码标记高亮显示所有编辑。 这样,您可以确保在应用回集群之前对资源所需部分完成了更改。 此外,使用 Compare with Cluster(与集群比较)图标会打开一个完整差异视图,从集群获取资源的当前版本并与本地版本进行比较。
4. 改进了 kubeconfig 文件的用户体验 Ultimate
IntelliJ IDEA Ultimate 2023.1 改进了处理 kubeconfig 文件的用户体验。 您可以在 Services(服务)视图中轻松访问 kubeconfig 文件,并在编辑器中打开。 如果您在 IDE 之外更改了 kubeconfig 文件,IntelliJ IDEA 将检测到这一点并自动刷新 Services(服务)工具窗口中的配置。 kubeconfig 文件的代码高亮显示和补全也已提供。
5. 为 Services(服务)视图中的操作指定自定义快捷键 Ultimate
您现在可以在 Services(服务)视图中为大多数 Kubernetes 操作指定快捷键,例如 Forward Ports(转发端口)、 Delete Resource(删除资源)和 Describe Resource(描述资源)等。 按照此路径设置自定义快捷键:Settings/Preferences | Keymap | Plugins | Kubernetes(设置/偏好设置 | 按键映射 | 插件 | Kubernetes)。
十二. 远程开发和协作
1. 仅 Сode With Me 会话主持人可用条目的额外洞察
现在,当访客连接到会话时,他们的客户端看起来更像是常规的 JetBrains IDE。 访客可以看到主持人看到的所有条目,包括只有主持人可以访问的灰色条目。 访客可以清楚查看不可用的操作,并要求主持人代为执行。
2. Code With Me 中的一键式权限请求和审批
访客只需点击不可用条目旁边的钥匙图标即可请求额外权限。 支持人不必再从一开始就确定必要的访问权限,并且可以轻松地即时审批任何访客的额外权限。
3. 改进了最近的远程开发项目的概览 Ultimate
最近的项目现在存储在主机而不是客户端上。 即使您从不同的客户端连接,这也将准确提供最新信息。 我们还添加了更多实用选项,例如选择在主机上使用的 IDE 版本。
十三. Web 开发
1. Astro 支持 Ultimate
备受期待的 Astro 支持现已登陆 IntelliJ IDEA 2023.1! 从 Settings/Preferences | Plugins(设置/偏好设置 | 插件)安装新的 Astro 插件即可获取。 插件提供基本功能,包括语法高亮显示、带自动导入的代码补全、重构、导航、正确的格式设置等。
2. Vue 模板中对 TypeScript 的支持 Ultimate
我们在 Vue 模板中添加了 TypeScript 支持。 它会在您将 script
标记中的 lang
特性设为 ts
时启用。 此前,无论 script
标记中的 lang
特性如何,使用的都是 JavaScript。 IntelliJ IDEA 现在将提供对内联转换的支持、改进的类型缩小,并在 Vue 单文件组件模板的快速文档中提供正确的推断类型信息。
3. 字符串到模板文字的自动转换 Ultimate
现在,IntelliJ IDEA 在您输入 ${
时会自动将带单引号或双引号的字符串转换为模板文字。 这适用于原始字符串以及 JSX 属性。
4. Tailwind CSS 配置 Ultimate
在这个版本中,我们添加了对配置选项的支持,例如 classAttributes
选项下的自定义类名补全或 tailwindCSS.experimental.configFile
等实验性选项。 您可以在 Settings/Preferences | Languages & Frameworks | Style Sheets | Tailwind CSS(设置/偏好设置 | 语言和框架 | 样式表 | Tailwind CSS)下设置这些配置选项。
十四. Scala
1. 改进了针对无大括号 Scala 语法的支持
IntelliJ IDEA 现在可以正确对无大括号 Scala 代码脱糖,还可以处理使用“更少大括号”功能的重构。 它也支持工作表中的无大括号语法,并在代码中上下移动扩展方法时正确解释缩进。
2.改进了对 sbt 项目的支持
在 Gradle 中,如果您有一个空模块并想为源代码创建根目录,您可以使用 New Directory(新建目录)对话框,其中包含一些实用建议。 在 v2023.1 中,这个对话框也可用于 sbt 项目。 您还可以在 Settings/Preferences | Build, Execution, Deployment | Build Tools | sbt(设置/偏好设置 | 构建、执行、部署 | 构建工具 | sbt)中指定 sbt 启动器的形参,Find Usages(查找用法,Alt+F7)操作现在可以在 sbt 文件中搜索符号。
3. 升级了 Scala 检查
Unused declaration(未使用的声明)检查得到许多修正和改进。 IntelliJ IDEA 现在可以检测项目 XML 文件中的符号用法。 该检查还会区分对术语的引用和对类型的引用并正确标记。 Can be private(可为 private)检查也已更新。 例如,您不会再看到工作表和局部类中顶级定义的高亮显示。 对于递归调用,调用行的左侧将有一个间距图标。
4. 针对 Scala 3 的代码编辑改进
我们改进了 Scala 3 在导入大量隐式形参并且需要解析代码时(例如使用 Cats 库时)高亮显示的性能。 IntelliJ IDEA 2023.1 还具有许多语法支持改进,例如使用 using
子句正确自动生成重写方法。
5. 简化了 import 管理
先前使用基于编译器的高亮显示时,所有 import 都被标记为已使用。 不过,Scala 3.3 引入了新的编译器选项 -Wunused:imports
。 如果项目使用此选项,IDE 现在可以识别未使用的 import。 我们还修正了 Enums
的自动导入操作。
6. 针对 Scala 3 和 Scala 2 反编译器的改进
IntelliJ IDEA 2023.1 为 Scala 3 和 Scala 2 反编译器带来了大量修正和改进。 反编译 Scala 2 和 Scala 3 字节码的输出已经统一,更易阅读。
十五. 其他
- 与 IntelliJ IDEA 捆绑的 Android 插件现在提供了 Android Studio Electric Eel 的所有功能,包括对 Android Gradle Plugin (AGP) 7.4.0 的支持。
结语
如果这篇文章对您有所帮助,或者有所启发的话,求一键三连:点赞、评论、收藏➕关注,您的支持是我坚持写作最大的动力。
相关文章:

IntelliJ IDEA 2023.1 最新变化
文章目录IntelliJ IDEA 2023.1 最新变化一. 主要更新1. 新 UI 增强 测试版启用新 UI2. 在项目打开时更早提供 IDE 功能3. 更快地导入 Maven 项目4.后台提交检查5. Spring Security 匹配器和请求映射的导航 Ultimate二. 用户体验1. 全 IDE 缩放2. 保存多个工具窗口布局的选项3. …...

stm32学习笔记-9 USART串口
9 USART串口 文章目录9 USART串口9.1 串口通信协议9.2 stm32的片上外设-USART9.3 USART收发相关实验9.3.1 实验1:串口发送9.3.2 实验2:移植printf函数9.3.3 实验3:串口发送接收9.4 USART串口数据包9.5 USART数据包相关实验9.5.1 实验1&#x…...

【蓝桥杯】每日四道编程题(两道真题+两道模拟)| 第四天
专栏: 蓝桥杯——每日四道编程题(两道真题两道模拟) “蓝桥杯就要开始了,这些题刷到就是赚到” ₍ᐢ..ᐢ₎♡ 另一个专栏: 蓝桥杯——每日四道填空题(两道真题两道模拟题) 目录 专栏࿱…...

大家有没有时候觉得,递归,分治,回溯,傻傻分不清楚?
递归,分治,回溯的定义 递归(Recursion) 递归是一种解决问题的方法,它将一个问题分解成一个或多个较小的相同类型的子问题,然后通过递归调用自身来解决这些子问题。递归通常包括一个基本情况(b…...

Java 8 - Lambda 表达式
1. 函数式接口 当一个接口中只有一个非 default 修饰的方法,这个接口就是一个函数式接口用 FunctionalInterface 标注 1)只有一个抽象方法 FunctionalInterface public interface MyInterface {void print(int x); } 2)只有一个抽象方法和…...

【Ruby学习笔记】4.Ruby 类和对象及类案例
前言 本章介绍Ruby的类和对象及类案例。 Ruby 类和对象 Ruby 是一种完美的面向对象编程语言。面向对象编程语言的特性包括: 数据封装数据抽象多态性继承 这些特性将在 面向对象的 Ruby 中进行讨论。 一个面向对象的程序,涉及到的类和对象。类是个别…...

分享一个计算表格内单元格合并的工具,支持行合并、列合并等常见场景
分享一个计算表格内单元格合并的工具,支持行合并、列合并等常见场景 效果图 安装 cj-toolkit-x/table-cell-merger 插件 npm i cj-toolkit-x/table-cell-merger使用方法 import {TableCellMerger} from "cj-toolkit-x/table-cell-merger" // 创建一个单…...

CUDA编程(三):Hello world
CUDA编程(三):Hello worldCUDA编程Hello worldCUDA编程 CUDA是Compute Unified Device Architecture的缩写,由英伟达公司2007年开始推出,初衷是为GPU增加一个易用的编程接口,让开发者无需学习复杂的着色语…...

二十九、String的不可变性
一、String的基本特性 1.String:字符串,使用一对“”引起来表示 1)String s1 “hallo”; //字面量的定义方式 2)String 说 new String(“hello”)’ 2.String声明为final的,不可被继承。 3.String实现了Serialzable接口:表示字符串是支持序列化的。实…...

TCP服务器如何使用select处理多客户连接
TCP是一种面向连接的通信方式,一个TCP服务器难免会遇到同时处理多个用户的连接请求的问题,本文用一个简化的实例说明如何在一个TCP服务器程序中,使用select处理同时出现的多个客户连接,文章给出了程序源代码,本文假定读者已经具备了基本的socket编程知识,熟悉基本的服务器…...

python字符编码
目录 ❤ 前言 文本编辑器存取文件的原理(nodepad,pycharm,word) python解释器执行py文件的原理 ,例如python test.py 总结 ❤ 什么是字符编码? ASCII MBCS Unicode ❤ 字符编码的发展史 阶段一: 现代计算…...

面向对象练习题(8)
目录 第一题 第二题 第三题 第一题 思路分析: 1.Person p new Student();这就是一个向上转型,让父类的引用指向子类的对象,但是向上转型不能访问子类的属性和方法 我们在写代码时看的是编译类型 在运行是看的是运行类型 p.run(); p.eat(); …...

重构类关系-Extract Interface提炼接口八
重构类关系-Extract Interface提炼接口八 1.提炼接口 1.1.使用场景 若干客户使用类接口中的同一子集,或者两个类的接口有部分相同。将相同的子集提炼到一个独立接口中。 类之间彼此互用的方式有若干种。“使用一个类”通常意味用到该类的所有责任区。另一种情况…...

vivo手机各系列简介和拆解
Vivo是中国智能手机制造商,其产品线较多,主要包括以下系列: X系列:X系列是Vivo的高端智能手机系列,注重出色的拍照性能、高质量的音效和高端的设计。该系列主要面向追求高质量拍照和高端体验的用户。 V系列࿱…...

Redis:redis通用命令;redis常见数据结构;redis客户端;redis的序列化
一、redis命令 1.redis通用命令 Redis 通用命令是一些 Redis 下可以作用在常用数据结构上的常用命令和一些基础的命令 常见的命令有: keys 查看符合模板的所有key,不建议在生产环境设备上使用,因为keys会模式匹配所有符合条件的key&#…...

Java新特性
switch Java中switch的三种用法方式 JAVA中的switch Java switch 中如何使用枚举? 注解 天天用注解你真的知道怎么用吗?Java中的注解及其实现原理。 JAVA注解 JAVA注解 基础 集合判空 求和 Java8之List求和 JAVA中对list使用stream对某个字段求和…...

Java_Spring:8. Spring 中 AOP 的细节
目录 1 说明 2 AOP 相关术语 3 学习 spring 中的 AOP 要明确的事 4 关于代理的选择 1 说明 spring 的 aop通过配置的方式,实现上一章节的功能。 2 AOP 相关术语 Joinpoint(连接点): 所谓连接点是指那些被拦截到的点。在 spring 中,这些点指的是方法,因为 spring …...

uni-app--》uni-app的生命周期讲解
🏍️作者简介:大家好,我是亦世凡华、渴望知识储备自己的一名在校大学生 🛵个人主页:亦世凡华、 🛺系列专栏:uni-app 🚲座右铭:人生亦可燃烧,亦可腐败…...

fastp软件介绍
fastp软件介绍1、软件介绍2、重要参数解析2.1 全部参数2.2 使用示例2.3 重要参数详解(1)UMI去除(2)质量过滤(3)长度过滤(4)低复杂度过滤(5)adapter过滤&#…...

C++继承相关总结
文章目录前言1.继承的相关概念1.继承概念2.继承的相关语法3.基类和派生类对象赋值转换(赋值兼容规则)2.继承中的注意事项1.继承中的作用域2.派生类的默认成员函数1.构造函数与拷贝构造2.赋值重载与析构3.友元关系与静态成员变量3.多继承(菱形继承)1.虚拟继承2.虚拟继…...

【从零开始学习 UVM】8.2、Reporting Infrastructure —— uvm_printer 详解
文章目录 老派风格在UVM中如何完成uvm 风格Table printerTree printerLine printerprint使用print使用条件使用konb更改print配置示例在一个随机验证环境中,数据对象不断地由不同的组件生成和操作,如果能够显示对象的内容,则调试会变得更加容易。 老派风格 传统上,这是通…...

Mybatis、TKMybatis对比
文章目录1.Mybatis(1)配置文件(2)实体类(3)Mapper(4)mybatis-config.xml2.TKMybatis(1)配置文件(2)实体类(3)M…...

37了解高可用技术方案,如冗余、容灾
高可用性技术方案是指在系统设计和架构中采用一系列措施来确保系统在遇到各种故障和问题时仍能保持持续的可用性,避免因单点故障而导致系统宕机、数据丢失等问题。其中包括冗余和容灾技术。 冗余技术: 冗余技术是指通过增加系统组件的冗余来提高系统可靠…...

jdb调试问题集锦
https://bbs.kanxue.com/thread-210049.htm蓝铁 1 2017-8-25 19:40 4 楼 0 根据提示,可知,出错的地方是,android.app.ActivityThread.handleBindApplication(), 行4,400 查看源码可以发现,代码中指向的是app.onCreate() …...

要和文心一言来一把你画我猜吗?
想和文心一言来一把你画我猜吗? ChatGPT的爆火,让AI对话模型再次走入大众视野。大家在感叹ChatGPT的智能程度时,总会忍不住想:如果我们也有自己的AI对话模型就好了。在社会的压力下,国内的厂商和研究机构也纷纷做出尝试…...

delete[] p->elems和free(p->elems)有什么区别?
delete[]和free()都是释放内存的函数,但它们具有不同的使用方法和适用情况。 delete[] 通常用于释放C中动态分配的数组空间。在使用new[]运算符分配内存时,应使用delete[]运算符来释放分配的内存。delete[] 运算符会调用每个数组元素的析构函数…...

CAS问题
CAS🔎什么是CAS🔎伪代码解析🔎CAS是如何实现原子性的🔎CAS的应用🌻实现原子类🌻实现自旋锁🔎ABA问题🌻ABA问题可能引起的BUG🌻ABA问题的解决方案🔎结尾&#…...

网络编程socket(下)
目录 一、TCP网络程序 1.1 服务端初始化 1.1.1 创建套接字 1.1.2 服务端绑定 1.1.3 服务端监听 1.2 服务端启动 1.2.1 服务端获取连接 1.2.2 服务端处理请求 1.3 客户端初始化 1.4 客户端启动 1.4.1 发起连接 1.4.2 发起请求 1.5 网络测试 1.6 单执行流服务端的…...

华为OD机试题【打折买水果】用 C++ 编码,速通
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:打折买水果 题目 有 m m m…...

JSON 数据类型
JSON 数据类型 JSON 格式支持以下数据类型: 类型描述数字型(Number)JavaScript 中的双精度浮点型格式字符串型(String)双引号包裹的 Unicode 字符和反斜杠转义字符布尔型(Boolean)true 或 fal…...