MacのSublimetext3にF#の開発環境をセットアップしました。
ランタイムについては別のエントリにまとめたのでそちらをご参照ください。 ここではエディタのセットアップについてになります。
http://hatappo.hatenadiary.jp/entry/2016/06/30/060000hatappo.hatenadiary.jp
Setup F# Editor
XamarinStudioをインストールしていれば、XamarinStudioにエディタが入っています。 他の選択肢としては、VisualStudioCode、SublimeText、Atom、Emacs、VIなどなど色々あると思います。 Guide - Cross Platform Dev Guide | The F# Software Foundationに各エディタの環境のセットアップについて書かれています。
以下、VisualStudioCode、SublimeTextのセットアップについて簡単に書きます。
1. Visual Studio Code
VisualStudioCode はプログラミング用のEditorです。MicrosoftがElectronベースにOSSで開発しており、無償で利用できます。VisualStudioCode自体は公式サイトからダウンロードしてください。
Ionide-fsharp はAtomエディタ用のF#サポートのプラグインのようです。同じElectronベースだからなのか、VisualStudioCode用のパッケージも提供されているようです。 https://github.com/ionide/ionide-vscode-fsharp
Ionide-fsharpのインストールは、VisualStudioCodeを開いて、 Ctrl + P
を押して開いたフォームにext install Ionide-fsharp
と入力すればOKです。
https://marketplace.visualstudio.com/items?itemName=Ionide.Ionide-fsharp
2. Sublime Text 3
自分は結局こっちの環境を使っています。やったのは以下のこと。
1. sublime-fsharp-packageのインストール
sublime-fsharp-package
には、シンタックス・ハイライト、コードの補完、ライブ・エラーチェックなどなどの機能があります。
詳細は githubのREADMEをを確認ください。
- Sublimetext3を起動。
Command + Shift + P
で開いたフォームにinstall
と入力してEnter
する。- 少しのロード時間ののち、インストールしたいパッケージを選択するフォームになるので、
fsharp
と入力する。おそらくsublime-fsharp-package
しかヒットしない。Enter
すればインストールされる。
2. FSharp.sublime-build
ファイルの作成
- メニューバーから
ツール(T)
>Build System
>New Build System...
- 開いたファイルに以下のように設定を書いて
FSharp.sublime-build
という名前で保存。
{ "cmd": "fsharpc $file --out:$file.exe && mono $file.exe", // 例えば、 foo.fs ファイルなら foo.fs.exe という名前でコンソール用実行ファイルとしてコンパイルされます。 "selector": "source.fsharp", "file_regex": " *(/.+)\\(([0-9]+),([0-9]+)\\)", "shell": true, }
F#のファイルを開いてCommand + B
(または メニューバーから ツール(T)
> Build
)して、コンソールに実行結果(標準出力の内容など)が表示されればうまくいっています。
ちなみに、ビルドを実行した際にコンパイルエラーなどがあると、コンソールのエラー表示のファイル名や行番号の記載がダブルクリック可能です。ダブルクリックすると、エディタでその箇所が開かれます。
このエラー出力からファイルを開くことを可能にしている設定はfile_regix
の正規表現です。マッチさせたグループの1番目がファイルのパス、2番目が行番号、3番目が何文字目か、としてパースされます。
きちんと吟味していないので、間違っているorもっと良い記述がある場合は教えて頂けると嬉しいです。
"cmd": "fsharpc $file && mono ${file%.fs}.exe"
という設定だとうまく動きませんでした。なぜだろう。。
参考
- Guide - Cross Platform Dev Guide | The F# Software Foundation
F#の公式サイトのMac/Linux環境の説明 - fsharp/sublime-fsharp-package: F# development tools for SublimeText 3
プラグインのgithubリポジトリ - Configuring Sublime Text 2 To Work With FSharp « Onor.io
sublime-build
ファイルの設定について。内容は、Windows環境でかつ非Mono環境のようです。 - Using Sublime Text 2 as F# REPL · Coding Journal
SublimetextでF#のREPLの設定 - F# Syntax on Sublime Text - Qiita
Sublimeでのシンタックスハイライトが、シングルクォート(') を文字列として判定してしまうのを修正する方法について