TurboWarp-Plus-EditorGitHub

機能ガイド 11/12 · 2026年11月14日更新

作品フォルダとGitで管理する

sb3-toolchainで展開した作品フォルダを直接開いて保存し、Gitの変更・差分・履歴をエディターの中で確かめます。公開PRは接続なしで比較できます。GitHub接続付きのエディター(接続先を設定したWeb版や対応するDesktop版)では、同期や非公開PRの確認もできます。

図版は2026年11月14日時点の公開版(GitHub Pages)のエディターの画面全体です。作品とリポジトリは説明用の架空のものです。画像を選ぶと原寸で開けます。

11.1 sb3-toolchainで作品と拡張を管理する

sb3-toolchainは手元で使うNode.jsのツールです。importでSB3を作品データ・素材・埋め込み拡張に展開し、Gitで変更を確認できます。checkで展開したデータを検証し、buildで配布用のSB3を生成します。展開した作品フォルダは、エディターで直接開いて編集することもできます(「作品フォルダを開いて保存する」)。

展開ソースで管理し、配布するSB3を生成する流れ。

SB3の展開・再生成 · 拡張のバンドル · 公式カタログ

11.2 作品フォルダを開いて保存する

sb3-toolchain v1で展開した作品フォルダを、SB3にまとめ直さずに開いて保存できます。ブラウザーでフォルダを選んで書き込むには、File System Accessに対応したChromeやEdgeが必要です。

作品フォルダを作る

新規作品やSB3を開いているときは、画面左上の「プロジェクトフォルダ」ボタンでパネルを開き、「プロジェクトフォルダを作成」を押して保存先のフォルダを選びます。空でないフォルダを選ぶと、中身を上書きしてよいかを確かめる画面が出ます。作成が終わると、そのフォルダのファイルがパネルに表示され、以後の保存はそのフォルダに書き込みます。

作品フォルダを開く

「ファイル」→「プロジェクトフォルダを開く…」を選び、作品フォルダを選んで読み書きを許可します。作品データとローカルの画像・音声が読み込まれます。

エディターのファイルメニューに「プロジェクトフォルダを開く…」が表示される。
左上の「ファイル」から作品フォルダを開きます。右上の「Git ▾」からもリポジトリを選べます。

作品フォルダに保存する

  1. ブロック、変数・リスト、スプライトやコスチューム、スプライトの位置や大きさなどを編集します。作品を実行して変わった位置や変数の値も保存の対象です。
  2. 「ファイル」→「プロジェクトを保存」を選ぶと、フォルダ内のproject.source.jsonが更新されます。保存前に、フォルダが外部で変更されていないかを確かめます。

スプライトの追加・削除・名前の変更と、コスチューム・音の追加・削除も保存します。このとき、フォルダ内のassets/とsb3-source.jsonも更新し、使われなくなった画像・音声のファイルを消します。システムフォントとWebフォントの参照は作品データに、ファイルのフォントはassets/に保存します。

埋め込み拡張や、URLで読み込むカスタム拡張を含む作品も開いて保存できます。拡張のコードはextensions/とembedded-extensions.jsonに書き戻します。拡張を差し替えて出どころの記録(source)が外れたときは、保存時に知らせます。

フォルダが外で変わったとき

作品フォルダを開いている間、エディターはフォルダが外で変わっていないかを確かめ続けます。コーディングエージェントやテキストエディターがファイルを書き換えたり、Gitでブランチを切り替えたりpullしたりしてファイルが変わると、画面の右下に「外部変更あり」が出ます。

外部の変更を読み込むときの動き
エディターの状態動き
未保存の編集がなく、作品が止まっている書き込みが落ち着いてから、スクリプトの変更を自動で反映します。ブロックの値や位置の変更も、ブロックの追加・削除・つなぎ替えも、変わったスクリプトだけを置き換えます。
作品の実行中反映を待ち、作品を止めると反映します。
未保存の編集がある編集はそのまま残ります。「比較して選ぶ…」で未保存の編集とフォルダでの変更を並べて見比べ、「編集を残す」か「編集を破棄してフォルダから読み込む」を選びます。
スプライト・変数・素材・拡張などが変わったその場では置き換えられないため、自動では読み込みません。「作品全体を再読み込み」を押すと、開くときと同じ確認をしてフォルダを読み直します。
書き込みの途中「外部の書き込みが終わるのを待っています。」と出し、少し置いて確かめ直します。

未保存の編集があるときにフォルダが変わると、どちらかを捨てることになります。ほかの道具でブランチを切り替えたりpullしたりする前に、エディターで保存して作品を止めておきます。外で変わったフォルダに保存しようとすると、上書きは止まり、編集はエディターに残ります。

作品フォルダのファイルとGit状態を見る

画面左上の「プロジェクトフォルダ」ボタンで「作品フォルダ」パネルを開きます。ファイル名の下には、作品データ、コスチュームと音、拡張など、ファイルの用途が表示されます。

保存済みの内容に変更があり、その上で編集を続けている間は、太字のファイル名に*が付きます。コミットすると、その内容と一致するファイルは通常の太さに戻ります。

ポインターをファイル名に合わせると、状態が文字で表示されます。変更箇所を見るには、ファイルを開いて「差分」に切り替えるか、ローカルGitで対象のファイルを選びます。画像・音声・動画はプレビューで開きます。

パネル右上のボタンで、ファイルの検索、ドロワーの固定、別ウィンドウへの切り離しができます。斜線付きのピンは固定を解除した状態です。ファイルやフォルダを右クリックして操作したり、ドラッグして別のフォルダへ移したりもできます。作品が参照する素材や作品フォルダの管理ファイルは、作品の編集画面と保存操作で更新します。

画面左の作品フォルダで、project.source.jsonが太字で、その後ろにアクセント色のアスタリスクが付いている。コミット済みのファイル名は青い。右側にネコのコードが表示されている。
左上の「プロジェクトフォルダ」ボタンで開いた「作品フォルダ」パネル。project.source.jsonに付いた*は未保存の編集、太字はディスクに保存した内容が最新コミットと異なることを示します。青い名前のファイルはコミットと一致しています。
左の作品フォルダに、未保存のアスタリスク、太字、きらめきの記号、打ち消し線、青い名前が同じファイル一覧に表示されている。右のタブでREADME.mdを編集している。
README.mdは編集中で未保存、作品データは保存済みの変更あり、作業メモは未追跡です。削除した古いメモには、元の場所で打ち消し線が付きます。
作品フォルダを左側に表示したまま、中央のタブで作品データのJSONを開いている。タブの右上に「編集」「差分」「ファイルを保存」がある。
ファイルを選ぶと、コードと同じ領域にタブが開きます。右上の「編集」「差分」で表示を切り替え、テキストを編集したら「ファイルを保存」で書き込みます。

SB3を作品フォルダに展開するコマンドProject Starterも使えます(Project StarterでScratch作品を移す)。

作品フォルダの編集 · フォルダの差分再読み込み

11.3 ローカルGitで変更と履歴を確かめる

「ファイル」→「リポジトリを選択…」で、.gitを持つリポジトリのルートを選びます。メニューバー右側の「ステージを開く」の左にあるボタンからも操作できます。リポジトリを選ぶ前は「Git ▾」と表示され、「リポジトリを選択…」と「ローカル Git を開く」を選べます。リポジトリを選ぶと、ボタンには現在のブランチ名が表示され、ブランチの切り替え、「新しいブランチ…」、「ローカル Git を開く」を選べます。

「ファイル」→「リリース…」の使い方はリリースして配るで説明しています。

1リポジトリに1作品を基本にします。リポジトリの直下、またはProject Starterが作るproject/に作品があり、まだ開いていなければ、ローカルGitの上部に「作品を開く」が表示されます。ほかの場所にある作品は「ファイル」→「プロジェクトフォルダを開く…」で開くと、選択中のリポジトリに関連付けられます。作品を開くと、ステージやスプライトごとに変更を確認できます。リポジトリの構成

ローカルGitの先頭行には「リポジトリ: 名前」が表示されます。その横の「ローカル状態を更新」はGitの状態を読み直します。エディターの外でGitを操作したら、これを押します。GitHub接続付きのエディターでは、ここに「GitHub に接続…」も表示されます。エディターでブランチを切り替えたりpullしたりすると、結果の表示に「作品を再読込」が出ます。これを押すと、その版の作品を開き直します。左に「作品フォルダ」パネルを表示している間は、フォルダのアイコンが付いた「ローカル Git」タブがタブ列の左端に固定されます。

その下の「ファイルの保存」「保存のコミット」「PRを作成」「マージ」で表示を切り替えます。「ファイルの保存」と「保存のコミット」には対象のファイル数が表示されます。

「PRを作成」では、「コミットの履歴」と「ローカルブランチ」を確認し、コミットを選んで変更を見られます。ブランチの切り替えと作成もここで行います。「GitHub に送ることを許可する(push)」を付けてGitHubに接続していれば、反映先を選んでPRを作れます。「マージ」では「PR一覧」から対象を選び、差分やマージの状態を確かめます。

画面左上の「Git 履歴」ボタンでは、選択中のリポジトリのコミットを一覧できます。コミットを選ぶと「ローカル Git」の「PRを作成」が開き、そのコミットの変更が一覧に出ます。ステージ・スプライトやファイルを選ぶと差分を確認できます。

コミットの「⋯」からは、「この版を開く」「ここからブランチを作る…」「コミットの ID をコピー」を選べます。作品フォルダを開いていれば、「この版を開く」で選んだ版を別のプレイヤーで実行できます。編集中の作品はそのまま残り、プレイヤーを閉じると戻れます。

起動URLにtwPlusGitRestoreVersion=1を指定すると、「⋯」に「この版に戻す…」が加わります。対象の作品ファイルと追加・変更・削除を確かめて「復元してコミット」を押すと、現在のブランチにローカルコミットができます。「作品を再読込」で復元した版を開けます。この機能は既定では無効です。

左の作品フォルダではREADME.mdの後ろにアスタリスクがある。ローカルGitの「ファイルの保存」でREADME.mdを選び、右にHEADと未保存の編集の差分が表示されている。
未保存のREADME.mdを選んで、HEADとの差分を確認しているところです。「未保存のファイルを保存」を押すと*が消え、README.mdが「保存のコミット」の一覧に移ります。
ローカルGitの「保存のコミット」。左上にネコのコードとそのほかの設定、その下にその他のファイル、左下に固定のコミット欄、右にREADME.mdの差分が表示されている。
「保存のコミット」でREADME.mdを選び、右に差分を開いた例。
左のドロワーにGit履歴。ローカルGitの「PRを作成」に、コミットの履歴とローカルブランチ、右に選んだコミットのブロック差分がある。
左の「Git 履歴」で「ネコが進む歩数を変更 (#12)」を選ぶと「PRを作成」が開きます。ネコのコードを選び、そのコミットの変更を表示した例。

git worktreeで追加した作業ツリー、サブモジュール、シンボリックリンクは扱えません。作業ツリーの実行権限の変更はブラウザーからは確認できません。ローカルGitを使わない場合は起動URLにtwPlusLocalGit=0を指定します。このときメニューバーの「Git ▾」ボタンと「Git 履歴」ボタンも表示されません。

ローカルGitパネル

11.4 作品の変更をブロックで比べる

「保存のコミット」で対象のステージやスプライトの「コード」を選ぶと、作品データ(project.source.json)の差分をスクリプト単位で表示します。「テキスト」に切り替えると、JSONの行単位の差分を確認できます。

黄色い縦横の帯とスクロールバーの目印で、変更箇所の位置が分かります。ポインターを帯の横位置や高さに合わせると、対応する帯が濃くなります。

「保存のコミット」の右側に、変更前と変更後のブロックが並び、変更した入力欄が枠で示されている。
ネコの進む歩数を10から25に変更した例。比較枠にポインターを重ねると右下にミニマップとズームボタンが出ます。比較枠の下にある「変更前と変更後を連動して動かす」にチェックを入れると、変更前と変更後のスクロールとズームが連動します。

エディターに定義がない拡張ブロックは、名前とつながりが分かる代替ブロックで示します。拡張のコードを取得したり実行したりはしません。

PRのスクリプト単位のレビュー

11.5 GitHubと同期する(fetch・pull・push)

メニューバー左端のPlusロゴから「GitHub 接続設定…」を開き、接続に使う既定の方式を選びます。設定はブラウザーに保存され、作品やリポジトリを開く前にも変更できます。変更は次の接続から使われ、接続中のセッションはそのまま続きます。

リポジトリごとの認証は、ローカルGitの先頭行にある「GitHub に接続…」で行います。接続先(選んだリポジトリのGitHub HTTPSリモートorigin)を確認して認証し、必要に応じてpushやPRレビューの送信を許可します。接続の確認と切断もここで行います。接続すると「PRを作成」と「マージ」に「GitHub と同期」の欄が表示され、pullとpushの対象となる現在のローカルブランチと、確認できた同期状況が並びます。

操作に必要なGitHub接続
操作公開版(GitHub Pages)GitHub接続付きのエディター
ローカルの差分・コミット接続なしで操作接続なしで操作
fetch・pull・pushGitHub DesktopまたはGitを使う選んだリポジトリに接続。pushは接続時に許可する
PRの比較・実行公開PRの差分を表示。非公開PRはGitHubで開く。動作確認にはGitHub Actionsの「Check project」が作るSB3を使える(12.8)接続したリポジトリの公開・非公開PRの差分を表示し、比較した版を手元で実行できる
PRの作成・マージGitHubで操作「GitHub に送ることを許可する(push)」を付けた接続を使う(接続先がPRの作成・マージに対応している場合)
レビューの送信GitHubのPR画面から送信レビュー送信を許可し、対応するGitHub APIを有効にした接続を使う

公開版(GitHub Pages)では、「GitHub 接続設定…」を開くと「GitHub 接続先が設定されていません。」と表示され、ローカルGitに「GitHub に接続…」は出ません。接続できない環境でも、外部のGitとGitHubの画面で同期とレビューを続けられます。接続がない場合の手順

ローカルGitの「マージ」。左のペインに公開プルリクエストの一覧がある。
GitHub接続のない公開版で「マージ」を開いた直後。公開PRは左の「PR一覧」から選べます。
更新操作の使い分け
操作場所更新するもの
ローカル状態を更新リポジトリ名の横手元のファイル、コミット、ブランチの状態を読み直します。
リモートの情報を更新(fetch)「GitHub と同期」の欄GitHub上のブランチ情報とコミットを取得します。手元のブランチやファイルの内容はそのままです。
手元のブランチとファイルを更新(pull)「GitHub と同期」の欄GitHubの変更を手元のブランチとファイルに反映します。必要なら「作品を再読込」で作品を開き直します。
GitHubからPR情報を読み直す選択したPRのタイトルの横PR一覧と選択中のPRの差分を取得し直します。接続先が対応していればCIとマージ可否も更新します。

接続方式を選ぶ

GitHubの接続方式
方式設定と認証
ブラウザー版(Cloudflare)接続先を設定してビルドしたWeb版で、運用者のGitHub Appを認可します。トークンは運用者のサーバーで暗号化して保管され、ログインは最長8時間です
DesktopのGitHub AppAppのclient IDを設定したDesktopで、エディターに表示されたデバイスコードをGitHubに入力します
Desktopのfine-grained PATfine-grained PAT(個人用アクセストークン)を使います。対応する同梱版で選べます。GitHubで対象リポジトリを選び、Contentsの読み取り(pushには読み書き)を許可したトークンをDesktopの入力画面に入れます。保存を選べる環境ではOSの保護機能で暗号化します
DesktopのGit credential helper対応する同梱版で、対象リポジトリに適用されるhelperの認証情報を使います。GitHubアカウント名を入力し、Desktopの確認画面で同意します

PATとcredential helperはclient IDなしで使うための方式です。Desktop本体と同梱のエディターの両方が対応している場合に選べます。同梱版は配布物のビルド情報で確認できます。Desktopの固定リビジョン · エディター側の対応

GitHub Appをインストールして認可する

  1. 運用者から案内されたGitHub Appのページで「Install」を押します。インストール先のアカウントを選び、組織で必要な場合は管理者に承認を依頼します。
  2. 「Only select repositories」でエディターから使うリポジトリを選びます。同期にはContentsの権限、レビュー送信にはPull requestsの書き込み権限も確認します。
  3. ローカルGitの「GitHub に接続…」で、対象リポジトリと必要な許可を確認します。GitHubの認可画面ではApp名と権限を確かめます。Desktopの場合は、自分のエディターに表示されたデバイスコードだけを入力します。
  4. 利用を終えたらエディターで接続を切ります。GitHubの「Settings」→「Applications」で、インストールは「Installed GitHub Apps」、認可は「Authorized GitHub Apps」から取り消せます。

Appに権限が追加されたときは、「Installed GitHub Apps」でインストール先の承認を済ませます。GitHub AppのトークンはCloudflareのサーバーまたはDesktopのメインプロセスが保持します。エディターのGitパネルは、対象リポジトリと操作を限定した短時間のプロキシ用の鍵で通信します。接続先運用者向けのGitHub App設定

接続したリポジトリを同期する

GitHubに送る手順 · 接続の統合検証

11.6 プルリクエストをスクリプト単位でレビューする

GitHubのプルリクエスト(PR)を、変更全体の概要から個々のスクリプトまで確認できます。図版は、GitHub接続のない公開版の「マージ」で公開PRを開いた例です。turbowarp-kamishibai-appのPR #219

  1. PRを選ぶ。対象リポジトリを選んで「マージ」を開き、左の「PR一覧」から対象を選びます。一覧が長いときは「前のページ」「次のページ」で移動します。各行の状態ラベルで、マージ可能、競合あり、ドラフト、マージ済み、クローズ済みなどを確認できます。GitHub接続でCIの状態を取得できる場合は、その結果も表示されます。
  2. 変更概要を確認する。右側の「概要」でPRの説明とマージ状況を確認します。「コミット」には対象のコミットが並び、「チェック」ではCIの状態と、取得できる場合はチェックごとの結果を確認できます。
    「マージ」で公開PRの一覧が左、選んだPR #219の概要が右に表示される。
    PRを選ぶと、右側に「概要」が開きます。上部のタブで「コミット」「チェック」「変更ファイル」に切り替えられます。
  3. コミットとチェックを見る。「コミット」にはメッセージ、作者、コミットIDが表示されます。「チェック」ではPRの先端コミットで実行されたチェックの結果を確認できます。
    PR #219の「コミット」タブに、5件のコミットのメッセージ、作者、日時、コミットIDが並んでいる。
    「コミット」では、このPRのコミットを確認できます。下のリンクからGitHubでも確認できます。
    PR #219の「チェック」タブに、testのチェックが成功と表示されている。
    「チェック」でPR #219のチェック結果を確認したところ。詳細は「GitHub でチェックを確認」から開けます。
  4. スクリプトをブロックで比較する。件数が付いた「変更ファイル」タブを開きます。上部の「変更レビュー」で、影響するステージ・スプライトの数、コードの変更の数、確認済みの数が分かります。project.source.json(この例ではapp/project.source.json)のカードで対象のステージやスプライトの見出しを探し、その下に並ぶスクリプトから、例の「緑の旗が押されたとき」を展開します。左の「変更前」と右の「変更後」を見比べ、枠で示されたブロックがスクリプトのどこにあるかを確かめます。長いスクリプトや横に広いブロックは、比較枠をスクロールして確認できます。比較枠にポインターを重ねると、右下にミニマップと拡大・縮小ボタンが表示されます。
    ローカルGitの「マージ」。PRの一覧が左、右にapp/project.source.jsonのステージのスクリプトの変更前と変更後が並び、変更後の枠の右下にミニマップとズームボタンがある。
    PRのスクリプトを開くと、変更前と変更後が並びます。枠の右下からズームや表示位置の変更ができ、読み終えたら「確認済み」を付けられます。
別ウィンドウに開いたapp/project.source.jsonのブロック差分。変更前と変更後が横に並び、右下に確認済みがある。
変更ファイルのカード右上にある「別ウィンドウで開く」で、そのファイルの比較を広い画面に表示できます。

比較を読み終えたら、スクリプトの比較枠の右下にある緑色の「確認済み」で進み具合を記録できます。この印はブラウザーに保存され、パネルを閉じてもエディターを再読み込みしても残ります。PRが更新されると、内容が変わったスクリプトの印だけが外れます。印は作品ファイルにもGitにも書き込まれません。手元の差分に戻るには「保存のコミット」を選びます。

比較の仕組み。比較にはPRのマージベースとheadを使います。未接続時は公開APIで公開PRを比較できます。接続中は許可された非公開リポジトリのPRも一覧から選べます。PRのheadとベースのブランチをGit Smart HTTPで取得して比較します。PRの反映先を取得できない場合は、GitHub側の既定ブランチを使います。候補が複数あるときは、比較先のブランチを選べます。ブロックでの表示のしかたは作品の変更をブロックで比べるで説明しています。

関連する操作。右ペインのPR番号とタイトルからGitHubのPRを開けます。PR見出しの右上にある「差分をエディタのタブで開く」アイコンを押すと、作品の差分がエディターの別タブで開きます。変更ファイルのカード右上にある「別ウィンドウで開く」を押すと、そのファイルのブロック差分を別ウィンドウで確認できます。エディターのタブや別ウィンドウで付けた「確認済み」は、ローカルGitの「変更ファイル」の表示にも反映されます。メニューバーのブランチのボタンは、手元で編集するブランチを切り替える操作です。

PRの版を実行するには、作品フォルダを開いておき、GitHubに接続した状態で開いたPRの「PRの作品を開いて動作確認」を選びます。比較したコミットにローカルブランチ(例:pr/219)を作って切り替え、その版の作品を開き直します。作品の実行中、未保存の編集や作業ツリーの変更があるとき、同名のブランチが別のコミットを指しているときは、切り替えずに止まります。確認を終えたら、メニューバーのブランチ名から元のブランチに切り替え、「作品を再読込」を選びます。確認用のブランチは手元に残ります。

レビューを送信する

「確認済み」は自分の確認状況を示す印です。GitHubにレビューを送信するには、接続時に「レビューの送信を許可する」を選んでから、PRを開きます。接続先でレビュー用GitHub APIが有効で、リポジトリでレビューを送れる権限が必要です。

「レビューを送る」で全体とコードへのコメントを確認し、結果に「コメント」「承認」「修正を依頼」のいずれかを選び、「レビューを送信」を押します。コードへのコメントをスレッドにできるか、本文に入るかは送信前の表示で確認できます。送信欄を使えない場合はGitHubのPRを開き、「Files changed」からレビューします。検査・レビュー・マージの手順

接続先の運用者はCloudflareのGIT_GITHUB_API、DesktopのTW_PLUS_DESKTOP_GIT_GITHUB_APIでAPIのグループを有効にします。review-threadsは差分の位置に付けるコメントを扱い、reviews-bodyは本文だけのレビュー送信に使えます。DesktopのAPIは既定で無効です。APIの設定 · レビュー送信の検証状況

エディターへの接続 · PRレビューの操作手順 · PRをScratchスクリプトでレビュー