OCaml and Reason IDE 1.0.38
分类: 下载/工具 · 工具软件 | 来源: 点击进入 | 版本: 1.0.38 |
日期: 2025-05-27 | 人气: | 大小: |
标签: snippet ocaml __ext__tags __ext_merlin __ext_ml __ext_mli __ext_opam __ext_re __ext_rei Merlin ocaml.merlin ocaml.ocamlbuild ocaml.opam OCamlbuild opam reason bucklescript ocaml.hover.info ocaml.hover.type reason.hover.info reason.hover.signature reason.hover.type reasonml |
新的介绍内容:
OCaml和Reason IDE:为Visual Studio Code带来强大功能
OCaml和Reason IDE是专为Visual Studio Code设计的扩展工具,为OCaml和Reason语言的开发者提供了全面的支持。无论您是刚开始学习还是已经是经验丰富的开发者,该扩展都能帮助您提高编程效率和代码质量。
讨论与反馈
有任何想法、需要帮助或其他反馈,欢迎加入Reason Discord服务器的#editorsupport频道,通常可以找到@freebroccolo在线交流。
主要功能
高亮显示
- 高级语法高亮支持Reason
- 基本高亮支持Merlin、OCamlbuild和Opam文件
编辑功能
- 文档格式化(可在保存时启用,设置editor.formatOnSave)
- 代码补全和代码片段
- 重命名符号(F2或右键点击)
- 模式拆分
导航功能
- 缓冲区符号大纲(⇧⌘O,列表中输入:排序项目)
- 项目符号大纲(⌘T,支持正则表达式)
- 跳转到定义(⌃点击)和代码预览(⌘悬停)
- 查找引用(⇧F12或右键点击)
静态分析
- Merlin集成,支持增量编辑同步
- 在定义上显示类型(可通过editor.codeLens设置禁用)
- 悬停显示类型和Markdown渲染的文档
- 在线代码检查和编译器诊断,提供建议修复
- 切换诊断面板(⇧⌘M)
- 循环浏览当前文件的诊断(F8)
- 点击灯泡图标查看建议修复
- 内置支持在编辑器中显示BuckleScript的bsb错误,与Merlin的诊断互补
入门指南
推荐语法主题
尽管语法高亮在大多数主题下都能正常显示,我们推荐并测试了以下主题:
默认主题
- Dark(推荐;此主题经过最彻底的测试)
其他主题
- Atom One Dark
- Dracula
- Flatland Monokai
- Oceanic Next
配置
Reason
安装Reason时会自动安装Merlin,因此可以跳过Merlin的安装步骤。
Merlin
如果您已经安装了Reason并计划将其用于JS编译,则Merlin已为您配置好。可以跳过此步骤。
此扩展高度依赖于Merlin,因此需要在项目中设置Merlin以启用补全和悬停信息。请参阅Merlin wiki了解详细步骤。基本需求是在项目根目录下有一个.merlin文件,列出源目录、库和使用的扩展。
Bsb
您可以选择直接从编辑器启动bsb,并在编辑器内显示命令行错误。请在Code > Preferences > Settings中添加以下内容:
"reason.diagnostics.tools": [
"merlin",
"bsb"
]
Merlin的诊断是尽力而为的,可能会有误;bsb的诊断100%正确。bsb诊断也适用于Windows。
安装
注意:由于现有问题,请确保从命令行在项目根目录打开vscode!
像安装其他扩展一样安装此Visual Studio Code扩展。
搜索reason并安装由Darin Morrison提供的OCaml和Reason IDE。
要启用保存时的格式化,请在Code > Preferences > Settings中添加以下内容:
{
"editor.formatOnSave": true
}
如果要启用codelens,请在Code > Preferences > Settings中添加以下内容:
"reason.codelens.enabled": true
高级功能
模式拆分
对于下面的示例,
引入switch语句
要引入switch语句,请执行以下步骤:
- 选择一个标识符或将光标移动到其单词范围内的任何位置(如下面所示)
- 打开调色板(⇧⌘P)并运行Reason: case split(输入case应会调出)
之前
let foo (arg: list 'a) => a<cursor>rg;
之后
let foo (arg: list 'a) => switch arg {
| [] => failwith "<case>"
| [_, ..._] => failwith "<case>"
};
嵌套switch表达式
switch引入功能也适用于嵌套switch表达式:
之前
let foo (arg: list 'a) => switch arg {
| [] => failwith "<case>"
| [_, ...xs] => x<cursor>s
};
之后
let foo (arg: list 'a) => switch arg {
| [] => failwith "<case>"
| [_, ...xs] => switch xs {
| [] => failwith "<case>"
| [_, ..._] => failwith "<case>"
}
};
拆分模式而不引入switch
模式拆分功能可用于进一步拆分现有模式:
之前
let foo (arg: list 'a) => switch arg {
| [] => failwith "<case>"
| [x, ...x<cursor>s] => failwith "<case>"
};
之后
let foo (arg: list 'a) => switch arg {
| [] => failwith "<case>"
| [_] | [_, _, ..._] => failwith "<case>"
};
-
- Golang云原生架构师课程
- Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
- 204次学习
-
- MySQL数据管理之备份恢复案例解析视频教程
- 《MySQL数据管理之备份恢复案例解析视频教程》MySQL是一个开放源码的小型关联式数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
- 160次学习
-
- MySQL索引优化解决方案
- 本套课程是根据MySQL索引的设计理念与数据结构、索引使用场景、索引分类、索引运用场景、索引性能分析、查询优化、MySQL索引的慢查询等组成,主要讲述了MySQL索引优化的解决方案,非常适合有MySQL使用基础或者有一定工作经验的同学。课程讲解了解决大数量查询慢的问题、如何编写一个高效的SQL、查询语句应该如何优化、索引的实现原理是什么、索引又应该如何优化...等诸多SQL索引优化的难点和面试点。
- 182次学习
-
- 极客学院Docker视频教程
- Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Docker自2013年以来非常火热,无论是从github上的代码活跃度,还是各大厂商的支持,都使Docker成为了时下最受关注的技术,甚至微软都声称在下一代WindowsServer中集成对Docker的支持。所以我们收集了《极客学院Docke
- 243次学习
-
- Golang进阶实战编程
- 本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
- 127次学习
-
- JavaScript极速入门
- 本套课程将帮助大家迅速掌握JavaScript这门高端的、动态的、弱类型编程语言。知识点简单明了,让你学习0压力,适合新手观看学习......
- 431次学习
-
- Golangmap实践及实现原理解析
- 2022-12-28 505浏览
-
- GoLand调式动态执行代码
- 2023-01-13 502浏览
-
- 试了下Golang实现try catch的方法
- 2022-12-27 502浏览
-
- 用Nginx反向代理部署go写的网站。
- 2023-01-17 502浏览
-
- MySQL主从切换的超详细步骤
- 2023-01-01 501浏览
-
- Mysql-普通索引的 change buffer
- 2023-01-25 501浏览