「VSCodeでLuaを開発したい」
「インストールすべき拡張機能がわからない・・・」
このような場合には、LuaHelper Guideがオススメです。
この記事では、LuaHelper Guideについて解説しています。
本記事の内容
- 拡張機能はLuaHelper Guideがオススメ
- LuaHelper Guideのインストール
- LuaHelper Guideの動作確認
それでは、上記に沿って解説していきます。
拡張機能はLuaHelper Guideがオススメ
前提として、VSCodeのインストールは済ませておきます。
インストールがまだの場合は、以下の記事を参考にしてください。
また、Luaのインストールも済ませておきます。
Ubuntu 20.04 LTSへのLua 5.4のインストールについては、次の記事で解説しています。
今回、拡張機能としてオススメするのはLuaHelper Guideです。

LuaHelper Guideを選択する理由は、次の3つです。
- 機能が充実している
- 更新頻度が高い
- Tencentが開発している
それぞれを下記で説明します。
機能が充実している
最もインストール数の多い拡張機能は、「lua-language-server」です。
おそらく、こちらの拡張機能の方が有名かもしれません。
lua-language-serverの機能は、以下となります。

これに対して、LuaHelper Guideの機能は以下。

デバッグ機能の有無は、大きいです。
フォーマッターもあれば、便利な機能です。
更新頻度が高い
LuaHelper Guideは、リリースされたのが2020年です。
現時点(2021年12月末)でも、活発に更新が行われています。

これを未完成と捉えることもできます。
不具合がそれだけ多い可能性がありますからね。
仮にそうであっても、更新頻度が高いのは安心できます。
Tencentが開発している
この理由は、意外と大きいです。
Tencentは、売上高では世界最大級のゲーム会社と言われています。
2020年度の売上高は、約7.7兆円となります。
ただ、投資会社の側面も大きいようですけどね。
そんなTencentが、LuaHelper Guideを開発しています。
後発組のため、拡張機能のインストール数はトップではありません。
しかし、これだけの企業が開発しているのです。
おそらく、Luaに関する開発実績もTencentにはかなりあるはずです。
そのような背景を考えると、LuaHelper Guideには期待しかありません。
まとめ
LuaHelper Guideが、Tencent製というのは確かに大きいです。
それだけではなく、開発する上で必要なモノは一通り揃っています。
LuaHelper Guideをインストールすれば、これだけで十分と言えそうです。
他の拡張機能を追加でインストールする必要はありません。
よって、LuaHelper Guideのインストールをオススメします。
では、実際にLuaHelper Guideをインストールしてみましょう。
LuaHelper Guideのインストール
まずは、VSCodeで「lua」を検索します。

検索結果から、LuaHelper Guideを選択。

どちらのボタンでも構いません。
「インストール」ボタンをクリックします。
インストールが完了したら、「インストール済み」に表示されます。

以上、LuaHelper Guideのインストールを説明しました。
次は、LuaHelper Guideの動作確認を行います。
LuaHelper Guideの動作確認
新規にウィンドウを起動します。
「フォルダーを開く」を選択。

対象のフォルダーは、事前に作成しておいてもOK。
もしくは、この作業の途中で作成しても構いません。
今回は、「lua_test」フォルダーを作成しています。
そして、「lua_test」を開きます。
そうすると、次のように信頼するかどうかの確認が出てきます。
「はい、作成者を信頼します」を選択。

選択すると、次のような画面が表示されます。

「test.lua」というファイルを新規に作成します。

test.lua
a = 12345 b = "debug" c = "デバッグ" print(a) print(b) print(c)
コードは、上記の内容を記述します。
その際、Luaのprint関数の説明を確認。

また、コード補完も普通に機能しています。

では、デバッグを行います。
適当な箇所にブレークポイントを設定します。

「test.lua」を選択して、「デバッグの開始(実行メニュー)」を選択。
もしくは、F5を押すみたいです。

そうすると、次のように環境を選択する表示が現れます。
これは、初回のみ出てきます。

もちろん、ここは「LuaHelper:Debug」を選択。
選択すると、次のようなデバッグ画面が表示されます。
いかにもデバッグできそうな感じですが、まだできません。
「実行とデバッグ」から、次のいずれかを選択します。

- LuaHelper-Attach
- LuaHelper-DebugFile
公式では、次のように説明されています。
LuaHelper-Attach:実行中の他のプロセスをアタッチしてデバッグします。 LuaHelper-DebugFile:単一のLuaファイルをデバッグして実行することを意味します。
ここでは、単一のファイルをデバッグします。
よって、「LuaHelper-DebugFile」を選択。

この状態でデバッグが可能になります。
下線のどちらのアイコンでもいいので、クリックします。

あとは、普通にデバッグ作業を行うだけです。
ちなみに、変数はグローバルとして扱われています。

最低限、ここまでできればLuaの開発環境としては十分ではないでしょうか。
以上、LuaHelper Guideの動作確認を説明しました。