スクリプト編集

Studio(スタジオ)のスクリプトエディタは、Roblox(ロブロックス)でスクリプトを作成するための主要なツールです。 効果の高いコードの作成、開発時間の短縮、バーチャル空間のイテレーションを行うのに役立つ、自己改善機能のある環境です。 次のようにしてスクリプト作成体験を向上させます。

スクリプトエディタは、あらゆる種類のスクリプトをサポートしているので、新しいスクリプトを作成するか、Explorerウィンドウで既存のスクリプトをダブルクリックすると自動的に開きます。

自動補完

スクリプトエディタは、プログラムを書く効率の向上に役立つ、コードに関連した情報を生成します。

  • コードを打ち込む際に、フレーズを補完する選択肢を提案します。 上下の矢印キーで提案を確認し、TabまたはEnterキーを押すと、提案を承認して補完されたフレーズを挿入できます。

    ユーザーが入力した内容に基づいて候補を表示する自動補完
  • 自動補完は、バーチャル空間のデータモデルに関連しています。 CoolRocketShipという名前のWorkspaceClass.Partがある場合、workspace.rocと打ち込むと自動補完によってCoolRocketShipが提案され、それがPartであることが表示されます。

    バーチャル空間のデータモデルに基づいた提案を表示する自動補完
  • 自動補完は、宣言した変数や関数の名前を提供し、タイプミスを避けるのに役立ちます。

    事前に宣言された変数に基づいて候補を表示する自動補完
  • 自動補完のポップアップは、エンジン API リファレンスに含まれるのと同様のドキュメンテーションとコード例を表示して、API の使用方法に関するコンテキストを提供します。

    RobloxエンジンAPIに基づいた候補を表示する自動補完
  • 関数に引数を入力すると、自動補完ポップアップは関数のシグネチャも表示して、パラメータと戻り値のリファレンスを提供します。

    関数のシグネチャを表示する自動補完

コード内の移動

宣言に移動

関数や変数の宣言にジャンプするには、Windows の場合はCtrl キー、macOS の場合はを押しながらその呼び出しをクリックするか、その呼び出しを右クリックして宣言へをクリックします。

宣言された関数での宣言ワークフローへ進む

スクリプト関数フィルタ

スクリプト関数フィルタは、スクリプトで宣言されている関数のリストを表示します。 Windows では Alt キーF キー、macOS では F キー を押して開く。 開いたリストでは、各関数のシグネチャを確認し、名前でフィルタすることができます。 関数をダブルクリックするとその宣言へのジャンプできます。

スクリプト内のすべての関数を表示するスクリプト関数フィルタ

見つけて置き換え

見つけて置き換えのウィジェットでは、開いているスクリプト内のコードの検索と置き換えができます。 ウィジェットは、大文字小文字の区別、全単語の一致、正規表現に対応しています。 Windows では Ctrl キーF キー、macOS では F キー を押して開く。

ラベル付き見つける/置き換えウィジェット

リアルタイムフィードバック

スクリプト解析

スクリプト解析ウィンドウは、表示タブからアクセスできます。 スクリプトの静的な分析を行い、アクティブなエラーや警告を表示します。 エラーと警告の詳細については、Luau 言語ドキュメンテーションをご覧ください。

さまざまなマークされたエラーのスクリプト
スクリプト編集で下線が引かれているスクリプトエラー
スクリプトからマークされたエラーの詳細を表示するスクリプト解析ウィンドウ
スクリプト解析ウィンドウで説明されているエラー

出力ウィンドウ

出力ウィンドウは表示タブからアクセスでき、スクリプトの実行でキャプチャされたエラー、Roblox エンジンからのメッセージ、print()の呼び出しからのメッセージ、warn()の呼び出しからのエラーが表示されます。 ワークフローに合わせた設定の詳細については、出力ウィンドウを参照してください。

コードのアシスタント

コードアシストは、コードを打ち込む際にコードの行や機能を提案する AI アシスタントで、集中してより効率的にコードを書くのに役立ちます。 コメントとコードのコンテキストによって、提案をトリガする方法は 2 つあります。

  • **自動:**ある行で数秒間操作が停止し、提案するのに十分なコンテキストを AI モデルが持っている場合。
  • 手動:Windows でAlt、または、macOS でのショートカットで起動する場合(このショートカットはカスタマイズ可能です)。

Tabを押して提案を承認するか、無視して打ち込みを続けます。 現在、提案をトリガするには、スクリプトに最低数行のコードが含まれている必要があります。

提案の改善

より正確で適切な提案を得るには、AI アシスタンスにかかわらず、コーディングの適切な慣行を守ることをお勧めします。

  • コードは、小さな関数に分割します。
  • スクリプトの名前は、各スクリプトが行う動作の全体的な意図を表現する、説明的なものにします。 例えば、スクリプトには、単にSoundsではなくSyncCustomSoundsといった名前を付けます。
  • パラメータ、関数とスクリプトには、説明的な名前を割り当てます。 例えば、パーツの名前は単にgrsではなくGreenSphereにしたり、関数の名前はgen()の代わりにgenerateSphere()にします。 匿名関数の代わりに関数には名前を付けて使用することで、より優れたヒントを提供できます。
  • 実装しているタスクと入出力が何であるべきかを適切に説明するコメントを一貫してコードに入れます。
    • コメントに、呼び出しの例や期待される結果を含むことを検討します。
    • -- Use raycastなど、問題を解決する方法を提案します。
    • -- Create 10 spheresではなく-- Create 10 greenSphere objectsなど、定義された関数や変数の正確な名前を利用します。
  • スクリプト初心者の方は、「パーツに触れたときにプレイヤーをジャンプさせる」といった基本的なプロジェクトから始めるか、ツールを用いてコードの小さなスニペットを生成し、知識を得るにつれてそのコードを拡張していきましょう。

制限事項

このツールは、基本的なコード作成作業の自動化に役立ちますが、常に完璧なコードを提案するわけではありません。 既知の制限事項には次が含まれます。

  • 手動でトリガした場合、提案が常に強制的に生成されるわけではありません。
  • 提案内容は、コードのコーパスから機械学習されたもので、訓練に利用されたコードの欠点を反映することがあります。 例えば、提案では古い API を好んで新しい API を使用しない可能性があります。 あるいは、Luauの代わりに Lua を使用するかもしれません。
  • 目的のために有用ではない誤った情報や誤解のある情報をツールが生成する可能性があります。
  • 不快な言語を排除するため内部フィルタが適用されますが、すべて網羅するわけではありません。 ツールが不快なあるいは偏った情報を生成する可能性はあります。
  • 同じプロンプトでもユーザーによって提案内容が同一、類似または異なる可能性があります。 ただし、書いたコードが他人に共有されることは決してありません。
  • 学習モデルの出力に限界があるため、提案内容が不完全な場合があります。
  • 提案数には、1 日当たりの上限があり、上限に達すると翌日まで提案が表示されなくなります。

コードのプライバシー

現在、Roblox では非公開データを学習モデルのトレーニングに使用しません。 ツールは、大きな言語モデルのチューニングにマーケットプレースの無料アセットの小さなサブセットのみを利用し、このサブセットは品質のためのさまざまな検証と安全性フィルタを通っています。

さらに、すべての提案は AI モデルによって生成され、あるユーザーから別のユーザーには転送されません。 無料のマーケットプレースアイテムに投稿されたコードを除き、ユーザーが書いたコードはモデルのトレーニングに使用されないため、コードアシストのほかのユーザーにそのコードが提供されることはありません。

マルチカーソル

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

  • メインのカーソルで行った編集は、2 番目のカーソルにコピーされます。 各編集は 1 つのアクションとしてカウントされるため、編集の取り消しまたはやり直しはすべてのカーソルに適用されます。
  • 自動補完のようなウィジェットは、メインのカーソルには表示されますが、2 番目のカーソルには表示されません。
  • コードのインデント、コメントの切り替え、行の削除など、スクリプト編集用の標準的な キーボードショートカットはすべて、マルチカーソル編集で機能します。

次の表は、マルチカーソルワークフローとそのショートカットをまとめたものです。

コマンドWindowsmacOS
マウスの位置でカーソルを追加または削除Alt + クリック + クリック
最後に追加したカーソルを削除Ctrl/ + Uキー
マウスドラッグで追加/変更カーソル追加Alt + ドラッグ + ドラッグ
上/下にカーソル追加CtrlAlt / CtrlAlt /
次の一致対象にカーソルを追加Ctrl/ + Dキー
次の一致対象にカーソルを追加Shift + Alt + LキーShift + + Lキー
列/ブロック選択ShiftAlt + ドラッグShift + ドラッグ
選択範囲を行で分割Shift + Alt + IShift + + Iキー

カーソルの追加

キーボードショートカットとマウス操作の組み合わせでカーソルを追加できます。 矢印キーでカーソルを追加またはカーソル間のすべての文字を削除した場合など、同じ場所を占めるカーソルは 1 つになります。

マウスの位置

マウスポインタの位置にカーソルを追加:

  1. Windows ではAlt キーを長押し、macOS では
  2. カーソルを追加したい場所をクリック。

マウスのドラッグで

マウスをドラッグして選択範囲にカーソルを追加したり、複数行の選択範囲を行に分割したり、コードや空白の列やブロックを選択することができます。

ドラッグ選択

ドラッグしてコードの選択範囲にカーソルを追加:

  1. Windows ではAlt キーを長押し、macOS では
  2. 選択したいテキスト上をクリックしてマウスをドラッグします。
選択範囲を行で分割

複数行の選択を行で分割して各行の終わりにカーソルを追加するには、 Windows ではShift キーAlt キーI キー、macOS では Shift キーI キー を押します。

列/ブロック選択

コードか空白の列とブロックを選択するには、マウスをドラッグしながら、Windows Shift キーAlt キー を長押しし、macOS では Shift キー を長押しします。 ドラッグすると、ハイライトされた行にカーソルが追加されます。

プライマリカーソルの上と下

プライマリカーソルの真上または下にカーソルを追加するには、次の手順に従います。

  1. Windows ではCtrl + Alt、macOS では + を長押しします。
  2. または を押す。

すべての一致対象

大文字小文字を区別するか単語全体を一致させるかもオプションで切り替えできます。

すべての一致

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

  1. 一致する対象を検索したいコードを選択します。
  2. Windows ではShift + Alt + L、macOS ではShift + + Lを押します。
次/前の一致

の一致する選択肢にカーソルを追加する方法

  1. 一致する対象を検索したいコードを選択します。
  2. Windows ではCtrl + D、macOS では + Dを押します。
  3. 追加したい次の一致対象をすべて選択し終わるまで、Ctrl/ + Dを押し続けます。

前の一致する選択範囲にカーソルを追加するデフォルトのショートカットはありませんが、自分で追加できます:

  1. Open ファイル詳細カスタマイズ ショートカットを開く。

  2. ショートカットウィンドウで、前の出現を選択を見つける。

  3. 動作の ショートカット フィールドをダブルクリックして、 CtrlDのデフォルトの一致の「次」の一致に Shif キー tCtrl キーD キー などの自分のカスタムキーの組み合わせを入力。

  4. ウィンドウ右下の了解をクリックして設定を確認します。

大文字と小文字をマッチさせるか単語全体

上記のマッチング関連の各ワークフローでは、以下のように大文字単語全体をマッチさせることができます:

  1. 見つける/置き換えツールを開く(Windows ではCtrl キーF、macOS ではF キー

  2. 大文字と小文字を区別するか、単語全体と一致させるかを選択するには、切り替えボタンを使用します。

カーソルの削除

以下のキーボードショートカットとマウス操作でカーソルを削除できます。 Esc キー を押してマルチカーソル編集を終了することもできます。

マウスの位置

カーソルを削除するには、次の手順に従います。

  1. Windows ではAlt、macOS ではを長押しします。
  2. 削除したいカーソルをクリックします。

最後に追加したカーソル

最後に追加したカーソルを削除するには、Windows ではCtrl + U、macOS では + Uを押します。

カーソルのコピーと貼り付け

テキストをコピーには選択範囲内のカーソルも含まれます。 貼り付けの動作は、コピー元のカーソル数と貼り付け先のカーソル数によって異なります。

  • カーソル数が同じ場合、コピーされたカーソルはそれぞれ対応する貼り付け先のカーソルに貼り付けられます。
  • カーソル数が異なる場合、コピーされた各カーソルが新しい行となり、貼り付け先の各カーソルが貼り付け全体を受け取ります。

入力時に自動フォーマット

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

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

スクリプトエディタには、以下のキーボードショートカットがあります。 また、スクリプトを表示か編集しているときに Studio ツールバーに表示されるスクリプトタブからも、多くのコマンドにアクセスできます。

コマンドWindowsmacOS
スクリプトを閉じるCtrl/ + W
最後に閉じられたスクリプトを再度開くCtrl + Shift + T + Shift + T
クイックオープンCtrl/ + P
エクスプローラでスクリプトを表示Ctrl + Alt + KKキー
ズームインCtrl==
元に戻すCtrl--
スクリプトのズームをリセットCtrl/ + 0