gpt4 book ai didi

Scala - 基于控制台的开发工作流程

转载 作者:行者123 更新时间:2023-12-04 15:57:24 26 4
gpt4 key购买 nike

在过去的 10 天里,我一直在阅读“Scala 编程”并编写一些 Scala 代码。

正如你在我的 GitHub Scala playground 中看到的,我开始真正喜欢这种语言 - 它和 OCaml 一样快(感谢 JVM 的 HotSpot 技术),通过其强大和静态的类型系统保护我免受错别字(和错误!)的影响,最重要的是:企业级,它并不生活在一个偏远的“孤岛”(如 Haskell 和 OCaml)中……因为它拥有 JVM 的庞大生态系统。

到目前为止我唯一的问题:

尽管我已经想出了如何在 VIM 下使用 sbt-quickfix 或在 Emacs 下使用 Ensime 开发我的 Scala 代码(因此具有自动完成和错误导航),但到目前为止我还没有找到调试我的代码的方法,与我为 Python 所做的一样轻松:

bash$ python -m pdb ./someCode.py

谷歌指向的所有条目基本上都是在说:“使用我非常喜欢的这个 IDE……”

然而,有一些原因——列举它们没有意义,你要么知道,要么不知道——像我这样的人更喜欢 (a) programmable editors (b) 独立调试器,可在其编辑器之外使用。

如果您是少数几个不喜欢 IDE 并且碰巧使用 Scala 的志同道合的人之一,我真的很想知道您如何调试 - 事实上,我很想听听您的整个工作流程。

我的,到目前为止是:
  • 添加 sbt-quickfix到我的 SBT 的项目/文件夹(仅 look at my code 在此 GitHub 存储库中)
  • 生成 sbt在终端中,然后运行 ​​~compile以便在我更改源中的某些内容时自动构建
  • VIM 自动接收错误并显示出来。
  • 当编译为绿色时,在 sbt 中按 ENTER终端,类型 run

  • Ensime 甚至更好,它也允许自动完成:
  • sbt gen-ensime
  • Spawn emacs 编辑我的 .scala 文件之一,和 M-x ensime
  • 使用 ensime-typecheck-all (映射到我的点文件中的 F7)并且当一切正常时...
  • ensime-sbt-do-run

  • 希望我并不孤单 - 那里的人也能帮助我进行独立调试……这是我完全接受 Scala 之前的最后一个挑战 :-)

    最佳答案

    原来ensime有一个 Debug模式,我不知何故错过了。与 Emacs/evil 搭配使用,我在 Emacs 和 Scala 中度过了过去几天 - 一切都完美无缺......自动完成,当我想运行时在缓冲区中生成 sbt,并进行调试。

    我唯一剩下的问题是从内部使用 Ensime screen -ed session ,这是我通常的操作方式(通过 SSH 连接)。 Ensime 调试器当前行和断点集的标记位于左侧边缘 - 这在图形模式 Emacs 中工作正常,但在文本模式 Emacs 中不可见。我已经 opened a ticket那里的人显然有一个解决方案的计划。

    关于Scala - 基于控制台的开发工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27385160/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com