前にも少し触れましたが、Visual Studio Codeのエディター部分、いわゆるMonacoはVisual Studio Code以前からいろいろなところで埋め込まれて使われています。 Visual Studio Online “Monaco”を始め、TypeScript Playground、WinJS Playground、IE/EdgeのF12開発者ツールなどなど、 エディター部分の出来の良さというか埋め込んで使われることが念頭に置かれている感じがします。
動作サンプル
まずは動作するサンプルを貼り付けてみるので、触ってみてください。
適当なところでCtrl/Cmd + スペースを押せばきちんとコードの補完(IntelliSense)が表示されます。 Visual Studio Codeと同じようにJavaScriptモードはTypeScriptモードが元になっているので、型もちゃんと認識されています(helloメソッドの戻り値の型がstringになっています)。
埋め込み方
肝心の埋め込み方ですが、エディター部分を埋め込むだけであればとても簡単です。
最初にエディターのJavaScriptファイルを用意する必要がありますが、 MimosaにあらかじめVisual Studio Codeからエディター部分をビルドしたものを同梱しているのでそれを使うと簡単です。 リポジトリの monaco-prebuilt 以下を引っこ抜いてきてもよいです。
というわけで割と手軽に高性能エディターを自分のアプリケーションやWebページに組み込めるようになりました。 一部Visual Studio Codeの本体側に依存している機能(diagnostics)などもあるのでそういうものは使えなかったりするのですが、 それはそれとしても利用価値はあるのではと思います。