VSCode setting for TIC-80

2020年6月5日

fantasy console gamedev Lua TIC-80 VSCode

t f B! P L
TIC-80で小さなshoot'em upを作ったのでそのメモ。TIC-80に関してwebで日本語の情報は少なく、日本で使っておられる方も数えるほどしかいないように見えます。これから、使われる方に向けて設定メモです。pro版は使ってないです。

CODE

Lua, Moonscript, JavaScript, Fennel, Wren がサポートされています。あまり考えずに、そのままLuaを使用しました。パフォーマンスや文字数制限に対して、どの言語が有利かは気になるところです。
TIC-80ではcode editorが内包されていますが、これでプログラムを書き続けるのはしんどいので、外部のeditorを使用を検索しました。

最近はVSCodeよく使うので、これで記述するようにしました。

プログラムの実行とコンソール出力

以下の設定で、Code Runnerから記述しているluaのプログラムを起動することができます。
  1. Code RunnerのプロラグインをVSCodeにinstall。機能拡張から検索してインストールします。
  2. TIC-80の実行ファイルをpathが通っている所に置くか、設定code-runner.cwdにtic-80のパスを追加する。
  3. 以下の設定をworkspace settingsに記述する。
{
    // Set the executor of each language.
    "code-runner.executorMap": {
        "lua""$workspaceRoot\\tic80 $workspaceRoot\\$fileNameWithoutExt.tic -code-watch $fullFileName",
    },
    // Whether to save the current file before running.
    "code-runner.saveFileBeforeRun"true,
    // Whether to clear previous output before each run.
    "code-runner.clearPreviousOutput"true,
    // Whether to ignore selection to always run entire file.
    "code-runner.ignoreSelection"true,
    // The number of spaces a tab is equal to. This setting is overriden based on the file contents when `editor.detectIndentation` is on.
    "editor.tabSize"2,
    "editor.insertSpaces"false
}

TIC-80の実行ファイルの配置位置

TIC-80は軽量な一つの実行ファイルで動き、そこに全部の環境が含まれているので、実行ファイルをワークスペースにそのまま配置しています。(※プロジェクトのtic,luaファイルがあるところにそのまま、TIC80の実行ファイルを配置してる) なので上記だと、workspaceRootのTIC-80を実行する設定になってます。
実行しているTIC-80のpathがわからない場合、consoleにfolderって打つとFile Explorerが開いて確認できます。

実行

ticカートリッジと同名のluaファイルを配置して、luaにプログラムを記述します。実行するluaをVSCodeで開いた状態で、Run Codeボタン押すかCtrl+Alt+Nで、TIC-80が起動してプログラムを確認することができます。起動後プログラム修正した場合は、保存したあと、consoleからrunし直してました。

console出力

Luaデバッグ方法がよく分かってなくて。trace記述してconsole出力で、printfデバッグ多用してしまってました。OUTPUTにlogが流れるので、consoleに戻らなくても、実行中に確認できます。

TIC-80 API snippets

Visual-Code-TIC-80 には、TIC-80のAPIのsnippets (.lua, .moon, .js, .ts)もあるので、ワークスペースの.vscode以下に配置しました。APIの関数名を入力して、Ctrl+Spaceで説明とか出ます。

Character Count

TIC-80 pro版でない場合、プログラムの文字数65536文字の制限があるので、途中から文字数をカウントする機能拡張 "Character Count"を追加しました。文字数をこえると、TIC-80のconsoleで、code is larger than 65536 symbols と出て実行できないです。

まとめ

以下に自分が使っていた環境がそのままあるので、.vscode ディレクトリを持ってきて、そこに、TIC-80の実行ファイルを配置と、Code Runnerなどの機能拡張をインストールすれば、環境設定は完了します。


QooQ