资讯专栏INFORMATION COLUMN

Intellij + Cursive: 最佳 Clojure/Java 开发环境组合

Rocture / 3492人阅读

摘要:直到上个月重新发现的组合自然是大名鼎鼎的,多年来一直享有真正程序员最佳的美誉,但直到这个的出现和接近成熟,它的威力才能被我们享有。完全与一致水平并集成的调试能力。使用了一个多月,对这套感觉仍然好极了,的最佳开发环境,没有之一。

几乎从 Clojure 诞生时候起,它的标准开发环境就是 Emacs,对 Lisp 的亲近感、slime 对 Lisp 系列语言的支持、paredit 等 Lisp 的模式,都带来了这个结果。当然,用 Emacs 开发的逼格也很高。 坏处当然也有一票。最大的几个:

emacs 的学习门槛非常陡峭。毕竟是命令行时代穿越过来的 IDE,崇尚各种复杂键盘组合,对鼠标的支持约等于 0。用惯了效率固然高,但记住这些基本命令之前啥也做不了。

维护这个环境需要大量的时间。将 emacs 变成一个好用的 clojure IDE 需要很多包的协同:clojure-mode, nrepl, paredit, auto-complete 等等。因此有集成者如 live-pack 等出现。可是它们的集成往往也有自己的逻辑,维护自己的工作环境的代价仍然不低。

对 Java 的支持与现代的 Java IDE 差距很大。

虽然与其他大多数 Clojurian 一样,几年来我都在 emacs 下工作,但这些问题仍然令我头痛,更何况要辅导新程序员的时候麻烦更大。所以搜索下新的 IDE,已经成为每几个月进行一次的常态工作。可是长时间来并没有发现更好的替代品。

直到上个月重新发现 Intellij + Cursive 的组合!IDEA IntellJ 自然是大名鼎鼎的 Java IDE,多年来一直享有真正程序员最佳 IDE 的美誉,但直到 Cursive 这个 Clojure 的 Plugin出现和接近成熟,它的威力才能被我们享有。

它是唯一一个使用静态语言分析的 IDE。即使你没有 Repl 运行,仍然会有 Symbol 检查、auto-complete、改名重构、自动 require 等各种酷炫能力。

借助 IntelliJ 本身强大的 Java 能力,Clojure/Java 混合编程无比顺滑。自动 Import, reify 的自动 override 能节约不少时间。

完全与 Java 一致水平并集成 Java 的调试能力。尽管 Clojure 编程平时不用调试,但有这个功能随时可用仍然很舒服。而且还可以用 repl 启动调试。

虽然 Cursive 还在早期阶段(EAP),但实际使用的时候 Bug 甚少。repl, leiningen 的支持都很棒。

使用了一个多月,对这套 IDE 感觉仍然好极了,Clojure 的最佳开发环境,没有之一。(用 IntelliJ 免费的 community 版就够了,Ultimate 版增加的功能我们都用不上)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64158.html

相关文章

  • 2018以太坊智能合约编程语言solidity的最佳IDEs

    摘要:使用基于以太坊的智能合约的集成开发环境。以太坊教程,主要介绍智能合约与应用开发,适合入门。以太坊,主要是介绍使用进行智能合约开发交互,进行账号创建交易转账代币开发以及过滤器和事件等内容。 Solidity是一种以智能合约为导向的编程语言。这是一种只有四年的年轻语言,旨在帮助开发基于以太坊数字货币的智能合约。 理解它官方文档应该是学习Solidity的最佳来源:solidity.read...

    darkerXi 评论0 收藏0
  • Web字体的初探

    摘要:字体的初探一,字体基本概念的介绍字体的分类衬线体衬线在印刷的文字中衬线字体对于人眼的辨识更轻松,阅读更舒服横细竖粗,开始和结束的地方有装饰。无论是还是下,不指定网页的中文字体时,默认的就是宋体。 Web字体的初探 一,字体基本概念的介绍 1.1 字体的分类 1.1.1 Serif(衬线体) Serif(衬线):在印刷的文字中衬线字体对于人眼的辨识更轻松,阅读更舒服横细竖粗,开始和结束...

    luckyyulin 评论0 收藏0
  • 水平垂直居中

    摘要:它为什么备受关注并不是因为它难实现,而是因为实现的策略太多了,让人无可下手,无可选择。多行块级元素实现原理同水平居中的水平垂直居中综合运用水平垂直居中即可。 它为什么备受关注? 并不是因为它难实现,而是因为实现的策略太多了,让人无可下手,无可选择。 将各个问题分类,给出常用解 水平居中 行内元素: text-align:center html: text-align:cent...

    MingjunYang 评论0 收藏0
  • 使用Angular CLI时的6个最佳实践和专业技巧

    摘要:在官方库的多主题中进行有效的使用。项目中默认选择使用可以假设是安全的。常规提交定义了强制类型可选范围其次是提交消息。标准版本将正确地撞击项目的主要版本,因为在提交主体中存在着关键字。 使用Angular CLI开发angular应用程序是一种非常愉快的体验!Angular团队为我们提供了令人惊叹的CLI,它支持了任何重要项目开箱即用所需的大部分东西。 规范化的项目结构与全面的测试能力(...

    atinosun 评论0 收藏0
  • Spring Boot 2.x 系列教程:WebFlux 系列教程大纲(一)

    摘要:使用则需要及以上版本。开发使用框架七系列教程目录系列教程大纲快速入门实践实践整合整合中和实践整合中实现缓存中实现通信集成测试及部署实战图书管理系统 WebFlux 系列教程大纲 一、背景 大家都知道,Spring Framework 是 Java/Spring 应用程序跨平台开发框架,也是 Java EE(Java Enterprise Edition) 轻量级框架,其 Spring ...

    jone5679 评论0 收藏0

发表评论

0条评论

Rocture

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<