はじめに
9月に入りましたが引き続き暑いですね。オフィスにこもってパソコンをカタカタしているのでまだましですが、たまに外へ出ると秋はいつ来るのかと、考えてしまいます…。
ところで、僕はと言えば最近も仕事でRを使う機会が多いのですが、最近はRStudioではなくPositronを主に使うようにしています。理由はシンプルで、新しいものが好きだからです。
VSCodeをベースに作られていることもあり、なんとなく敬遠していたのですが(RStudioユーザーがVSCodeで満足のいくRの環境を整えるのは一苦労なので…)、RStudioのキーボードショートカットが使えることに気づいたり、レイアウトを変更できることも知れたりと、ようやく新しい環境を試せそう!と思い立って一気に設定を終わらせた次第です1。
今回は個人的に満足がいっている設定をピックアップしてまとめていこうと思います。
この記事は適宜更新する予定です。
Positronとは?
そもそもPositronとは何なんだという方もいらっしゃることを想定し、ごく簡単にPositronについてまとめます。
PositronはPosit社(旧RStudio社)が開発している統合開発環境(IDE)で、VSCodeをベースに作られており、RとPythonのために最適化されているのが特徴です。
従来のVSCodeにおけるRの使い勝手はあまりよくなく2、例えばRStudioで使い慣れたキーボードショートカットを自分で設定しなければいけなかったり、環境変数(格納したデータ等)が見にくかったりしていましたが、PositronではRStudioの要素も取り入れつつ、これまでRStudioを使用していたユーザーにとって移行しやすいコーディング環境が提供されています3。
Positronの画面はこんな感じで、右上の「R 4.5.1」の部分からPythonへの切り替えも可能です。
デフォルトでは下にコンソール、右上に変数とデフォルトのRStudioと同じ構成になっているのですが、このあたりの設定についてもこれから書いていきます。
インストールについては書きませんが、以下からダウンロードできます。
Windowsの方であれば一番上のをダウンロードすればよいと思います。
キーボードショートカットの設定
RStudioからの移行
まずRStudioからの移行を検討する場合、やはりキーボードショートカットは引き続き使えた方が良いですよね。
画面左下歯車マークから「設定」を開きます。すると設定画面が出てきますので、上部に出てきた「設定の検索」窓に「workbench.keybindings.rstudioKeybindings」と入力します(ぜひコピペしてくださいね)。
すると設定が1つヒットし、チェックボックスにはチェックが入っていない状況かと思います。
そこにチェックを入れ、確認出来たら上部の×印から設定を閉じます。再起動が必要ですので、一度Positronを閉じてから再度開いてください。これで基本的なRStudioのキーボードショートカットが使えるようになります。
地味にイヤな設定の解消
続いて、地味に困ったのがQuarto Markdownにおけるチャンク挿入についてです。
RStudio上ではチャンク(```{r}で始まるコードブロック)を挿入する際にCtrl
+ Shift
+ I
でチャンクを挿入できるわけなのですが、これはカーソルを置いている位置から始まります。カーソルを置いているその行に```{r}が挿入されるということです。
しかしPositronでは、その行を空行にしたうえで、1行下に挿入される設定になっています。問題なければ放置でよいのですが、僕は気になってしまったので、修正することにしました。
先ほどと同様画面左下歯車マークから「キーボードショートカット」(キーボードを使う場合Shift
+ Alt
+ K
)を開きます。
するとキーボードショートカットに関する設定がずらーっと出てきますが、出てきた画面右上の「キーボードショートカットを開く(JSON)」というアイコンをクリックして開きます。
すると// 既定値を上書きするには、このファイル内にキー バインドを挿入します
という文言とともに[ ]
があると思います。
初期段階では何も記載されていないと思いますが、この中に以下を記述します([ ]
は一応表示しています)。
[
{
"key": "ctrl+alt+i",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus && editorLangId == 'quarto'",
"args": {
"snippet": "```{r}\n$0\n```\n"
}
}
]
これでデフォルトの設定が上書きされ、1行の空白を生まずに済みます。
レイアウトの設定
これは個人の好みが大きく、僕がマイナーであることもわかっているので共感いただけないかもしれませんが、僕はコードとコンソールは縦に並べたいタイプの人間です。
特にPositronではRStudioと違って、R MarkdownやQuartoを使っている際にチャンクの下に結果が表示されませんので、コンソールを見えるようにしておくことが重要です。縦に並べてしまうと表示できるスペースが狭く、見にくいため左右並べる設定にします。
また、左右に並べる以外の設定も選択肢がありますので、いろいろ試してみて気に入ったものにしてみてください。
まず、左下の歯車から「コマンドパレット」、あるいはCtrl
+ Shift
+ P
を入力します。
表示された画面上部の検索窓に「customize layout」と入力します。すると1件ドンピシャでヒットすると思いますので、それをクリックします。
いろいろな選択肢が出てきますが、デフォルトでは1番上の「Stacked Layout」です。
僕はコンソールを右に持っていきたいという考えから、2番目の「Side-By-Side Layout」を選択しています。同じ手順で元に戻せますので、いろいろ選択してみてください。
ちなみにSide-By-Sideを選択しただけだと、VARIABLESは右側に配置されています。これを僕はスクリプト画面の下に持ってきているのですが、その方法はドラッグするという原始的な方法です。
Project Manager
皆さんはR Projectを使用しているでしょうか。再現可能な研究のための1つのツールにR Projectがあります。ここではそれそのものについて詳しくは書きませんが4、PositronにはR Projectと同様のシステムがありません。
そこでPositron(VSCodeもですが)では、拡張機能を使用してプロジェクト管理を行います。
ざっくりR Projectは.Rproj
ファイルを作成し、そのファイルが認識されることでそこをワーキングディレクトリとして設定し、here::here()
をはじめとした相対パスを使用できるようになり、効率的なプロジェクト管理が可能になります。
前述のようにPositronでは.Rproj
ファイルは作成できず、代わりにワークスペースを設定することでプロジェクト管理を行います。
このワークスペースとは一体何かと言えば「Positron内でワーキングディレクトリとなるフォルダを開く」ことに他ならないのですが、つまるところ.Rproj
をダブルクリックしてそのフォルダをRStudioで開くのと同様に、そのフォルダをIDE上で「開く」ことが重要なのです。
ではどうやってそのフォルダを開けばよいのか。それを解決してくれるのが「Project Manager」という拡張機能です。
Positronの左にあるサイドバーから拡張機能のアイコンを開き、検索窓から「alefragnani.project-manager」と検索してください5。
これをインストールすると、サイドバーにアイコンが表示されることと思います。
画面左上の「ファイル」から「フォルダを開く」へと進み、何かプロジェクトを開いてみてください(なければ適当にフォルダを作ってみてください)。
開けたら、Project Managerのアイコンをクリックし、拡張機能の画面を開きます。すると上部に下のような表示があると思います。
そしてアイコンの一番左にあるフロッピーディスク💾をクリックすると、今開いているフォルダがワークスペースとして保存され、下に表示されると思います。つまりエクスプローラーにおけるクイックアクセスへのピン留めと同じ要領で、次回以降表示されるプロジェクトを選択すればそのフォルダを開けるようになるというわけです。
.Rproj
のようなファイルこそないものの、ワークスペースを開いていればhere::here()
をはじめとしたプロジェクト管理のためのツールは同様に使用可能です。
ぜひプロジェクトはここから保存してみてください。
おわりに
3つの点からPositronの設定について書いてきました。
Positronは今後も発展を続けていくはずですし、さらに便利になることは間違いないと思います。
個人的にはもうRStudioには戻れない、というところまでいってほしいと思っています(笑)
今後もアップデートがあれば更新しますので、よろしくお願いいたします。