スクリプトエディタ

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

Studioのスクリプトエディタは、Robloxでのスクリプティングのための主要なツールです。これは自己改善型の環境であり、高い影響力のあるコードを書く手助けをし、開発時間を短縮し、体験の反復を行うことができます。以下の方法でスクリプト体験を向上させることができます。

スクリプトエディタはすべてのタイプのスクリプトをサポートしており、新しいスクリプトを作成したり、エクスプローラーウィンドウ内の既存のスクリプトをダブルクリックすると自動的に開きます。

オートコンプリート機能

スクリプトエディタのオートコンプリート機能は、プログラミングの効率を向上させるためのコード関連情報を生成します。以下のことが可能です。

  • コードをタイプするときに、体験のデータモデルに基づいたインフォームドサジェストでフレーズを完成させる方法の提案。たとえば、Workspace内にRocketShipというModelがある場合、workspace.rocとタイプするとオートコンプリートがRocketShipを提案し、それがModelであることを示します。

    データモデルに基づいた提案を表示するオートコンプリート
  • 宣言した変数や関数の名前の自動補完を提供し、面倒なタイプミスを避けることができます。

    以前に宣言された変数に基づいた提案を表示するオートコンプリート
  • APIの使用状況に関する文脈を提供するドキュメントポップアップとともに、エンジンAPIリファレンスと似たコードサンプルを表示します。

    Robloxエンジン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を使用することがあるか、LuaではなくLuauを使用することがあります。
  • ツールが生成する情報が不正確または誤解を招く可能性があり、目的にとって役に立たないことがあります。
  • 内部フィルターは攻撃的な言語をブロックしようとしますが、完全ではなく、ツールが攻撃的または偏った情報を生成する可能性があります。
  • 提案は、同じプロンプトであっても、ユーザーごとに同じ、類似、または異なる場合があります。ただし、あなたのコードは他の人と共有されることはありません。
  • 提案は、学習モデルの出力の長さが制限されているため、不完全である可能性があります。
  • 提案の数に対して日々の上限があり、その上限に達した場合、翌日まで提案を受けることはできません。

コードプライバシー

現在、Robloxは学習モデルのトレーニングに非公開データを使用していません。このツールは、大規模言語モデルを調整するために無料のマーケットプレイスアセットの小さなサブセットのみを使用し、そのサブセットは品質および安全フィルターチェックを通過しています。

さらに、すべての提案はAIモデルによって生成され、ユーザー間で転送されることはありません。あなたのコードはモデルのトレーニングには使用されず、他のコードアシストのユーザーに提案されることはありませんが、無料のマーケットプレイスアイテムにコードが投稿された場合は例外です。

マルチカーソル

スクリプトエディタは、同時に編集を行うために複数のカーソルの使用をサポートしています。マウスクリックやキーボードショートカットによって、必要に応じてカーソルを追加できます。最初のカーソルはプライマリーカーソルと呼ばれ、追加のカーソルはセカンダリーカーソルと呼ばれます。

  • プライマリーカーソルで行った編集は、セカンダリーカーソルにコピーされます。各編集は1つのアクションとしてカウントされるため、編集の元に戻したりやり直したりする際は全てのカーソルに適用されます。
  • オートコンプリートなどのウィジェットはプライマリーカーソルに表示されますが、セカンダリーカーソルには表示されません。
  • スクリプト編集のためのすべての標準キーボードショートカットはマルチカーソル編集でも機能します。これには、コードのインデント、コメントのトグル、行の削除が含まれます。

以下の表は、マルチカーソルのワークフローとそのショートカットを要約しています。

コマンドWindowsMac
マウス位置でカーソルの追加/削除Alt + クリック + クリック
最近追加されたカーソルの削除CtrlUU
マウスドラッグ中のカーソルの追加/変更Alt + ドラッグ + ドラッグ
上または下のカーソルの追加CtrlAlt / CtrlAlt /
次の一致する選択へのカーソルの追加CtrlDD
すべての一致する選択へのカーソルの追加ShiftAltLShiftL
列/ブロック選択ShiftAlt + ドラッグShift + ドラッグ
選択を行に分割ShiftAltIShiftI

カーソルの追加

キーボードショートカットとマウスマヌーバの組み合わせでカーソルを追加できます。カーソルが同じ空間を占める場合、それらはマージされます。たとえば、カーソルを矢印キーで追加したり、カーソルの間のすべての文字を削除すると、カーソルはマージされます。

マウス位置で

マウスカーソルの位置にカーソルを追加するには:

  1. WindowsではAltを、Macではを押し続けます。

  2. カーソルを追加したい位置をクリックします。

マウスドラッグで

コーディングの選択にカーソルを追加するためにマウスをドラッグしたり、マルチライン選択を行に分割したり、列やコード/空白のブロックを選択することができます。

コードの選択にカーソルを追加するには、ドラッグして次のようにします:

  1. WindowsではAltを、Macではを押し続けます。

  2. コードの選択をドラッグします。

プライマリーカーソルの上または下

プライマリーカーソルのすぐ上または下にカーソルを追加するには:

  1. WindowsではCtrlAltを押し続け、Macではを押し続けます。

  2. または矢印を押します。

一致する選択へのカーソル

選択のすべての一致にカーソルを追加したり、次/前の一致にカーソルを追加したり、オプションでケースを区別するか完全な単語一致を切り替えることができます。

選択した部分のすべての一致にカーソルを追加するには:

  1. 一致を検索したいコードを選択します。

  2. WindowsではShiftAltLを、MacではShiftLを押します。

カーソルの削除

次のキーボードショートカットやマウスマヌーバでカーソルを削除できます。あるいは、Escを押すことでマルチカーソル編集を終了することができます。

マウス位置で

カーソルを削除するには:

  1. WindowsではAltを、Macではを押し続けます。

  2. 削除したいカーソルをクリックします。

最近追加されたカーソル

最近追加されたカーソルを削除するには、WindowsではCtrlUを、MacではUを押します。

カーソルのコピーとペースト

コードの選択をコピーすると、その中のカーソルも含まれます。ペーストの動作は、ソースのカーソルの数と宛先のカーソルの数によって異なります。

  • カーソルの数が同じであれば、各コピーされたカーソルが対応する宛先カーソルにペーストされます。
  • カーソルの数が異なる場合、宛先の各カーソルには、各コピーされたカーソルが新しい行としてペーストされます。

タイプ時フォーマット

エンター/リターンを押すと、各カーソルが前の行に対して新しい行で自動的にインデントされます。前の行が不完全なブロックで始まる場合、フォーマッターはそれを完成させようとします。

エディタ設定

多くのカスタマイズオプションは、スタジオ設定スクリプトエディタタブからアクセスできます。一般的に変更されるオプションには以下が含まれます。

オプション説明
フォントエディタ内のコードのフォントファミリーとサイズ。
タブ幅Tabインデントを示すスペースの数。
スペースを使用してインデント有効にすると、Tabを押すとタブ幅に等しいスペースが挿入されます。
テキストの折り返し有効にすると、長いコードの行が次の行に折り返されます。
スクリプトエディタのカラープリセットコード要素、選択色などのカラープリセット。プリセットを選択した後、選択色コメント色などのオプションに特定の色を設定できます。

キーボードショートカット

スクリプトエディタには次のキーボードショートカットがあります。

コマンドWindowsMac
スクリプトを閉じるCtrlWW
最後に閉じたスクリプトを再オープンCtrlShiftTShiftT
クイックオープンCtrlPP
エクスプローラーでスクリプトを表示CtrlAltKK
ズームインCtrl==
ズームアウトCtrl--
スクリプトズームをリセットCtrl00
©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。