2022/6/16 更新:本场直播活动已结束,收看直播回放,下载 PPT 根据 JetBrains 2021 年开发者生态系统现状调查,Go 语言不论…
在本系列博文中,我们将以多个部分为您介绍构建 Fleet 这款由 JetBrains 打造的下一代 IDE。 第一部分 – 架构概述第二部分 – 编辑器详解第三部分 – 状态管理 在本系列的前几部分中,我们介绍了 Fleet 的总体架构,并探讨了编辑器后台用到的算法和数据结构。 在这一部分中,我们将介绍实现状态管理的方式。 这是一个复杂的主题,因此我们特别准备了多篇博文。 本篇的重点是应用程序状态元素的表示和存储, 下一部分将更细致地探讨 Fleet 中围绕状态管理的事务机制。 Fleet 有很多移动部件,也执行着许多不同的操作,包括: 呈现 UI 元素并与用户互动。与其他服务交互以获取数据和更新 UI 元素。处理文件,例如保存、加载、解析文件以及显示其差异。编排处理代码洞察、补全和搜索结果的后端。
在编译或运行项目后发现代码问题是所有开发者都会遇到的情况。 如果出现的是像风格错误这种并不严重的问题,那么并不需要急于修正。 但是,当出现了严重错误,可能会影响到您的业务服务以及延误您的开发工作流时,事态可能就会变得十分棘手。 这对于人员众多的大型开发团队而言尤为如此。 您需要随时确保整个项目的质量,以免为时已晚。 我们很高兴地宣布,有一种简单的方式可以满足这一需求。 隆重推出 Qodana! 它是一个代码质量平台,可以帮助您简化质量保证流程,确保项目的完整性,并保持高度的代码可维护性。 它可以在您选择的 CI/CD 管道中设置质量门,以确保您项目中的任何编码问题都无处遁形,避免对后续开发工作造成影响。 使用 Qodana,您可以随时查看项目及其质量各方面内容的实时概览,掌握包括质量目标及其当前达成
Kotlin 1.7.0 现已发布。 它带来了 Alpha 版新 Kotlin/JVM K2 编译器,稳定了语言功能 ,并为 JVM、JS 和 Native 平台提供了性能改进。以下是此版本的重大更新列表: 新的 Kotlin К2 编译器现已进入 Alpha 阶段,提供了显著的性能改进。 它仅适用于 JVM,不适用于包括 kapt 在内的所有编译器插件。Gradle 获得了新的增量编译方式。 增量编译现在也支持依赖的非 Kotlin 模块中进行的更改,并且与 Gradle 兼容。我们已经稳定了 opt-in 要求注解、绝对不可空类型和构建器推断。新增了用于类型实参的下划线运算符。 您可以使用它在指定其他类型时自动推断实参类型。此版本允许委托实现内联类的内联值。 您现在可以在大多数情况下不分配内存来创建轻量级包装器。
直接询问用户能够最有效地了解用户需求。 我们因此格外关注社区反馈,这能帮助我们了解用户,进而提供最佳解决方案。 我们要感谢调查的所有参与者并在此分享先前问卷调查的结果。 我们向后端、前端、移动端和全栈开发者以及团队和技术负责人询问了 Kotlin Multiplatform 的使用经验、主要优势、用例、采用时间以及能够在平台之间共享的部分代码。 在详细查看调查亮点之前,我们想让您知道我们刚刚推出了一项新的 Kotlin 多平台用户调查,希望您积极参与。借此机会与我们分享您的反馈并为社区知识做出贡献。完成调查,您将有机会赢得特别奖品! 参加调查 关键调查亮点 与之前的调查一样,大多数受访者是移动工程师 (64.1%),包括 Android 和 iOS 开发者以及大部分时间使用跨平台技术的人员。 我们收集的回答深入呈现了 Kotlin
人人都爱快捷键, 它们让编码更快、更高效。 但有时,快捷键并不好记。 为此,我们汇总了 10 个最实用的 DataGrip 快捷键。 执行语句:Cmd/Ctrl+Enter 点击语句或选择要执行的代码段。 它可以是一个子查询或一组语句。 按 Cmd/Ctrl+Enter。 高亮显示代码段后,DataGrip 将执行整条语句或仅执行选区。 如果有多条语句,则会出现一个建议列表,您可以选择要执行的语句。 它始终包含运行所有语句的选项。 待执行的语句在查询编辑器中高亮显示。 另外,也可以点击 Сustomize(自定义)链接自定义查询执行设置。 设置查询建议列表,选择如何查看查询结果,选择如何显示错误,等等。 显示意图操作:Opt+Enter/Alt+Enter 您可能已经在编辑器中看到过一个黄色灯泡图
Kotlin Multiplatform Mobile 让开发者可以在移动平台之间共享代码,并结合了跨平台和原生开发方式的优势,我们希望向大家介绍此技术的开发动态。 Kotlin Multiplatform Mobile 正在朝着测试版状态稳步前进。 这条路上最大的成就之一是新版 Kotlin/Native 内存管理器。 内存管理器的稳定工作仍在进行中。 由于 Kotlin Multiplatform Mobile Beta 依赖于 Kotlin/Native 中的新版内存管理器,我们已推迟 Kotlin Multiplatform Mobile Beta 的推出,等待内存模型成为默认设置,我们预计最晚不会迟于 2022 年秋季。 新版 Kotlin/Native 内存管理器在 Kotlin 1.6.20 中达到了 Alpha 稳定性级别
dotMemory 是 JetBrains 推出的一款 .NET 内存分析器。 我是 Ilya,我协助开发工具。 我要讲一个经典的内部测试故事,在故事里我们用自己的工具 dotMemory 和 dotTrace 优化了 dotMemory 的一种算法。 我们还使用 dotTrace 对其进行了更多改进,并使用 BenchmarkDotNet 完成了优化过程。 我要感谢 1 和 2 这两篇文章的作者,他们启发了我分享这个故事。 最开始,一位同事在 Slack 中给我发送消息,告诉我他在 dotMemory 的支配树上遇到了问题。 树的数据计算时间太长了,他实在等不到进程结束。 好在问题是内部的,我们收集内存快照并展开了调查。 在本地
Kotlin 通常用于编写服务器端、多平台和 Android 应用,但此外还有大量鲜为人知的用例。 其中包括 Minecraft 插件开发、为机器人编写软件,以及使用 Compose for Desktop 创建 PowerPoint 演示文稿。 要处理的用例和要实现的潜在改进都有很多,我们要做的是专注于对您最有利的部分。 每年我们都会选择一些关键项目进行重点交付。 2022-2023 年,我们的关键项目是: 提高 Kotlin 版本的质量和稳定性发布测试版 K2 编译器发布稳定版 Kotlin Multiplatform Mobile发布带有 K2 支持插件的 Alpha 版 Kotlin IntelliJ IDEA 插件发布稳定版 Kotlin/JS IR 后端 这些关键项目与我们的其他计划一起构成约 50 个路线图工单。
GoLand 为您可以在 IDE 中执行的操作提供了许多快捷键。 好消息是您不必为了提高效率而了解所有这些快捷键。 如何选择按键映射 我们首先选择正确的按键映射,以确保您能够更快适应。 默认情况下,GoLand 有多个可供选择的预定义按键映射: 基于您的环境(macOS 或 Windows/Linux)的按键映射。对于在 IntelliJ IDEA 或任何其他基于 JetBrains IntelliJ 平台的 IDE 方面拥有经验并且在该 IDE 中使用过 IntelliJ/macOS 按键映射的用户,推荐使用 IntelliJ IDEA Classic 按键映射。对于从其他代码编辑器迁移过来的用户,推荐使用 Emacs、Sublime Text 和 Sublime Text (ma
PyCharm 对 Django Web 框架具有一流支持。 只要您在未来 3 周内购买 PyCharm,您也可以为支持 Django 出一份力。 今年,PyCharm 再次加入了 Django Software Foundation (DSF) 的筹款活动。 这是我们连续第六年合作,此前共筹集了大约 200,000 美元! 在 2022 年 6 月 20 日之前,购买新的个人按年 PyCharm Professional 许可证可享七折优惠,促销的所有收益都将直接转移到 DSF 的一般筹款活动。 通过这次合作,我们可以帮助用户提高工作效率,支持 DSF 改进 Web 框架和推动 Django Girls 等外展计划。 机会难得,快来解锁 PyCharm Professional Edition 中对 Django
更新:新版 UI 预览计划目前已经关闭。所有已提交申请的用户已经或即将很快收到邀请链接,我们计划在 2022.3 EAP 周期向所有 EAP 用户开放新版 UI。 IntelliJ IDEA 于去年庆祝了自己的 20 岁生日。在过去的 20 年中,我们一直在改进产品的各个方面,包括其用户界面和实用性。然而,其间我们在 UI 的许多方面进行的变化幅度都相对较小,主要是因为我们想让我们 IDE 的数百万现有用户都能一直使用他们所熟悉的 UI。与此同时,业内 UI 趋势却在不断发展,我们有许多新用户告诉我们 UI 看起来已有些笨重过时。解决这一问题势必涉及到大幅变更。因此,我们做出了大胆的决定,将以全新的眼光看待 UI 并彻底重新构想 IntelliJ IDEA 和相关 IDE 在当今时代下的外观。 我们的目标是降低视觉复杂性,使用户能够轻松访问基本功能,并根据需要逐级呈现复杂功能 – 这样
根据 JetBrains 2021 年开发者生态系统现状调查,Go 语言不论是在开发者数量增长最快的语言、开发者计划采用或迁移的语言、开发者正在学习的语言都是前五名,由此可见 Go 语言目前在开发圈里的火热程度。本次 JetBrains 码上道直播活动,特别与 Go CN 社区合作,为大家带来《Go 语言的 netpoll 抽象与常见问题》分享。 本次分享将由资深 Gopher,也是《Go 语言高级编程》作者之一的曹老师,为大家剖析 Go 语言的网络模型设计与原理,goroutine per conn 对于编码方式有怎样的改进,同时为我们带来了哪些性能问题。而社区又是如何解决这些问题,并探讨其提出的解决方案是否靠谱。 本次活动将在 JetBrains 中国官方 BiliBili 频道直播,演示内容全程录影,待剪辑后会公布视频,别忘了预留时间,并关注 JetBrains 微信公众