Studioのスクリプトエディタは、Robloxでのスクリプティングのための主要なツールです。これは自己改善型の環境であり、高影響のコードを書く手助けをし、開発時間を短縮し、ゲームの反復を促進します。スクリプティング体験を向上させるために以下のことができます:
- コード内の構文をフォーマットし、ハイライトします。
- タイプする際にコード内のフレーズをオートコンプリートする方法を提供します。
- 変数や関数の宣言にジャンプすることでコードをナビゲートする手助けをします。
- 開いているスクリプトやすべてのスクリプト内のコードを検索と置換する手助けをします。
- コードの品質とパフォーマンスに関するリアルタイムフィードバックを提供します。
スクリプトエディタはすべてのタイプのスクリプトをサポートしており、新しいスクリプトを作成するか、Explorerウィンドウ内の既存のスクリプトをダブルクリックすると自動的に開きます。
オートコンプリート機能
スクリプトエディタのオートコンプリート機能は、プログラミング効率を向上させるためのコード関連情報を生成します。例えば:
変数や関数の自動補完:宣言した変数や関数の名前を自動的に補完し、面倒なタイプミスを避ける手助けをします。

コードサンプルを含むドキュメントポップアップ:これらはエンジンAPIリファレンスに似ており、APIの使用に関する文脈を提供します。

ホバー時のツールチップ:自分で定義したドキュメントでカスタマイズできます。

ホバー時のスクリプト分析診断:エラーをトラブルシュートするために使用できる情報を提供します。

関数シグネチャ:引数をタイプすると、パラメータと戻り値の参照を提供します。

コードナビゲーション
宣言に移動
関数や変数の宣言にジャンプするには、WindowsではCtrlを、Macでは⌘を押しながら呼び出しをクリックするか、その呼び出しを右クリックして宣言に移動をクリックします。

スクリプト関数フィルタ
スクリプト関数フィルタは、スクリプト内で宣言されたすべての関数のリストを表示します。これを開くには、WindowsではAltFを、Macでは⌥Fを押します。リストが開くと、各関数のシグネチャをブラウズしたり、名前でフィルタリングしたり、ダブルクリックしてその宣言にジャンプしたりできます。

検索と置換
検索/置換ウィジェットを使用すると、開いているスクリプト内のコードを検索して置換できます。このウィジェットは、大文字と小文字の区別、単語全体の一致、正規表現による検索をサポートしています。これを開くには、WindowsではCtrlFを、Macでは⌘Fを押します。

リアルタイムフィードバック
スクリプト分析
スクリプト分析ウィンドウは、Studioのスクリプトタブツールバーの分析ボタンを通じてアクセスでき、スクリプトに対して静的分析を行い、アクティブなエラーや警告を表示します。エラーや警告の詳細については、Luauのリンティングドキュメントを参照してください。


出力
出力ウィンドウは、スクリプトの実行からキャプチャされたエラー、Robloxエンジンからのメッセージ、print()への呼び出しからのメッセージ、warn()への呼び出しからのエラーを表示します。

コードアシスト
コードアシストは、タイプする際にコードの行や関数を提案する機能で、より効率的にコーディングし、集中力を保つ手助けをします。コメントやコードからの文脈に基づいて、提案は次の2つの方法でトリガーされます:
- 自動的に:数秒間行に停止したときに、AIモデルが提案のための十分な文脈を持っている場合。
- 手動で:WindowsではショートカットAlt∖、Macでは⌥∖を使用します。
提案を受け入れるにはTabを押し、無視するにはそのままタイプを続けます。現在、スクリプトには提案をトリガーするために少なくとも数行のコードが含まれている必要があります。
提案を改善する
より正確で関連性のある提案を得るためには、支援に関係なくクリーンなコーディングプラクティスに従うことをお勧めします:
- コードを小さな関数に分解します。
- 各スクリプトが何をするかの全体的な意図を捉える説明的なスクリプト名を使用します。例えば、スクリプトをSyncCustomSoundsと名付ける代わりに、単にSoundsと名付けます。
- パラメータ、関数、スクリプトに説明的な名前を付けます。例えば、部品をGreenSphereと名付ける代わりに単にgrsと名付けたり、関数をgenerateSphere()と名付ける代わりにgen()と名付けたりします。名前付き関数を使用することで、匿名関数よりも良いヒントが得られることがあります。
- 実装しているタスクと入力/出力が何であるべきかを説明する、よく書かれたコメントを一貫して含めます。
- コメントに期待される結果を含むいくつかのサンプル呼び出しを含めることを検討してください。
- 問題を解決する方法を提案します。例えば-- Use raycast。
- 定義した正確な関数や変数名を使用します。例えば-- Create 10 greenSphere objectsではなく-- Create 10 spheresとします。
- 初心者のスクリプターであれば、「プレイヤーが部品に触れたときにジャンプさせる」などの基本的なプロジェクトから始めるか、知識が増えるにつれて拡張できる小さなコードスニペットを生成するためにツールを使用します。
制限事項
このツールは基本的なコーディングタスクを自動化する手助けをしますが、常に完璧なコードを提案するわけではありません。既知の制限事項には以下が含まれます:
- 手動トリガーは常に提案を強制生成するわけではありません。
- 提案はコードのコーパスから機械学習されており、トレーニングされたコードの制限を反映する可能性があります。例えば、提案は古いAPIを優先して新しいAPIを使用しない場合や、LuauではなくLuaを使用する場合があります。
- ツールは目的に役立たない不正確または誤解を招く情報を生成する可能性があります。
- 内部フィルターは攻撃的な言語をブロックしようとしますが、すべてを網羅しているわけではなく、ツールが攻撃的または偏った情報を生成する可能性があります。
- 提案は、同じプロンプトであってもユーザー間で同じ、類似、または異なる場合があります。ただし、あなたのコードは他の人と共有されることはありません。
- 提案は、学習モデルからの出力の長さが制限されているため、不完全である可能性があります。
- 提案の数には日々の上限があり、上限に達すると翌日まで提案は行われません。
コードのプライバシー
現在、Robloxは学習モデルをトレーニングするために非公開データを使用していません。このツールは、大規模な言語モデルを調整するために無料のマーケットプレイスアセットの小さなサブセットのみを使用しており、そのサブセットは品質と安全フィルターのさまざまなチェックを通過しています。
さらに、すべての提案はAIモデルによって生成され、ユーザー間で転送されることはありません。あなたのコードはモデルのトレーニングに使用されないため、他のコードアシストのユーザーに提案されることはありません。ただし、無料のマーケットプレイスアイテムに投稿されたコードは例外です。
マルチカーソル
スクリプトエディタは、同時に編集を行うための複数のカーソルの使用をサポートしています。マウスのクリックやキーボードショートカットを使用して、必要に応じてカーソルを追加できます。最初のカーソルはプライマリーカーソルと呼ばれ、追加のカーソルはセカンダリーカーソルと呼ばれます。
- プライマリーカーソルで行った編集は、セカンダリーカーソルにコピーされます。各編集は1つのアクションとしてカウントされるため、編集の元に戻す/やり直しはすべてのカーソルに適用されます。
- オートコンプリートなどのウィジェットはプライマリーカーソルに表示されますが、セカンダリーカーソルには表示されません。
- スクリプト編集のためのすべての標準キーボードショートカットは、マルチカーソル編集で機能し、コードのインデント、コメントの切り替え、行の削除を含みます。
以下の表は、マルチカーソルのワークフローとそのショートカットをまとめたものです。
| コマンド | Windows | Mac |
|---|---|---|
| マウス位置にカーソルを追加/削除 | Alt + クリック | ⌥ + クリック |
| 最も最近追加したカーソルを削除 | CtrlU | ⌘U |
| マウスドラッグでカーソルを追加/変更 | Alt + ドラッグ | ⌥ + ドラッグ |
| 上/下にカーソルを追加 | CtrlAlt↑ / CtrlAlt↓ | ⌘⌥↑ / ⌘⌥↓ |
| 次の一致する選択にカーソルを追加 | CtrlD | ⌘D |
| すべての一致する選択にカーソルを追加 | ShiftAltL | Shift⌥L |
| 列/ブロック選択 | ShiftAlt + ドラッグ | Shift⌥ + ドラッグ |
| 選択を行に分割 | ShiftAltI | Shift⌥I |
カーソルを追加
キーボードショートカットとマウス操作の組み合わせを使用してカーソルを追加できます。カーソルが同じスペースを占める場合、例えば矢印キーでカーソルを追加したり、カーソル間のすべての文字を削除したりすると、カーソルがマージされます。
マウス位置に
マウスポインタの位置にカーソルを追加するには:
WindowsではAltを、Macでは⌥を押し続けます。
カーソルを追加したい場所をクリックします。
マウスドラッグで
マウスをドラッグして選択にカーソルを追加したり、複数行の選択を行に分割したり、コードや空白の列やブロックを選択したりできます。
ドラッグでコードの選択にカーソルを追加するには:
WindowsではAltを、Macでは⌥を押し続けます。
コードの選択をドラッグします。
プライマリーカーソルの上または下に
プライマリーカーソルのすぐ上または下にカーソルを追加するには:
WindowsではCtrlAltを押し続け、Macでは⌘⌥を押し続けます。
↑または↓矢印を押します。
一致する選択に
選択のすべての一致にカーソルを追加したり、次または前の一致にカーソルを追加したりできます。また、一致が大文字と小文字を区別するかどうか、または単語全体を一致させるかどうかを切り替えることもできます。
選択した部分のすべての一致にカーソルを追加するには:
一致を検索したいコードを選択します。
WindowsではShiftAltLを、MacではShift⌥Lを押します。
カーソルを削除
以下のキーボードショートカットとマウス操作を使用してカーソルを削除できます。あるいは、Escを押すことでマルチカーソル編集を終了することもできます。
マウス位置に
カーソルを削除するには:
WindowsではAltを、Macでは⌥を押し続けます。
削除したいカーソルをクリックします。
最も最近追加したカーソル
最も最近追加したカーソルを削除するには、WindowsではCtrlUを、Macでは⌘Uを押します。
カーソルのコピーと貼り付け
コードの選択をコピーすると、その中のカーソルも含まれます。貼り付けの動作は、ソースのカーソルの数と宛先のカーソルの数によって異なります:
- カーソルの数が同じ場合、各コピーされたカーソルは対応する宛先カーソルに貼り付けられます。
- カーソルの数が異なる場合、宛先の各カーソルは、各コピーされたカーソルを新しい行として受け取ります。
タイプ時のフォーマット
Enter/Returnを押すと、各カーソルが前の行に対して新しい行で自動インデントされます。前の行が不完全なブロックで始まる場合、フォーマッターはそれを完成させようとします。
エディタ設定
多くのカスタマイズオプションは、Studio設定のスクリプトエディタタブを通じてアクセスできます。一般的に変更されるオプションには以下が含まれます:
| オプション | 説明 |
|---|---|
| フォント | エディタ内のコードのフォントファミリーとサイズ。 |
| タブ幅 | Tabインデントを表すスペースの数。 |
| スペースを使用してインデント | 有効にすると、Tabを押すとタブ幅に等しいスペースが挿入されます。 |
| テキストの折り返し | 有効にすると、長いコード行が次の行に折り返されます。 |
| スクリプトエディタのカラープリセット | コード要素、選択色などのカラープリセット。プリセットを選択した後、選択色やコメント色などのオプションに特定の色を設定できます。 |
キーボードショートカット
スクリプトエディタには以下のキーボードショートカットがあります。
| コマンド | Windows | Mac |
|---|---|---|
| スクリプトを閉じる | CtrlW | ⌘W |
| 最後に閉じたスクリプトを再オープン | CtrlShiftT | ⌘ShiftT |
| クイックオープン | CtrlP | ⌘P |
| Explorerでスクリプトを表示 | CtrlAltK | ⌘⌥K |
| ズームイン | Ctrl= | ⌘= |
| ズームアウト | Ctrl- | ⌘- |
| スクリプトのズームをリセット | Ctrl0 | ⌘0 |
