メインコンテンツまでスキップ

クイック検索

クイック検索はエディタのコマンドパレットです。
現在のタブで利用できるコマンドを一覧表示します。検索を #、@、: で始めると、代わりにダイアグラムを検索し、テーブル、カラム、またはコメントやメモへ移動できます。

Ctrl + K (Windows/Linux) または ⌘ + K (Mac) で開くか、ツールバーの Search をクリックして開きます。
同じショートカットで閉じ、Esc やパネルの外側のクリックでも閉じます。開くと、テーブルのプロパティ、テーマビルダー、Display Language のピッカー、Export image ダイアログ、Map Columns が閉じ、Map Columns で選んでいた内容は破棄されます。テーブルのセル、メモ、テーブルグループの名前を編集している間は開きません。

ツールバーで Search のすぐ隣にあるボタンは、パレットではなく検索と置換のパネルを開きます。
パレットを開いてもそのパネルは開いたままで、このとき Esc はパレットだけを閉じます。パレットで Ctrl + F (Windows/Linux) または ⌘ + F (Mac) を押すと、パレットが閉じてパネルが開きます。開き方と閉じ方を参照してください。
エディタを組み込むホストはクイック検索を別のキーに割り当てることができ、その場合は Search のツールチップにそのキーが表示されます。ショートカットを参照してください。

⌘ + K でパレットを開き、#pay でテーブルへ、@price でカラムへ、 でテーブルのコメントへ移動する

検索と移動​

入力すると一覧が絞り込まれます。キーを押すたびに表示中の一覧全体をあらためて検索するため、文字を削除したり、何も見つからなかった語の上から新しい語を入力したりすると、一致する項目が再び表示されます。
マッチングはあいまい検索で、項目名と横に表示されるキーワードの両方を対象にします。たとえば Import サブメニューでは、sdl で GraphQL、dbdiagram で DBML、azimutt で AML が見つかります。多少の入力ミスがあっても項目は見つかり、tabel で New Table、imprt で Import が見つかりますが、入力した内容にわずかに似ているだけの項目は除外されます。memo で表示されるのは New Memo だけです。名前またはキーワードに入力した文字列を大文字と小文字を区別せずに含む項目は必ず表示され、あいまい検索で一致しなかった項目は、あいまい検索で一致した項目の後に並びます。入力した文字列は、大文字と小文字を区別せずに、項目に含まれている箇所がすべてハイライトされます。
英語以外の表示言語では、コマンドとサブメニューの項目は、一覧には表示されない英語の名前とキーワードでも見つかります。そのため、どの言語で表示されていても、new table で New Table が見つかります。
一覧の移動は ↑ と ↓ で行い、両端で折り返します。選択中の項目は Enter で実行します。独自のショートカットを持つコマンドは、そのショートカットを行の末尾に表示します。通常は右側で、右から左に書く表示言語では左側です。韓国語の音節の入力途中など IME の変換中は、↑、↓、Enter は IME が受け取るため、選択も移動せず、項目も実行されません。

Database、Import、Auto Layout などの項目はサブメニューを開きます。サブメニューの項目が一覧を置き換え、検索ボックスはクリアされます。Database、Bracket、Language、2 つの名前のケース、Schema SQL: Statements、Schema SQL: Header、Theme、Display Language のサブメニューは、現在の選択にチェックを付け、その項目を選択した状態で開くため、Enter を押すと現在の選択のままになります。それ以外のサブメニューは、何も選択していない状態で開きます。
絞り込みは常に表示中の一覧だけに適用され、上の階層へ戻る方法はありません。最初からやり直すにはパレットを閉じて開き直します。サブメニューの中では、#、@、:、? はプレフィックスではなく、ただの文字として扱われます。

パレットに表示される内容​

一覧の内容は現在のタブによって変わります。どのタブでも先頭は Tab で、Entity Relationship Diagram、Visualization、Schema SQL、Code Generator、Settings に切り替えます。現在のタブは一覧から除外されます。

ERD タブでは、Database、Import、Import and Add、Export、続いて New Table、New Memo、New Table Group、Group Selected Tables、4 種類のリレーションシップ、Auto Layout を表示します。テーブルはここには表示されません。テーブルへ移動するには # を入力します。
Import and Add は読み取り専用のエディタでは表示されず、New Memo は View Option → Memos でメモを非表示にしている間は表示されません。New Table Group はキャンバス上でテーブルグループの描画を始め、Group Selected Tables は選択しているテーブルを新しいグループに入れて、その名前を入力できる状態にします。どちらも読み取り専用のエディタと、View Option → Table Groups でグループを非表示にしている間は表示されず、Group Selected Tables はさらにテーブルを 1 つ以上選択している必要があります。
これらはキャンバスのコンテキストメニューと同じコマンドを実行します。ただし Group Selected Tables はテーブルのコンテキストメニューの Group selected tables に当たり、View Option と Diff Viewer はコンテキストメニューにしかありません。Export はコンテキストメニューと同じ json、Schema SQL、Image を提供し、その中で png や svg と入力すると Image が見つかります。
各形式、Import and Add、画像の書き出しの内容はファイルの読み込みと書き出しを、データベースの選択が何に影響するかはテーブル関連機能を参照してください。

Schema SQL タブでは、再び Database と Bracket を表示します。Bracket は、生成する SQL でテーブル名、カラム名、制約名、インデックス名を囲む引用符を設定します。SingleQuote、DoubleQuote、Backtick、または引用符を付けない None から選びます。続いて Schema SQL: Statements と Schema SQL: Header を表示します。これらはタブのオプションパネルと同じ選択を行いますが、選択しているデータベースが書き出すものだけを表示します。さらに Schema SQL: Options panel を表示し、そのパネルの表示と非表示を切り替えます。各選択が何を書き出すかは Schema SQL を参照してください。

Code Generator タブでは、Database、言語が Doctrine、JPA、SeaORM のときは Bracket、続いて Language、Table Name Case、Column Name Case、Code Generator: Options panel を表示します。Code Generator: Options panel は、タブのオプションパネルの表示と非表示を切り替えます。各対象が生成する内容はコード生成を参照してください。

Visualization タブと設定タブには独自のコマンドはなく、Tab と、以下で説明するどのタブにも表示されるコマンドだけを表示します。

どのタブにも Export: Schema SQL があり、Export ▸ Schema SQL と同じように、オプションパネルを開いて Save file にフォーカスした状態で Schema SQL タブに切り替えます。SQL の保存とコピーを参照してください。これだけでは何も保存されません。

どのタブでも一覧の終わり近くに Find and Replace があり、そのショートカット Ctrl + F (Windows/Linux) または ⌘ + F (Mac) を表示します。find、replace、rename と入力すると見つかります。
実行するとパレットが閉じて ERD タブに切り替わり、検索と置換が開きます。パネルがすでに開いている場合は、その検索フィールドにキャレットを戻します。Diff Viewer、Time Travel、自動レイアウトのプレビューが開いている間は表示されません。

テーマと表示言語​

どのタブでも、Find and Replace の後に Theme と Display Language があり、読み取り専用のエディタでも表示されます。それぞれ、エディタがそのピッカーを提供している場合にだけ表示され、これはツールバーの Theme と Display Language のボタンの有無と同じです。Web アプリ、Google Drive、VS Code、JetBrains IDE、Obsidian はどちらも提供しています。各ホストでの設定を参照してください。

Theme は System、Light、Dark を開き、現在の外観にチェックが付いています。選ぶと外観だけが変わり、グレーカラーとアクセントカラーはそのまま残ります。テーマビルダーの Appearance ボタンと同じです。
Display Language は System と、続いて 25 の言語を開きます。各言語はその言語自身の名前で、ピッカーと同じ順序で並び、現在の選択にチェックが付いています。ここでは英語名やコードでも言語が見つかり、german や de-DE で Deutsch が、korean で 한국어 が見つかります。
どちらでも、選んだ内容はすぐに反映されてパレットが閉じ、テーマビルダーや Display Language のピッカーで選んだ場合と同じように保持されます。パレットを開いている間に表示言語が変わると、一覧はその言語に切り替わり、入力した内容と現在のサブメニューはそのまま残ります。

ダイアグラムの検索​

検索をプレフィックスで始めると、コマンドではなくダイアグラムを検索します。# はテーブル、@ はカラム、: はコメントとメモを検索し、? はプレフィックスを一覧表示します。プレフィックスはどのタブからでも使えます。プレフィックスとして扱われるのは先頭の文字だけで、その前の空白は無視されます。後ろの空白はあってもなくてもよく、#users と # users は同じ検索になります。日本語や中国語の IME が入力する全角の #、@、:、? もプレフィックスとして扱われます。
最上位の階層で入力欄が空の間は、その下の行に 4 つのプレフィックスが表示され、クリックするとそのプレフィックスが入力されます。プレフィックスが有効な間は、入力欄の末尾にその検索範囲として Tables、Columns、Comments & memos、Help のいずれかが表示されます。プレフィックスを削除すると、コマンドの一覧に戻ります。

# はテーブルを一覧表示し、それぞれの横に Table と表示します。名前が空のテーブルは unnamed として表示されます。# の後に何も入力していない場合は、名前順に並びます。# の後の文字列はテーブル名だけを対象に上記と同じあいまい検索で照合され、名前にその文字列を含むテーブルが先に並びます。テーブルグループの名前は、どのプレフィックスでも検索されません。

@ はカラムを名前で一覧表示し、それぞれの横に users.email · Column のようにその場所を表示します。@ の後の文字列は、大文字と小文字を区別せずにカラム名に含まれている必要があり、この照合はあいまい検索ではありません。最初の . より前の文字列は、名前にその文字列を含むテーブルに検索を絞り込みます。@users.em は名前に users を含むテーブルから em を含むカラムを、@users. はそれらのテーブルのカラムを一覧表示し、@.em はすべてのテーブルを検索します。@ の後に何も入力していない場合は、カラムを絞り込まずに一覧表示します。

: はテーブルのコメント、カラムのコメント、メモを一覧表示し、名前は対象にしません。各行には一致した箇所の前後のテキストの抜粋が表示され、その横に users · Table comment、users.email · Column comment、Memo のいずれかが表示されます。: の後の文字列は、@ と同じく、大文字と小文字を区別せずにコメントまたはメモに含まれている必要があります。: の後に何も入力していない場合は、空でないコメントとメモを一覧表示します。View Option → Memos でメモを非表示にしている間は、: はメモを一覧表示しません。

@ と : は、ドキュメント内の順序で行を並べます。テーブルごとに並び、各テーブルではテーブルのコメントがカラムより先に、カラムはカラム順に並び、メモは最後になります。

? は Tables、Columns、Comments & memos を一覧表示し、? の後の文字列で絞り込みます。いずれかを選ぶと、入力欄がそのプレフィックスに置き換わり、パレットは開いたままになります。

プレフィックスを付けた検索で何も見つからない場合、一覧は空になり、メッセージは表示されません。

テーブル、カラム、コメント、メモのいずれかを選ぶとパレットが閉じ、ほかのタブにいる場合は ERD タブに切り替わります。
テーブルの場合は、キャンバスの左上隅の近く、または開いている検索と置換パネルのすぐ右までスクロールし、そのテーブルだけを選択して最前面に移します。フォーカスがすでにそのテーブルの中にある場合を除き、テーブル名にフォーカスします。
カラム、コメント、メモは、検索と置換で一致箇所へ移動するときと同じように表示されます。テーブル、カラムの行、メモが画面に完全には収まっていない場合にだけ、キャンバスがスクロールします。その後、メモはそのメモだけが選択されて最前面に移り、テーブルはそのテーブルだけが選択されて最前面に移り、テキストを含むセルにフォーカスします。テーブルの表示オプションで非表示になっているコメントの場合は、その横の名前にフォーカスします。
どの移動でも、作成中のリレーションシップが始まったり確定したりすることはありません。

プレフィックスを付けた一覧には最大 100 行が表示されます。この上限によって、入力した文字列をそのまま含む一致が除外された場合は、その 100 行の後にもう 1 行、Show all N matches in Find and Replace または Show 1 match in Find and Replace が続きます。これを選ぶと、同じ文字列で検索と置換が開き、そのプレフィックスが対象とする種類のテキストだけがオンになります。@table.column はカラムの部分だけを渡すため、パネルも N もすべてのテーブルのカラムを対象にします。クイック検索からを参照してください。
プレフィックスの後、または @table. の . の後に何も入力していない場合、一覧は 100 行で止まり、この行は表示されません。
Match Case、Match Whole Word、Use Regular Expression を使う場合や、テキストを置換する場合は、検索と置換を直接使います。

コマンドが一致しないとき​

プレフィックスのない最上位の階層で、入力した文字列を大文字と小文字を区別せずに含むコマンドが一覧に 1 つもない場合は、コマンドの後に Search tables for "…"、Search columns for "…"、Search comments & memos for "…" の 3 行が続き、それぞれのアイコンにはそのプレフィックスが表示されます。いずれかを選ぶと入力した文字列の前にそのプレフィックスが入力され、たとえば users は #users になり、パレットは開いたままその結果を表示します。
検索でコマンドが 1 つも見つからない場合は、一覧の上に No commands match が表示され、一覧にはその 3 行だけが表示されます。その文字列を含まないコマンドだけが見つかった場合は、それらが先に並びます。ERD タブでテーブルを選択していない場合、tables で New Table、Database、表示される場合は New Table Group が、その 3 行の前に表示されます。テーブルを選択している場合は、Group Selected Tables が表示されていれば、その名前が tables を含むため、その 3 行は表示されません。
サブメニューの中では、検索で何も見つからない場合、一覧は空になり、メッセージは表示されません。

韓国語での検索​

ハングルを含む検索は、コマンドでもサブメニューでも、どのプレフィックスでも、字母単位でも一致します。
韓国語の IME が入力の途中で経る各段階でも、入力しようとしている行が見つかり続けるため、ㅅ、사、상、사요、사용 はどれも 사용자 を見つけます。初声だけでできた検索は、空白を飛ばして各音節の初声と照合されます。ㅅㅇㅈ で 사용자 が、ㅈㅁ で 주문 내역 が見つかります。ㅄ のように、Windows の IME が続けて入力された 2 つの初声から組み立てる複合子音は、その 2 つ(ㅂㅅ)として扱われますが、ㄲ のような双子音は 1 文字のままです。macOS のファイル名のように分解された形で保存されているテキストは、合成された形と同じように一致します。
テキスト全体が字母単位または初声単位で検索と一致する行が最初に並び、次にその検索で始まる行、その次にその検索を含む行が並びます。@ と : では、入力したとおりの検索を含む行が、ドキュメント内の順序でこれらすべての前に並びます。ハイライトは音節単位で行われるため、상 では 사용자 の 사용 がハイライトされます。
検索と置換は入力したとおりのテキストだけを照合するため、ㅅㅇㅈ や 사요 で 사용자 が見つかる場合のように、字母単位でのみ見つかった行によって Show all … in Find and Replace の行が表示されることはありません。