Skip to main content
診断には2つの出どころがあります。 Problems パネルは「ファイル」「種別」「発生源」の3軸で表示を絞れます。 解析自体は常に全ファイルが対象で、フィルターは表示だけを変えます。

診断メッセージの言語

File > Settings… の「診断メッセージ」で、日本語訳と原文を切り替えられます。 訳を切っても、ヒントは折りたたみで残ります。 対応表に無いコードは原文のまま表示されます。黙って空にすることはありません。

lint 診断

プロジェクトの構造 (error)

require の制限 (error)

書き方は require とミニファイを参照してください。

sim.* の規則 (error)

一覧は sim.* 標準ライブラリにあります。
environment-only-api はエクスポート時に確実にエラーになりますが、 デバッグ実行では実在する API なので実行自体は妨げられません。 メッセージにその旨が付きます。

一般的なリント (warning)

Stormworks 固有の制限

編集中は warning、minify のときは error になります。 デバッグ実行はブラウザ内の本物の Lua なので、これらでも動いてしまいます。 その差を先に見せるために警告として出しています。

抑制アノテーション

同じ行の診断を、コードを指定して抑制します。 抑制できるのは warning だけです。 error のものは抑制できません。

実行時エラーの分類

実行中のクラッシュは種類ごとに分類され、原因に応じたヒントが付きます。 表示されるのは次のメッセージとヒントです。 上のどれにも当てはまらないものは、原文をそのまま表示します。 分類できないものを黙って握り潰すことも、ヒントを捏造することもありません。 診断メッセージの訳を切っている場合は原文が表示されますが、ヒントは残ります。

エラーの場所

require したモジュールの中で起きたエラーは、そのモジュール名と行番号で表示されます。 デバッグ実行はリンクも minify も通さず、書いたソースをそのまま実行しているためです。
エントリのスクリプト自身で起きたエラーは、行番号は正しく出ますが、 ファイル名が実際の名前とは異なる場合があります。Design が生成した Lua で起きたエラーは、 自分が書いていないコードを指します。