Studio の スクリプトエディタ は、Roblox でスクリプトを作成するための主要なツールです。自己改善環境で、高い影響力のコードを作成、開発時間を短縮し、エクスペリエンスを反復することができます。スクリプトエディタのエクスペリエンスを改善することで、次のようなメリットがあります:
- コードの形式とハイライトを設定します。
- コードで 自動完了 フレーズを提供するこ入力。
- コードをナビゲートするために、変数と関数のデクラレーションにジャンプすることで。
- 開くスクリプトやすべてのスクリプトで コードを見つけて交換する ことをお手伝いします。
- コードの履行質とパフォーマンスについて リアルタイムフィードバックを提供する。
スクリプトエディタは、すべての種類の スクリプト をサポートし、新しいスクリプトを作成するか、 Explorer ウィンドウで既存のスクリプトをダブルクリックすると自動的に開きます。
オートコンプリート機能
スクリプトエディタの自動完了機能は、プログラミングの効率性を向上させるコード関連情報を生成します。たとえば:
意図した提案 について、フレーズを入力しているときに フレーズのコンテキスト についてのエクスペリエンスのデータモデル に オプション を自
名前を自動入力する 変数と関数を宣言すると、イラストレーションが長くなります。
エンジン API リファレンス のようなコードサンプルでドキュメントポップアップを表示すること。これにより、APIの使用についてコンテキストを提供できます。
オンホバーツール をカスタマイズできる、自分の定義したドキュメントです。
オンホバースクリプト分析診断 、エラーをトラブルシューティングするために使用できる情報付き。
機能サイン を入力すると、パラメータの参照と戻り値を提供することができます。
コードナビゲーション
デクラレーションに移動
Windows では Ctrl を押しながら、コールをクリックするか、⌘ を押しながら Mac でコールを右クリックして デクラレーション に移動することができます。
スクリプト機能フィルタ
スクリプト機能フィルター は、スクリプトで宣言されたすべての機能のリストを表示します。開くには、Windows で Alt 、F で F を押すか、Mac で 1>⌥1> 、F で 4>F4> をダブルクリックし
見つけて交換
Find/Replace ウィジェットは、オープンスクリプトでコードを見つけ、置き換えることができます。ウィジェットは、正規表式に一致する場合、全体のワードに一致して、または検索することでコードを見つけます。開くには、Windows では Ctrl 、F では F 、Mac では 1>��
リアルタイムフィードバック
スクリプト分析
スクリプト分析 ウィンドウ、ビュー タブからアクセス可能な静的分析は、スクリプトに対して静的分析を実行し、アクティブなエラーと警告を表示します。エラーと警告の詳細は、Luau linting ドキュメントを参照してください。
出力ウィンドウ
出力 ウィンドウ、ビュー タブからアクセス可能な、スクリプトの実行、Roblox エンジン、print() への呼び出し、および 1> arn()1> への呼び出しからキャプチャされたエラーを表示します。For details on configuring it for your workflow, see 4>出力ウィ
コードアシスト
コードアシスト は、コードの行または関数を入力すると、コードをより効率的に入力し、集中することを助ける機能です。コメントとコードのコンテキストに基づいて、提案は 2つの方法でトリガーされます:
- 自動的に 、幾秒間の間、ラインを停止していると、AI モデルが提案に十分なコンテキストを持っている場合があります。
- マニュアル にショートカット Alt ∖ on Windows の上で、または ⌥ 1>∖1> on Mac (you can 4>カスタマイズ 4> このショートカット).
プレス タブ を押して、提案を受け入れるか、またはスクリプトをタイプし続けることで提案を無視します。現在、スクリプトは、提案をトリガーするために少なくともいくつかのコード行を含める必要があります。
提案の改善
より正確で関連性の高い提案を得るには、助けを受けているかどうかにかかわらず、クリーンなコーディングプラクティスを遵守することが推奨されます:
- コードを小さな関数に分割します。
- 各スクリプトの意図を捕獲する説明的なスクリプト名を使用します。たとえば、スクリプト名を SyncCustomSounds として、まったく サウンド ではありません。
- パラメータ、関数、スクリプトに説明的な名前を割り当てる。たとえば、GreenSphere というパーツの名前を、単にgrs ではなく、generateSphere() と名付けること。また、2> constructSphere2> という関数を、単に5> gen5> ではなく、8> construct</
- 実装中のタスクと入力/出力の両方について説明する、よく書かれた コメント を常に含めること。
- コメントに期待される結果を含むサンプルコールを含めることを検討してください。
- 問題を解決する方法を提案する、たとえば -- Use raycast 。
- 定義した機能または変数名を使用して、たとえば -- Create 10 greenSphere objects ではなく -- Create 10 spheres を使用します。
- 初心者スクリプターである場合は、「プレイヤーがパーツに触れるときにジャンプを作成」などの基本的なプロジェクトから始めるか、ツールを使用して小さなコードスナイプを生成し、知識が増えるにつれて拡大できます。
制限
ツールは基本的なコーディングタスクを自動化するのに役立ちますが、完璧なコードを常に提示するわけではありません。知られた制限には以下があります:
- マニュアルトリガーは常に 強制生成する 提案を生成しません。
- 提案はコードのコーパスからマシン学習され、その結果、トレーニングされているコードの制限を反映することがあります。たとえば、提案は新しい API を使用する代わりに、古い API を使用するか、Luau ではなく Lua を使用することがあります。
- ツールは、あなたの目的に役立たず、または役立たずいる可能性のある偽の情報を生成する可能性があります。
- 内部フィルターは、攻撃的な言語をブロックしようとしますが、全体的でなく、ツールが攻撃的なまたはバイアスのある情報を生成する可能性があります。
- 提案は、同じプロンプトを持つユーザー間で同じ、似ている、または異なる場合があります。しかし、コードは決して他のユーザーと共有されません。
- 提案は、学習モデルの出力の限られた長さにより不完全である場合があります。
- デイリーキャップがあり、キャップが達したとき、次の日まで提案がありません。
コードプライバシー
Roblox は現在、学習モデルを訓練するために非公開データを使用しません。ツールは、大きな言語モデルを調整するためにのみ、無料マーケットプレイスアセットの小さなサブセットを使用します。ツールは、品質と安全性のフィルターに対するさまざまなチェックを通過しました。
さらに、すべての提案は、 AI モデルによって生成され、1人のユーザーから別のユーザーに転送されません。コードがモデルトレーニングに使用されないため、コードの投稿による他のユーザーの コードアシスト は推奨されません。
マルチカーソル
スクリプトエディタは、複数のカーソルをサポートして、編集を同時に行うことができます。マウスクリックまたはキーボードのショートカットに基づいてカーソルを追加できます。最初のカーソルは 主カーソル と呼ばれ、追加のカーソルは セカンダリカーソル と呼ばれます。
- プライマリカーソルコピーに行う編集は、セカンダリカーソルに反映されます。各編集は 1 操作のアクションとしてカウントされるため、編集の取り消し/やり直しはすべてのカーソルに適用されます。
- オートコンプリートなどのウィジェットは、メインカーソルですが、セカンダリカーソルでは表示されません。
- コードのインデント、コメントの切り替え、行を削除するなど、スクリプト編集に使用されるすべての標準の キーボードショートカット。
次の表には、複数のカーソルワークフローとそのショートカットがまとめられています。
コマンド | Windows | Mac |
---|---|---|
マウスの場所にカーソルを追加/削除 | Alt 以上クリック | ⌥ + クリック |
最近追加されたカーソルを削除する | Ctrl U | ⌘U |
マウスドラッグでカーソルを追加/変更 | Alt 以上でドラッグ | ⌥ + ドラッグ |
カーソル上/下を追加 | Ctrl Alt上/ 2>Ctrl2> 5>Alt5> 8>下8> | ⌘ ⌥ ↑ / ⌥ 0> ⌥0> 2> ↓2> |
カーソルを次の一致に追加する | Ctrl D | ⌘D |
すべての一致する選択にカーソルを追加する | Shift Alt L | Shift ⌥ L |
コラム/ブロック選択 | Shift Alt + ドラッグ | Shift ⌥ + ドラッグ |
セレクションをコールバックに分割する | Shift Alt I | Shift ⌥ I |
カーソルを追加する
キーボードのショートカットとマウス操作の組み合わせを使用して、カーソルを追加できます。カーソルは、矢印キーを追加するなど、同じスペースを占有する場合、またはすべてのキャラクターをカーソルの間に削除するなど、カーソルをマージします。
マウスの場所
マウスポインターの場所にカーソルを追加するには:
Windows の場合は Alt を押し続けるか、Mac の場合は ⌥ を押し続ける。
カーソルを追加したい場所をクリックします。
マウスドラッグ
マウスをドラッグして選択にカーソルを追加したり、複数行の選択を分割したり、コード/ホワイトスペースのコラムとブロックを選択したりできます。
コードの選択にカーソルを追加するには:
Windows の場合は Alt を押し続けるか、Mac の場合は ⌥ を押し続ける。
コードの選択上にマウスをクリックしてドラッグします。
上下のプライマリカーソル
メインのカーソルの上にまたは下にカーソルを追加するには:
Windows の場合は Ctrl を押しながら Alt を押し、Mac の場合は ⌘ を押しながら ⌥ を押します。
上矢印、下矢印を押す。
選択に一致する
選択または次の/前のマッチにすべてのカーソルを追加でき、オプションでマッチがカーソル感知性であるかどうかを切り替えることができます。
選択した部分のすべてのマッチにカーソルを追加するには:
検索するマッチのコードを選択します。
Windows の場合は Shift Alt L を押すか、Mac の場合は Shift 1> ⌥1> 3> L3> を押します。
カーソルを削除する
次のキーボードショートカットとマウスマニューバーを使用して、カーソルを削除できます。また、Esc を押すと、マルチカーソル編集を終了できます。
マウスの場所
カーソルを削除するには:
Windows の場合は Alt を押し、Mac の場合は ⌥ を押します。
削除したいカーソルをクリックします。
最近追加された
最近追加されたカーソルを削除するには、Windows で CtrlU を押すか、Mac で ⌘0>U0> を押します。
カーソルのコピーと貼り付け
コードの選択内容には、その中のカーソルが含まれます。パストの動作は、ソースのカーソル数と目的地のカーソル数によって異なります:
- カーソルの数が同じ場合は、コピーされた各カーソルは、それぞれ対応するデスティネーションカーソルに貼り付けられます。
- カーソルの数が異なる場合は、目的地の各カーソルには、コピーされたカーソルごとに新しい行としてすべてのペーストを受信します。If the number of cursors are different, then each cursor at the destination receives the entire paste with each copied cursor as a new line.
オンタイプフォーマット
Enter/Returnを押すと、新しい行の相対的な新行に沿って各カーソルを自動でインデントします。如果前の行が完了していないブロックで始まっている場合、フォーマットは完了しようとします。
エディタ設定
多くのカスタマイズオプションは、ファイル > Studio 設定 (Windows の場合は Alt 2>S2> を参照) からアクセス可能です。
一般に変更されたオプションには以下があります:
オプション | 説明 |
---|---|
フォント | エディタでコードのフォント顔とサイズ。 |
タブの幅 | タブを表すスペースの数。 |
スペースを使用してインデントする | 有効にすると、スペースが タブワイド と等しくなりま押す。 |
テキストラッピング | 有効にすると、コードの長い行が次の行にラップされます。 |
スクリプトエディタの色プリセット | コードエレメント、選択色、などの色のプリセット。プリセットを選択すると、オプションの色の 選択カラー や コメントカラー などを含む特定の色を設定できます。 |
キーボードのショートカット
スクリプトエディタには、次のキーボードショートカットがあります。また、スクリプトを表示または編集するときに、スクリプト タブから多くのコマンドにアクセスできます。
コマンド | Windows | Mac |
---|---|---|
スクリプトを閉じる | Ctrl W | ⌘W |
最後に閉じたスクリプトを再読み込む | Ctrl Shift T | ⌘ShiftT |
クイックオープン | Ctrl P | ⌘P |
エクスプローラーにスクリプトを表示する | Ctrl Alt K | ⌘ ⌥ K |
ズームインする | Ctrl = | ⌘= |
ズームアウト | Ctrl - | ⌘- |
スクリプトのズームをリセット | Ctrl 0 | ⌘0 |