您当前的位置:首页 > 电脑百科 > 人工智能

放弃笨重的 IDE,转而尝试 Emacs

时间:2022-12-29 14:00:50  来源:CSDN  作者:

摘要:IDE 对于开发者而言,重要性不言而喻,但随着功能愈发强大,它们对硬件的要求也日益提高,甚至越好用的 IDE 就越笨重。

链接:

https://renato.athaydes.com/posts/switching-from-heavyweight-ides-to-emacs.html

作者 | Paulo Renato de Athaydes

译者 | 弯月 责编 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

IDE(Integrated 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 的新手来说,刚开始使用的时候确实需要花费一番心思,现代编辑器大多需要手动配置,否则就只能忍受内置的功能。此外,你还需要了解一点 Lisp(Emacs 构建使用了自己的 Lisp 语言,名叫 elisp),但如何你喜欢深入研究并破解 Emacs,那肯定也能成为一种乐趣。

Emacs 有许多开箱即用的发行版,如 Spacemacs 和 Doom Emacs,对于那些想要现代编辑器、但不喜欢手动配置的人来说,选用这些版本感觉更舒服。

几年来,我根据上个世纪 90 年代后期大多数应用程序都可以使用的基本快捷方式配置了 Emacs,比如 Cmd+S 表示保存,Ctrl+Tab 表示切换缓冲区等。此外,我喜欢使用的所有语言(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 的 Alt+Enter)以及插入 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)要比配置好的 Emacs(lsp-mode/eglot、corfu/company、tree-sitter等)方便得多,但代价就是需要消耗大量资源。

Emacs 本质上是单线程的,不适合进行异步操作。其大部分逻辑采用的是一种非常慢、JIT 不友好且只有非常初级的 GC 机制语言编写的。渲染流水线一团糟,内部的数据结构也非常初级。

话虽如此,Emacs 的通用性和可扩展性还是非常棒的,一切都在变化。相较于五年前,Emacs 已经改善了许多。也许再过十年,它也能在性能方面与现代 IDE 一较高低。

评论 2:我还在用 Sublime Text,尽管之前用过一段时间 VS Code。在我看来,除非你使用最新的硬件,否则“全能” IDE 都非常卡。就算源代码有 10 万行,打开也不应该花费几秒钟。对于我来说,Emacs 或 Vim 太底层了,所以我认为 Sublime 是简单性和复杂性的最佳平衡。



Tags:IDE   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
Spider Pool蜘蛛池的正确使用方式
蜘蛛池,英文名为Spider Pool,是一种搜索引擎优化(SEO)技术。它主要通过集中管理大量的搜索引擎蜘蛛(爬虫)来提高网站在搜索引擎中的收录速度和收录率。更通俗易懂地解释,可以想象成...【详细内容】
2024-03-27  Search: IDE  点击:(20)  评论:(0)  加入收藏
亚马逊 Prime Video 将于 1 月 29 日引入广告,不想看广告需额外付费
IT之家 12 月 27 日消息,亚马逊终于公布了备受关注的 Prime Video 广告计划实施日期。从 2024 年 1 月 29 日起,Prime Video 将开始在部分电影和电视剧中植入广告。亚马逊在一...【详细内容】
2023-12-27  Search: IDE  点击:(66)  评论:(0)  加入收藏
使用 Sidecar CRD 优化 Istio 性能
我们知道在服务网格集群中的每个工作负载实例上都会透明地注入一个 Istio sidecar 代理,这个代理拦截负载的出入流量,并根据配置完成相应的流量管理,包括流量、安全、可观测性...【详细内容】
2023-12-18  Search: IDE  点击:(77)  评论:(0)  加入收藏
如何安装和配置一个Java IDE环境?
IDE(Integrated Development Environment)是一种集成开发环境,它提供了丰富的功能和工具,用于开发、调试和测试软件项目。下面我将详细介绍如何安装和配置一个Java IDE环境。1....【详细内容】
2023-11-24  Search: IDE  点击:(210)  评论:(0)  加入收藏
八个IntelliJ IDEA中常用的快捷键
1 使用驼峰命名法快速打开类这是一个简单而强大的功能,只输入驼峰命名法中的首字母缩写就可以查找/打开所需的类。比如说,类名是TopLevelDestination,只需输入TLD就能立即打开...【详细内容】
2023-11-23  Search: IDE  点击:(161)  评论:(0)  加入收藏
Stable Video Diffusion来了,代码权重已上线
机器之心报道机器之心编辑部Stability AI 的视频生成模型看来效果不错。AI 画图的著名公司 Stability AI,终于入局 AI 生成视频了。本周二,基于 Stable Diffusion 的视频生成...【详细内容】
2023-11-22  Search: IDE  点击:(179)  评论:(0)  加入收藏
Meta 介绍 AI 图像编辑工具 Emu Edit / Video
11 月 20 日消息,Meta 昨日宣布为 Facebook 和 Instagram 推出两款基于 AI 的图像编辑工具,分别是“Emu Edit”和“Emu Video”,适用领域包括照片和视频,目前 Meta 公布了这两项...【详细内容】
2023-11-20  Search: IDE  点击:(223)  评论:(0)  加入收藏
IntelliJ IDEA插件开发入门实战
IntelliJ IDEA是一款强大的Java开发工具,提供了丰富的API,为你钟爱的IDE增添了无限可能。与此同时,庞大而活跃的IntelliJ IDEA社区可以帮助解决问题并提升技能。无论你在插件开...【详细内容】
2023-11-14  Search: IDE  点击:(231)  评论:(0)  加入收藏
C 语言编译器(IDE)初学者指南:选择适合你的工具
一、前言在当今的软件开发世界中,C语言仍然是一种非常重要的编程语言,被广泛用于系统编程,游戏开发,嵌入式系统等领域。对于C语言的初学者来说,选择一款合适的编译器(IDE)是他们学...【详细内容】
2023-11-14  Search: IDE  点击:(240)  评论:(0)  加入收藏
JetBrains 推出全新 C/C++ IDE 开发工具 CLion Nova,预览版免费
IT 之家 11 月 13 日消息,JetBrains 公司推出新的 C 语言和 C++ 开发 IDE —— CLion Nova,使用 ReSharper C++/Rider C++ 语言引擎而不是原版 CLion“旧版”引擎开...【详细内容】
2023-11-13  Search: IDE  点击:(242)  评论:(0)  加入收藏
▌简易百科推荐
ChatGPT 应用商店?可能是一个万能应用程序!
OpenAI 在去年 11 月召开了一次开发者大会,首席执行官 Sam Altman 希望软件制造商在 ChatGPT 之上进行进一步的构建。OpenAI 表示,它将很快推出一个市场,开发人员和非技术人员...【详细内容】
2024-04-12  视角先锋队    Tags:ChatGPT   点击:(8)  评论:(0)  加入收藏
Kyligence发布企业级AI解决方案!AI数智助理降低数据使用门槛
智东西作者 | 长颈鹿编辑 | 李水青智东西4月12日报道,昨日大数据分析和指标平台供应商Kyligence(硅智信息)召开了数智论坛暨春季发布会,并分享和探讨Data+AI产品及解决方案在金...【详细内容】
2024-04-12    智东西  Tags:Kyligence   点击:(7)  评论:(0)  加入收藏
百度Create AI剧透:“三大开发神器”升级,模型增至77个,三步即可生成应用
智东西(公众号:zhidxcom)作者| 香草编辑| 李水青智东西4月11日报道,今日,在百度Create AI开发者大会预沟通会上,百度披露了“三大开发神器”AgentBuilder、AppBuilder、ModelBuild...【详细内容】
2024-04-12    智东西  Tags:Create AI   点击:(5)  评论:(0)  加入收藏
李彦宏最新内部讲话:开源大模型不如闭源,后者会持续领先
界面新闻记者 | 李如嘉界面新闻编辑 | 宋佳楠4月11日,界面新闻获悉,百度创始人、董事长兼首席执行官李彦宏在一场内部讲话中首次谈及文心大模型为何不开源,以及对于大模型开源...【详细内容】
2024-04-12    界面  Tags:李彦宏   点击:(5)  评论:(0)  加入收藏
AI未来或超越“最聪明的人”?专家谈发展如何兼顾公平
中新社北京4月11日电 (记者 马帅莎)到明年底或2026年,人工智能(AI)或超越“最聪明的人”,美国知名企业家埃隆·马斯克近日对人工智能的这一大胆猜想引起关注,这比他去年...【详细内容】
2024-04-12    中国新闻网  Tags:AI   点击:(5)  评论:(0)  加入收藏
行业大模型快速落地的一年,如何做?
生成式AI正成为时下科技企业“讲故事”的关键词之一。但从发展上看,无论是“文生文”的大语言模型,还是“文生图”的多模态模型,更多的是辅助人们进行一些简单的办公,或者提供一...【详细内容】
2024-04-10    钛媒体APP  Tags:行业大模型   点击:(5)  评论:(0)  加入收藏
互联网充斥“针对小白的AI课”,能相信吗?普通人不学AI课程会被淘汰?
早前,一位标榜清华大学博士和多家公司AI顾问名头的百万级粉丝量博主,向用户大力推介“所有人都需要学”的AI入门课程。不过,这些课程最终因贩卖焦虑、蒙骗学员而被平台下架。然...【详细内容】
2024-04-10    九派新闻  Tags:AI课   点击:(9)  评论:(0)  加入收藏
藏在AI背后的“吃电狂魔”
人工智能时代的能耗黑洞据估算,到2027年,人工智能行业每年将消耗85~134太瓦时的电力,相当于瑞典或荷兰一年的总用电量。马斯克判断,电力缺口最早可能会在2025年发生,“明年你会看...【详细内容】
2024-04-09    雪豹财经社  Tags:AI   点击:(7)  评论:(0)  加入收藏
OpenAI和谷歌再起纷争:AI的尽头是内容
日前,纽约时报的一篇报道称,人工智能公司 OpenAI为收集高质量训练数据而开发了一个语音转录模型Whisper。该模型主要用于转录 OpenAI 获取的超过 100 万小时的 YouTube 视频,也...【详细内容】
2024-04-09  小编也疯狂  新浪网  Tags:AI   点击:(7)  评论:(0)  加入收藏
AI产业的灰色暗面:OpenAI、谷歌、META如何搞训练语料
财联社4月7日讯(编辑 史正丞)种种迹象显示,目前站在全世界AI领域潮头浪尖的这些公司,早在几年前就已经陷入对训练语料的“绝望”追逐中——为此他们不惜修改政策条款...【详细内容】
2024-04-09    财联社  Tags:AI产业   点击:(4)  评论:(0)  加入收藏
站内最新
站内热门
站内头条