网站备案查询你,seo的含义是什么意思,网站空间域名续费,如何做黑客攻击网站【编者按】IDE对于开发者而言#xff0c;重要性不言而喻#xff0c;但随着功能愈发强大#xff0c;它们对硬件的要求也日益提高#xff0c;甚至越好用的 IDE 就越笨重。链接#xff1a;https://renato.athaydes.com/posts/switching-from-heavyweight-ides-to-emacs.html声…【编者按】IDE对于开发者而言重要性不言而喻但随着功能愈发强大它们对硬件的要求也日益提高甚至越好用的 IDE 就越笨重。链接https://renato.athaydes.com/posts/switching-from-heavyweight-ides-to-emacs.html声明本文为 CSDN 翻译未经允许禁止转载。作者 | Paulo Renato de Athaydes译者 | 弯月 责编 | 郑丽媛出品 | CSDNIDCSDNnewsIDEIntegrated Development Environment集成开发环境是一种帮助程序员高效开发软件代码的工具它通过多种方式协助我们我几乎无法想象没有 IDE 要如何完成开发工作。但是IDE 提供的帮助并不是免费的。最近我一直深受 IDE 的困扰。我的业余爱好项目使用的是一台 2019 年左右购买的 MacBook Air 它的性能并不足以运行我最喜欢的 IDE Jetbrains 的 IntelliJ IDEA 社区版所以这段体验不太愉快。在这篇文章中我想提出一个问题IDE 真的有必要做的这么笨重吗连几年前价值一千美元的电脑都不能运行 IDE问题IntelliJ 是一款很棒的产品我从未考虑过换成任何其他产品所以我优先考虑的是换一部顶配的笔记本电脑和最好的工具。我的开发设备是顶配的 Mac M1它还配备了 64GB 内存和 10 个 CPU 核心所以在上面运行 IDE 毫无压力。但当我在家开发业余爱好项目时我使用的笔记本电脑就相对较弱了。于是问题出现了在使用 IntelliJ 编写代码和运行测试仅一个小时后我的电脑就变得滚烫风扇的声音越来越大十分刺耳。在 IDE 建立“索引”期间它需要扫描所有需要索引的内容在这段时间大约一分钟左右内我几乎无法使用任何 IDE 的功能。我还有一台 Dell XPS 13运行的是 Linux配置很不错但情况依然如此风扇的声音还更大。平时我可以观看高清视频、听音乐、浏览网页等等就是无法运行 IDE可是只能在顶配的计算机上编写代码这个要求未免也太高了。这个问题似乎与我使用的语言和技术栈无关。例如我在使用 Java、Groovy 和 Dart 时或多或少都遇到过这个问题。此外 我还注意到在同时使用 Kotlin 和 Java 的项目中情况更糟。因此我可以肯定这个问题似乎与特定的语言或插件无关。虽然我是 JetBrains 及其工具的粉丝但我不得不说 IntelliJ 实在太笨重了甚至无法在 2020 年初购买的笔记本电脑上正常运行。最近我一直在向 Jetbrains 报告问题最后一次他们告诉我关闭一些插件因为通常一些糟糕的插件会引发问题。他们说得没错因为最近我禁用了一些平时不怎么使用的插件WASM、Scala、Makefile、Clojure-Kit、JMH、Gradianto情况有所缓和但问题依然没有得到解决。IntelliJ 替代品Jetbrains 正在开发 Fleet这是一款更新、更轻量级的编辑器虽然目前看来还不错但在我的笔记本电脑上还是感觉很笨重毕竟它与 IntelliJ 使用的是同一个后端。我有可能会试试看但目前这款 IDE 仍然存在一些非常严重的问题毕竟还处于测试阶段只向高级用户开放。大约十年前我使用过 Eclipse感觉这是一款很不错的 IDE但不幸的是如今它也变了根据我最近的尝试这款 IDE 对用户非常不友好。我不会再考虑使用它它对大多数非 JVM 语言的支持、特别是对新语言的支持不太好因此已经失宠很长一段时间了Eclipse 曾是有商业头脑的语言设计师的首选 IDE。至于 Vim很不幸我从未想过尝试这款工具。我知道有几个基于 Vim 的 IDE比如 neovim都很有吸引力。但我偶然间发现在编辑器的选择上我会坚定地站在 Emacs 这一边。也许有一天我会改变主意但短期内还没有任何迹象。许多人可能想问为什么不使用 VS Code其实我已经尝试安装了但我还是不太喜欢这款 IDE。在我看来这款 IDE 的快捷方式并不符合我的习惯而且它基于 Electron相对也很笨重。我承认 VS Code 看起来不错我也知道它是当今最受欢迎的编辑器但不适合我。Emacs鉴于如上种种原因最终我选择使用 Emacs。这是一款历史悠久的文本编辑器与 Vim 并驾齐驱甚至比我还年长但它还在不断发展。它是 GNU 项目的一部分可以说是早期自由软件和开源软件最成功的案例之一。与我尝试过的其他 IDE 相比Emacs 非常轻巧有趣的是创建之初它被当成了重量级 IDE。随着最近的一些发展为大多数编辑器带来了高级 IDE 功能如今 Emacs 已成为一款非常强大的 IDE。对于从未尝试过 Emacs 的新手来说刚开始使用的时候确实需要花费一番心思现代编辑器大多需要手动配置否则就只能忍受内置的功能。此外你还需要了解一点 LispEmacs 构建使用了自己的 Lisp 语言名叫 elisp但如何你喜欢深入研究并破解 Emacs那肯定也能成为一种乐趣。Emacs 有许多开箱即用的发行版如 Spacemacs 和 Doom Emacs对于那些想要现代编辑器、但不喜欢手动配置的人来说选用这些版本感觉更舒服。几年来我根据上个世纪 90 年代后期大多数应用程序都可以使用的基本快捷方式配置了 Emacs比如 CmdS 表示保存CtrlTab 表示切换缓冲区等。此外我喜欢使用的所有语言Java、Go、C、Rust、Dart、Groovy、Common Lisp 以及 Zig也得到了很好的支持包括自动补齐、内联文档、代码导航跳转到定义、查找实现、返回/返回上一个/下一个等等、在项目范围内的查找文件/类型/符号、一键式测试运行器以及许多其他的 IDE 基本功能。不过经过精心设置之后的 Emacs 依然与开箱即用的 IntelliJ 有很大差距。举个例子在 IntelliJ 中配置 Java 的版本很简单不仅包括编译器还包括Java 标准的 API 版本因为 Java 现在发展非常快这很重要。如果你使用的版本没有提供某个功能它会发出警告但在 Emacs 上就很难做到这一点因为我使用的 lsp-java 需要通过 Eclipse 配置 Java 项目。我需要修改代码的格式化程序并被迫为了更改默认规则而下载 Eclipse这对我来说非常痛苦。Emacs 默认会删除换行符以满足每行最大宽度的限制这会导致代码一团糟我真的很想知道这个默认设置是谁的决定此外Emacs 还缺乏 IntelliJ 的一些更重要、更高级的警告比如在遇到逻辑上不可能的条件时后者会很贴心地报告逻辑错误还有一些不太常用的功能我都懒得去调查如何设置比如自动修复警告我真的很想念 IntelliJ 的 AltEnter以及插入 System.out.println 和 public static void main 之类的自定义代码片段尽管在 Emacs 中实现这些设置一点也不难而且我已经设置好了。不过Emacs 有一个令人惊叹的 Git 用户界面 Magit这个界面感觉恰到好处Org Mode 可以赋予文本文件神奇的力量还有 elfeed 可以让你轻松阅读新闻来自 RSS 提要、 HackerNews 和 Reddit同时无需切换窗口。Emacs 真的更轻巧吗为了回答这个问题周末我一整天都在笔记本电脑上使用 IntelliJ 写代码同时截取了电池的使用情况第二天我又使用 Emacs 做相同的工作在同一个项目上做非常类似的事情当然也截了图。结果如下图所示图使用 Emacs 编程请注意下午电池的使用量平滑地下降。图使用 IntelliJ 编程早上电池的使用量很大晚上我改用 Emacs 前已经恢复到流畅的使用模式。我并不是想说通过上面这两张图我才知道 IntelliJ 真的很耗电。在这之前每次使用 IntelliJ 编程我就会感到电脑明显变得迟钝尤其是在显示切换工作区的动画时简直卡得一塌糊涂。使用 Emacs 编程电池只需充电一次就可以用一整天而使用 IntelliJ 时上午还没过半我就得插上充电器。然而我的主要问题是噪音太大因为风扇为了给 CPU 降温一直嗡嗡地转个不停而且键盘都烫手。总之基本无法正常使用至少在我小型笔记本电脑上使用 IntelliJ 写代码会感到非常不舒服。最后的想法事实上Emacs 比任何现代 IDE 都轻巧得多同时还提供了所有重要的功能可谓小巧而不简陋。我希望 JetBrains 能听到用户的心声并为此做点什么Emacs 很棒但开发基本靠志愿者努力因此很多东西感觉不太成熟而且还没有文档使用也不方便等等。但就目前而言似乎 Emacs 才是我的最佳选择。评论评论 1作为一名 Emacs 使用者我不得不说 IntelliJ以及任何现代 IDE要比配置好的 Emacslsp-mode/eglot、corfu/company、tree-sitter等方便得多但代价就是需要消耗大量资源。Emacs 本质上是单线程的不适合进行异步操作。其大部分逻辑采用的是一种非常慢、JIT 不友好且只有非常初级的 GC 机制语言编写的。渲染流水线一团糟内部的数据结构也非常初级。话虽如此Emacs 的通用性和可扩展性还是非常棒的一切都在变化。相较于五年前Emacs 已经改善了许多。也许再过十年它也能在性能方面与现代 IDE 一较高低。评论 2我还在用 Sublime Text尽管之前用过一段时间 VS Code。在我看来除非你使用最新的硬件否则“全能” IDE 都非常卡。就算源代码有 10 万行打开也不应该花费几秒钟。对于我来说Emacs 或 Vim 太底层了所以我认为 Sublime 是简单性和复杂性的最佳平衡。业内技术持续迭代、新兴趋势不断出现作为开发者的你目前处于怎样的位置在此CSDN重磅发起《2022-2023中国开发者现状调查报告》围绕开发者生存、开发工具和学习演进图谱等维度为你全方位揭秘中国开发者现状及发展趋势期待您与我们共同谱写这份属于技术人的答案更有机会赢取 iPad 等精美礼品