OCaml 语言的 IDE

2023-12-25

除了 Camelia 之外,还有其他值得信赖的 OCaml IDE 吗?

如果存在的话,我更喜欢基于 Eclipse 的 IDE。


编辑:十年后(2022),VS Code OCaml 平台 https://marketplace.visualstudio.com/items?itemName=ocamllabs.ocaml-platform可能是最好的选择。

Editors

• Emacs

◦ 标准发行版中的 ocaml-mode

◦ 替代图阿雷格模式https://forge.ocamlcore.org/projects/tuareg/ https://forge.ocamlcore.org/projects/tuareg/

− 备忘单:http://www.ocamlpro.com/files/tuareg-mode.pdf http://www.ocamlpro.com/%EF%AC%81les/tuareg-mode.pdf

◦ ocamldebug 与调试器集成

◦ 使用 C-c C-t 快捷键输入反馈,需要 .annot 文件

• Vim

◦ OMLet 插件http://www.lix.polytechnique.fr/~dbaelde/products/omlet.html http://www.lix.polytechnique.fr/%7Edbaelde/productions/omlet.html

◦ 对于类型查找:https://github.com/avsm/ocaml-annot https://github.com/avsm/ocaml-annot

− or http://www.vim.org/scripts/script.php?script_id=2025 http://www.vim.org/scripts/script.php?script_id=2025

− also? http://www.vim.org/scripts/script.php?script_id=1197 http://www.vim.org/scripts/script.php?script_id=1197

• Neovim

◦ 在 opam 中安装 ocaml-lsp-server,在 neovim 中添加 lspconfig 并在 lspconfig 中启用 ocamllsp

• 日食

◦ OCaml 开发工具http://ocamldt.free.fr/ http://ocamldt.free.fr/

◦ 旧插件 OcaIDEhttp://www.algo-prog.info/ocaide/ http://www.algo-prog.info/ocaide/

• 类型霸王龙http://www.typerex.org/ http://www.typerex.org/

◦ 目前主要作为 Emacs 的 typerex-mode,但与 其他编辑会变得更好

◦ 自动完成标识符(实验性)

◦ 标识符浏览:显示类型和注释,转到定义

局部和整个程序重构:重命名标识符和编译单元、开放消除

• 一些专门的编辑

◦ OCaml 编辑器http://ocamleditor.forge.ocamlcore.org/ http://ocamleditor.forge.ocamlcore.org/

◦ ocaml 浏览器检查库和程序

− 浏览模块内容

- 按名称和类型搜索

− 基本编辑,带有语法突出显示

◦ 卡梅隆http://home.gna.org/cameleon/ http://home.gna.org/cameleon/ (older)

◦ 茶花http://camelia.sourceforge.net/ http://camelia.sourceforge.net/(甚至更老)

新:编辑器OCaml-top http://www.typerex.org/ocaml-top.html,具有语法突出显示、缩进、类型显示功能,适用于所有系统。

NEW: Merlin https://github.com/def-lkb/merlin与 TypeRex 类似,但更适合处理正在进行的文件,目前具有 Vim 和 Emacs 的前端。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OCaml 语言的 IDE 的相关文章

  • Visual Studio Professional 2013 Update 5 中的“在线服务不可用”问题

    我一直在 vscode 2013 工作直到今天 但是 当我今天早上尝试打开 IDE 时 它收到 您的许可证已过时 必须更新 错误消息 如下所示 在我尝试更新许可证和登录操作之后 当我尝试这两个时 它得到 在线服务不可用 请稍后重试 错误消息
  • IntelliJ Idea 15 显示依赖包和项目包

    IntelliJ Idea 15 CE 在项目的包视图中显示来自库 依赖项的包 仅当项目的根包与某些依赖项的根包相同时才会发生这种情况 对于前 我的项目的根包是org 所以所有的依赖关系也有org包状org apache logging也被
  • OCaml:为什么重命名类型会失败并显示“它们的种类不同”

    我正在为成对的类型见证和见证类型的值构建一个通用容器 我想将其用于几种不同的类型 这会给我带来错误 因为这些类型的名称都相同 所以我尝试重命名函子结果中的类型 如下所示 module type Witness sig type a key
  • emacs 的最佳 java 工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何设置 Xcode 来代替 Qt Creator 工作?

    我不使用 Qt Creator 的 UI 设计功能 对于一个新项目 我想体验一下使用 Xcode 的工作 这将是一个常规的 Qt 项目 使用 C 和 Qt 库开发 就像在 Qt Creator 中一样 我没有使用 OS X 尤其是 Xcod
  • 当从代码隐藏页面按 F7 时,如何使 Visual Studio 始终显示源视图而不是设计视图?

    The F7 key in Visual Studio it allows the user to switch between the code for a designer element e g a Windows Form or a
  • 链接“let”语句时使用“and”还是“in”更好?

    我意识到这可能是一个愚蠢的问题 但是 如果我把一堆let不需要需要了解彼此价值观的语句 使用是否更好and or in 例如 以下哪一个更可取 如果有 let a foo and b bar and c baz in etc or let
  • 最佳 Fortran IDE [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 stackoverflow上有人用Fortran吗 您使用什么 IDE 您认为哪一个是最好的 似乎我周围的很多人都对 Intel Visu
  • OCaml 2 和 3 之间的差异

    我有兴趣学习这门语言 但似乎有关该主题的教程和书籍很少 我只找到一本关于这个主题的合适的书 用 Objective Caml 这绝对是完美的 但问题是它是基于 2 04 版本的 所以我唯一关心的是使用这本书 对于 OCaml 3 x 是否会
  • Emacs:在缓冲区求值期间将参数传递给下级 Python shell

    最近我开始使用 Emacs 作为 Python IDE 它不太直观 我现在遇到的问题是当使用 C c C c 评估缓冲区时如何将命令行参数传递给下级 python shell 感谢帮助 这似乎并不容易实现 管理的劣质流程python el模
  • 将“列表”转换为“集合”?

    OCaml 真的没有从列表转换为集合的函数吗 如果是这样的话 是否可以制作一个通用函数list to set 我尝试制作一个多态集 但没有成功 基本问题 列表可以包含任何类型的元素 集合 假设你的意思是Set http caml inria
  • 如何忽略 Pydev Eclipse 中特定的未定义变量

    我正在使用 Eclipse 和 Pydev 插件在 Windows 上编写跨平台 python 脚本 该脚本利用os symlink and os readlink 如果当前平台不是 NT 则使用方法 自从os symlink and os
  • 使用fold_left/right反转OCaml中的列表

    更新 解决方案 感谢 jacobm 的帮助 我想出了一个解决方案 Folding Recursion let reverse list 3 theList List fold left fun element recursive call
  • Oo 任何 IDE 中的 javascript 代码补全

    你知道有什么IDE可以自动完成这种代码吗 我这里有一个 javascript 类生成器 function var core bind function method scope if method instanceof Function t
  • JavaScript IDE/编译器

    现在 我希望你们中的一些人能够理解我的要求 我是编程新手 我在 Codecademy com 上了解了 JavaScript 我使用 labs codecademy com 来编写 JavaScript 但它有限制 对于编程新手来说 我可以
  • 如何在ocaml中将字符串转换为整数列表?

    我需要在 ocaml 中传递两个列表作为命令行参数 我使用以下代码在程序中访问它 let list1 Sys argv 1 let list2 Sys argv 2 我需要将 list1 和 list2 作为整数列表 我收到错误 该表达式的
  • 变体的结构比较

    我想处理整数行的限制 我想拥有Pervasives compare treat RightInfinity gt Point x对全部x 以及反函数LeftInfinity In the ocaml REPL type open pt Le
  • 适用于非 Web 应用程序的带有 Docker + IDE 的 Python 工作流程

    我目前正在尝试将 Docker 插入我的非 Web 应用程序的 Python 开发工作流程中 当前使用 Docker 和 IDE 进行 Python 开发的最佳实践是什么 我需要能够使用 Docker 隔离我的环境并调试我的代码 在网上我发
  • 检查 ocaml 中可变列表是否有循环?

    我正在尝试编写一个函数来测试 Ocaml 中的可变列表是否包含循环 即 具有对其自身的引用并连续重复 我的列表定义为type a m list Nil Cons of a a m list ref 到目前为止 我有 let is cycli
  • 在内核代码中查找函数的最佳方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我开始浏览内核代码 遇到的一件事是如何跟踪函数调用 结构定义等 有没有一种好的方法可以快速跳转到函数定义并退出 我尝试过 Source N

随机推荐