これは AUTOMATIC1111 氏の stable-diffusion-webui と ComfyUI 用の拡張です。
プロンプトの編集をVSCodeでも使用されているエディタ実装 Monaco Editor で行えるようにします。
stable-diffusion-webui の Install from URL からこのリポジトリのURL https://github.com/Taremin/webui-monaco-prompt を入力してインストールしてください。
下記の二通りからお好きな方法でインストールしてください。
custom_nodes にこのリポジトリを clone するComfyUI Manager Menu の Install via Git URL にこのリポジトリのURLを入力してインストールする~~Releases からzipファイルをダウンロードして web/extensions に展開してください。~~
v0.1.2からはこの方法ではインストールできなくなりました。
danbooru.csv, extra-quality-tags.csv を読み込んでいるので既に a1111-sd-webui-tagcompete を使用している方は違和感なく使えます< を入力すると Extra Networks (HN/LoRA/LyCORIS) のみの候補を出せますa1111-sd-webui-lycoris)拡張導入時に使用可能です
Ctrl-M から始まるショートカットキーでモデル名の挿入が行えます| モデル | ショートカットキー |
|--------------|----------------------|
| Checkpoint | Ctrl-M -> Ctrl-M |
| LoRA | Ctrl-M -> Ctrl-L |
| Embedding | Ctrl-M -> Ctrl-E |
| Hypernetwork | Ctrl-M -> Ctrl-H |
| VAE | Ctrl-M -> Ctrl-A |
Ctrl-M -> Ctrl-S で挿入可能また、他にも Monaco に備わっている VSCode 互換のショートカットキーなども使用可能です。
スニペット(断片)はよく使う入力をテンプレートで行えるようにする機能です。
スニペットはこの拡張の snippets ディレクトリか、各カスタムノード/拡張機能以下の snippets ディレクトリに含まれる .json を読み込みます。
JSONのフォーマットは {"label": string, "insertText": string, documentation: string} か、その配列です。
insertText では下記のスニペット構文が使用可能です。
documentation では Markdown 及び一部の HTML タグが使用可能です。
スニペット構文は VSCode 互換のものが使用できます。
https://code.visualstudio.com/docs/editor/userdefinedsnippets#_snippet-syntax
この拡張では標準のプロンプト編集で使用するtextareaを差し替えたり Extra Networks のリフレッシュへの対応などで、特定のHTML要素に依存したあまり汎用的でない手段を用いています。
そのため、HTML構造が変化したり既存機能の変更が行われた場合、利用できなくなることがあるかもしれません。
その場合は一時的に利用を中止することをおすすめします。
ヘッダが邪魔な場合はエディタのコンテキストメニューから非表示にできます。(ヘッダで行える設定もコンテキストメニューから行えます。)
設定はこの拡張のあるディレクトリの settings 内に保存されます。
認証未設定時は global.json 認証設定時は user_[username].json というファイル名です。
Language が plaintext 以外の場合にCSVによる自動補完が有効になります。
この拡張の csv ディレクトリにファイルを追加します。
A1111の場合は再読み込み、ComfyUIの場合は Refresh で使用できるようになります。
この拡張には [a1111-sd-webui-tagcomplete
](https://github.com/DominikDoom/a1111-sd-webui-tagcomplete) のタグデータ(danbooru.csv, extra-quality-tags.csv)を同梱しています。