はじめに
ComputerCraft内のedit
コマンドは便利で使えなくはないのですが非力ですので、外部エディタの力を借りてプログラミングをしていきましょう。
VSCodeの拡張機能
私がオススメするVSCodeというエディタには、extensionと呼ばれる拡張機能がありまして、このエディタ上から有志が作った拡張機能を組み込むことができます。
ちなみに、日本語化するための拡張機能であるJapanese Language Pack for Visual Studio Codeも有志によるものですね。
Luaプログラミングをサポートする機能(Lua言語で使われる構文の色分けなど)は、VSCode標準で用意されているので何も設定しなくても使えるのですが、それ以上の機能、たとえばタートル(turtle)を動かす関数を入力するときの入力補完機能などは用意されていません。
CCのedit
コマンドではタートルの関数を入力補完してくれたのに。寂しい・・・。
そんなあなたに朗報です。VSCodeにComputerCraft用の拡張機能があるのです。
以下のように操作して、拡張機能を導入してみましょう。
ComputerCraft用のVSCode拡張機能
インストール方法は、以下の左図のように、ウィンドウの左側にあるメニューボタンから拡張機能ボタンを押します。 右図のような拡張機能一覧を呼び出します。この左上の検索欄に「computercraft」と入力しましょう。
次のような拡張機能が出てきましたね。 この拡張機能を「Install」ボタンを押してインストールします。インストールが終わったらVSCodeの再起動が必要かもしれません。求められたらVSCodeを再起動しましょう。
ComputerCraft プログラミング時に役立ちます
CCプログラミング中に、「turtle.XX」まで入力したらそこから入力したいであろう候補を予想して表示してくれるわけですね。
しかも英語とはいえ、その関数の用途など説明まで表示してくれます。素晴らしい!
みなさんもぜひ、この拡張機能使ってくださいね。
レッツCCプログラミング!!
余談
実はVSCodeのComputerCraft拡張機能は、つい最近Twitterで教えてもらって初めて知ったのですよね。 知った時の喜びたるや。即行でインストールしましたよ。
でも、当時のComputerCraft拡張機能のバージョンは0.9(1.0より小さいので未完成版であることを意味します)で、機能に不満がありました。 具体的には、タートル関係の関数の補完機能がなかったのですよ。それ以外のCCの関数は補完できるのにね。
機能に不満がある → だったら改造すればいいじゃない → 改造しました
この数日ほど、ちょこちょこと時間を作って、このextensionのJSONファイルに内容を書き加えてた。
— hevo2 and 🐢 (@hevohevo) 2019年9月30日
VSCodeでこのextensionをインストールした後、その中のとあるJSONファイルを置き換えるだけでTurtleAPIの補完が効くようになります。
改造したあとは、当然ながらみんなに使って欲しくなりますよね? → 使い方を書いて他の人に公開しました。
Gistに貼って公開した。https://t.co/DWdkMZcrEq
— hevo2 and 🐢 (@hevohevo) 2019年9月30日
VSCodeのComputerCraft Extensionをインストールした後、そのextensionフォルダを探して、./data/classes.json ファイルを置き換えてね。
なお、Macの場合は、
~/.vscode/extensions/jackmacwindows.vscode-computercraft-0.9.0/data/classes.json
でも、毎回手作業でファイルを置き換えるの大変よね。本家の方でこの修正を取り込んでくれないかな
→ 本家の人にお願いして(プルリクエストして)、本家に取り込まれました。
わーい。昨日プルリクしたVSCodeのComputerCraft extensionにTurtleAPI関連のデータを追加する修正だけど、無事コミットされますた。
— hevo2 and 🐢 (@hevohevo) 2019年10月1日
どうやら作者さんは、CCextensionのversionを0.9から1.0に上げるみたいね。正式版ということかな。https://t.co/09xSZeIjVG
VSCodeのMarket placeでの公開くる?
→ 本家の人は、私の修正を取り込んでこれまでのバージョン0.9を1.0.0にあげて正式版として公開しました。
このような怒涛の流れの結果が今に繋がっているわけですね。
というわけで、みんなどんどんこの拡張機能使ってくださいね。
(僕の追記した部分、たとえばturtleについての英語ヘルプに誤字もあったらこっそり教えてね)