新しいRのリンター、Jarlについて

Jarlを使ってコードの品質を向上させましょう!

R
VSCode
Positron
公開

2026年4月12日

はじめに

皆さん、リンターを使っていますでしょうか。

おそらく多くの方は使ったことがあるというか知らぬ間に使っていると思うのですが、リンターとはコードの品質をチェックするツールのことであり、これまでリンターの代表格といえばlintrでした。

しかし最近、新しいリンターとしてJarlが登場し、これも例のごとくRustで書かれているため、非常に高速であると評判です1

そもそもリンターとは?

まずはlintrを使ってリンターについて説明します。

リンターはコードの品質をチェックするツールであり、コードのスタイルや構文エラー、潜在的なバグなどを検出します。lintrはRのコードを解析し、これらの問題を指摘してくれます。

例えば、以下のようなコードがあったとします。

x = 1:10
y = x^2
plot(x, y)

このコードは基本的には問題ありませんが、lintrは以下のような警告を出してきます。

lintrの警告例

Rでは、変数の代入には<-を使うことが推奨されているため、lintr=を使っていることを指摘しています。

このように、リンターはコードのスタイルを統一するためのガイドラインを提供し、コードの品質を向上させるためのツールと思っていただければと思います。

Jarlの特徴

では、Jarlはどのような特徴があるのでしょうか。

まずは冒頭にも書いた通り、JarlはRustで書かれているため、非常に高速であるという点が挙げられます。

dplyrパッケージ(約25,000行)に20ルールを適用した場合…

  • Jarl: 0.131秒
  • flir: 4.5秒
  • lintr: 18.5秒(キャッシュあり9秒)

と、一般的なlintrと比較して約140倍の速度でコードをチェックすることができます2

さらに、自動修正機能もあり、コードの保存時に自動的にコードのスタイルを修正してくれるため、コードの品質を保つのが非常に簡単になります。

インストール

Note

今回はVSCodeの例で説明しますが、PositronなどVSCodeベースのエディタであれば同様の機能が利用できると思います。

Jarlのインストールは、CLIを使うか、VSCodeの拡張機能を使う方法があります。

CLIでのインストール

powershell Set-ExecutionPolicy Bypass -Scope Process -Force; `
   iwr https://github.com/etiennebacher/jarl/releases/latest/download/jarl-installer.ps1 | iex
curl --proto '=https' --tlsv1.2 -LsSf \
  https://github.com/etiennebacher/jarl/releases/latest/download/jarl-installer.sh | sh

VSCodeの拡張機能でのインストール

VSCodeの拡張機能を使う場合は、VSCodeの拡張機能マーケットプレイスで「Jarl」を検索し、インストールしてください。

JarlのVSCode拡張機能

VSCodeでの例

VSCodeでは、Jarlをインストールするだけで機能が有効になります。

例えば先ほどの簡単なコードを使って、Jarlが機能するのを見てみましょう。ただ拡張機能をインストールしただけです。

Jarlによって自動修正されたコード

いかがでしょうか?保存したときに自動的にコードのスタイルが修正されているのがわかると思います。

Jarlを使えば、コードのスタイルを簡単に統一することができます。

おわりに

今回は新しいRのリンター、Jarlについて紹介しました。Jarlは高速で自動修正機能もあるため、コードの品質を向上させるのに非常に便利なツールです。

以前紹介したRのフォーマッターであるAirと組み合わせて使うことで、コードのスタイルをさらに簡単に統一することができます。下の参考から記事も見てみてください!

ぜひJarlを使って、コードの品質を向上させていきましょう!

参考

Jarl
jarl.etiennebacher.com
Preview image for 【Positron】拡張機能「Air」を使う【フォーマッタ】
【Positron】拡張機能「Air」を使う【フォーマッタ】
Rのコードを自動で整えてくれる拡張機能です。
yo5uke.com

  1. 例のごとくというのは、これまでPolarsやuvといったRust製のツールを紹介してきたからです。気になった方はこちらなどをご覧ください!↩︎

  2. 参考:Jarl↩︎