
ReScript IDE adds LSP-backed completion, navigation, diagnostics, formatting, and JSX-aware editing to JetBrains IDEs, but its alpha quality, small adoption signal, and required compiler watcher make it a contained trial rather than a team-wide default.
0.7.1 shipped on August 1, 2026, and its latest release focuses on parsing real JSX and nested expressions more accurately. 2| Field | Details |
|---|---|
| Plugin | ReScript IDE, plugin ID com.github.benjamin_thomas.intellij_rescript. 1 |
| Language / use case | ReScript editing, semantic completion, navigation, diagnostics, formatting, refactoring, and structure browsing. 1 |
| JetBrains support | Version 0.7.1 lists IntelliJ IDEA, WebStorm, GoLand, PyCharm, PhpStorm, Rider, CLion, RubyMine, RustRover, DataSpell, DataGrip, Gateway, and other IntelliJ-based products from 2025.3+; Android Studio lists Panda 1 or 2025.3.1+. 2 |
| Current release | 0.7.1, released August 1, 2026. The release fixes several JSX parser and lexer cases, including nested JSX regions and comments inside JSX. 2 |
| License / price | Free, MIT-licensed. 1 |
| Runtime prerequisites | A ReScript project with rescript.json, a running rescript watch process, Node.js, the ReScript language server, and the LSP4IJ plugin. 34 |
| Adoption signal | 429 Marketplace downloads at the time of retrieval; the 0.7.1 release entry reports 53 downloads. The Marketplace metadata contains no mature rating signal. 12 |
| Install | Install ReScript IDE from JetBrains Marketplace |
0.7.1 adds parser support for applied and container attribute values, removes an old depth cap on nested JSX, allows comments inside JSX, and recognizes JSX in statement position. The same release still documents a limitation around a type application split across a line: a construct such as array followed by a new line and <int> can be read as JSX. 2rescript.json build description, and the official build system can keep recompiling changed files with rescript -w. 4{
"name": "jetbrains-demo",
"namespace": true,
"sources": ["src"]
}rescript.json. The official configuration guide says that source directories must be declared explicitly, and recommends namespacing for libraries and projects consumed by other packages. 5src/Status.res:type state =
| Ready
| Blocked
let label = state =>
switch state {
| Ready => "Ready to ship"
| Blocked => "Needs attention"
}
let statusLine = state => `Status: ${label(state)}`let bindings, a variant type, exhaustive switch matching, and string interpolation. ReScript's official language guide documents those forms and its JavaScript-oriented guide explains the important difference for newcomers: null and undefined are not the normal absence model, while option represents a missing value. 67npx rescript watchnpm install -g @rescript/language-server, or point the plugin at the executable already used by your project.rescript-language-server. The plugin includes an auto-detect action for common locations.npx rescript watch running while you edit. The language server needs the compiler's generated .cmt files for diagnostics and completion.label, ask for a type hover, rename Blocked to NeedsReview, and use Find Usages on statusLine. The expected result is a single editor loop: the compiler produces artifacts, the language server reads them, and JetBrains presents the symbols and diagnostics.Blocked, introduce a misspelled constructor, or remove one switch branch. The plugin's LSP layer should make the type or reference problem visible while the watcher rebuilds the project. If you use JSX, repeat the trial with a small component and test nested elements, interpolated values, and comments inside the tag; those are exactly the parser areas covered by 0.7.1. 22025.3+ for the main IDE products and requires the separate LSP4IJ plugin. The repository README also lists Node.js, @rescript/language-server, an explicit executable path, and a running compiler watcher as requirements. 230.7.1 fixes several JSX cases, but it also names a line-wrapped type-application limitation. Treat a red editor state as something to compare with the compiler before changing valid source code to satisfy the plugin. 8rescript-intellij-plugin; it positions ReScript IDE as the smaller, LSP-first option rather than a broad project-creation workflow. 3Status.res example, confirm that type hovers and rename work, then try one real module with JSX if your project uses it.rescript watch running, or treats parser noise as release-blocking. The plugin's low adoption signal and alpha status make a contained comparison the sensible test: keep your current workflow available, install the plugin, and decide after one real module rather than after a screenshot.plugins.jetbrains.com
plugins.jetbrains.com
github.com
rescript-lang.org
rescript-lang.org
rescript-lang.org
rescript-lang.org
plugins.jetbrains.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.