Перейти к основному содержимому

Настройки

Откройте Настройки кнопкой Settings на панели инструментов или из быстрого поиска через пункт Tab. На экране «Настройки» две вкладки: Preferences и Shortcuts. Первой открывается вкладка Preferences, но строка Shortcuts на экране приветствия открывает вкладку Shortcuts.

Темы и языка интерфейса на этом экране нет. Их открывают кнопки Theme и Display Language на панели инструментов — см. Язык и тема.

Синхронизация типа данных в связях​

Определяет, синхронизировать ли типы данных. Настройка включена по умолчанию. Тогда изменение типа данных столбца применяет этот тип ко всем столбцам, соединенным с ним связью, по цепочке в обе стороны, поэтому внешний ключ никогда не расходится с ключом, на который он ссылается. От ключа к его внешним ключам тип serial передается как целочисленный тип, который он хранит, так же как при рисовании связи — см. Идентифицирующие связи. Поэтому изменение типа ключа на serial дает его внешним ключам тип integer в PostgreSQL, и дальше изменение продолжается вниз по цепочке. От внешнего ключа обратно к его ключу тип передается в том виде, в каком он записан, за исключением того, что ключ типа serial сохраняет свой тип и изменение на нем останавливается. Окно «Сопоставить столбцы» тоже следует этой настройке: пока она включена, каждый существующий столбец, который оно сопоставляет, получает тип, который его родительский ключ дает внешнему ключу, и изменение распространяется дальше по связям, как описано выше. Пока настройка выключена или если у ключа нет типа данных, столбец сохраняет собственный тип.

Домен передает свой тип Data Type привязанным к нему столбцам, когда этот тип изменяется и когда к домену привязывается столбец. Пока эта настройка включена, изменение распространяется дальше по связям от каждого из этих столбцов, как описано выше; пока она выключена, изменяются только привязанные столбцы. Столбец, получивший на этом шаге тип своего домена, сохраняет его, даже если синхронизация дала бы ему другой, например целочисленный тип, который ключ типа serial дает своим внешним ключам. Привязанный столбец, которому синхронизация или окно «Сопоставить столбцы» дает тип, отличный от типа его домена, на том же шаге отвязывается от этого домена — см. Снятие привязки. Никакая вставка столбцов не передает тип по этой настройке, даже тип домена, к которому вставка привязывает столбец, — см. Копирование и вставка столбцов. А тип Data Type, вставленный на листе Domains вкладки «Словарь», передается, как и любое изменение типа домена.

Настройка синхронизации типа данных в связях

Изменение типа members.id на BIGINT UNSIGNED, которое обновляет каждый соединенный с ним member_id

Максимальная ширина комментария​

Задает максимальную ширину столбца комментариев в пикселях (60 ~ 200). Выключение переключателя снимает ограничение, а пока переключатель выключен, поле ввода недоступно. При включении начальное значение — 60px. Значение, введенное вне диапазона, приводится к ближайшей границе.

Включение параметра Maximum comment width, ввод 120 и вкладка ERD с комментариями, обрезанными до этой ширины

Блокировка​

Список Lock содержит семь настроек. Пока блокировка настройки включена, файл хранит значение, которое было у нее в момент блокировки, поэтому изменение настройки на экране оставляет файл прежним.

СтрокаЧто хранит файлВ новой диаграмме
ViewportМасштаб и положение вида холста ERD под одной общей блокировкой100% · 0, 0
Canvas TypeВкладка, на которой открывается диаграмма: ERD, Visualization, Schema SQL, Code Generator или DictionaryERD
LanguageЯзык Генератора кодаGraphQL
Table Name CaseСтиль имен таблиц Генератора кодаPascal
Column Name CaseСтиль имен столбцов Генератора кодаCamel
Bracket TypeПараметр Bracket вкладки «Схема SQL» и тех целевых форматов Генератора кода, в которых он естьNone
Name ViewРежим отображения имен, в котором открывается диаграмма: Physical Names, Logical Names или Both NamesPhysical Names

В каждой строке отображаются значение и кнопка блокировки, а нажатие кнопки включает или выключает только эту блокировку. Пока блокировка включена, на кнопке изображен закрытый замок со всплывающей подсказкой Unlock Viewport (и т. д. для каждой строки), а значение со всплывающей подсказкой Locked value — это то значение, которое хранит файл. Пока она выключена, на кнопке изображен открытый замок со всплывающей подсказкой Lock Viewport, а приглушенное значение со всплывающей подсказкой Current value показывает настройку в ее текущем состоянии. Строка Viewport показывает сначала масштаб, а затем положение вида, например 75% · -40, 91. Положение вида — это точка на экране в пикселях, в которой находится точка 0, 0 диаграммы, а координата в тысячу и более сокращается, например до 1.2k или -24k.

Блокировка фиксирует настройку в том состоянии, в котором она находится в этот момент. Пока блокировка включена, настройка по-прежнему действует на экране: можно прокручивать и масштабировать, переключать вкладки, выбирать другой язык, стиль имен или кавычки в меню, на панелях параметров или в быстром поиске и переключать режим отображения имен в любом из его списков — см. Переключение режима отображения. Однако файл хранит заблокированное значение, и строка продолжает его показывать, поэтому диаграмма снова открывается в заблокированном виде, на заблокированной вкладке, в заблокированном режиме отображения имен и с заблокированными языком, стилями имен и кавычками. Экспорт в JSON тоже записывает заблокированные значения. Чтобы сохранить то, что показывает экран, выключите блокировку, и с этого момента файл будет следовать настройке: при выключенной блокировке Viewport диаграмма открывается там, где вы ее оставили. Чтобы вместо этого заблокировать новое значение, например новый начальный вид, выключите и снова включите блокировку. Если при открытии файла в заблокированном виде не видно ни одной части диаграммы, экран все равно перемещается к диаграмме, а заблокированное значение остается прежним. Блокировка Canvas Type никогда не хранит вкладку «Настройки». Ее включение блокирует последнюю вкладку, кроме «Настроек», на которой вы были, а пока она выключена, в ее строке указана эта вкладка.

Разблокировка Viewport, прокрутка и масштабирование диаграммы и повторная блокировка на новом виде, который показывает ее строка

Включение или выключение блокировки изменяет файл, так как в файле хранится, какие блокировки включены, но, как и все остальное на вкладке «Настройки», оно не записывается в историю изменений. Не записывается в нее и переключение режима отображения имен, заблокирован он или нет. Все остальные настройки сохраняются как есть: база данных, переключатели View Option и остальные параметры вкладки Preferences. Редактор только для чтения не изменяет файл ни через одну из них, какими бы ни были блокировки: его кнопки блокировки и остальные элементы управления Preferences отключены, а настройки, которые он все же позволяет менять, остаются на этом экране — см. Режим только для чтения.

В новой диаграмме, т. е. начатой с нуля, включены все блокировки: это пустой файл, открытый в VS Code, Obsidian или IDE JetBrains (такой файл создают команды ERD Editor: Create new diagram и New ERD в Obsidian), новая схема в веб-приложении, файл, созданный через меню New в Google Drive, или элемент <erd-editor>, которому не передано значение. В схеме или файле Google Drive, которые веб-приложение создает импортом файла SQL, DBML, AML или GraphQL, тоже изначально включены все блокировки. Схема или файл, созданные из JSON-файла, сохраняют блокировки, записанные в этом файле. Открываемый файл сохраняет блокировки, с которыми он был записан, каждую — с ее заблокированным значением. Файл, в котором блокировки не записаны, например сохраненный версией, вышедшей до появления блокировок, или написанный вручную, открывается со всеми включенными блокировками: вид блокируется на 100% · 0, 0, вкладка — на ERD, какие бы вид и вкладку он ни сохранил, а язык, стили имен, тип кавычек и режим отображения имен — в том виде, в каком он их сохранил. Файл, сохраненный версией, вышедшей до появления блокировки Name View, открывается в режиме Physical Names с включенной блокировкой Name View, даже если все остальные записанные в нем блокировки выключены. Импорт через пункт Import, который заменяет диаграмму, тоже задает блокировки: JSON-файл приносит записанные в нем блокировки и их значения, а файл SQL, DBML, AML или GraphQL сохраняет текущие блокировки, но возвращает вид к 100% · 0, 0 независимо от того, заблокирован ли он, — см. Импорт внешних файлов. Отмена импорта возвращает блокировки и заблокированные значения, которые он заменил.

Изменение, которое блокировка не пропускает в файл, не считается изменением. VS Code не помечает вкладку как измененную, а Obsidian и IDE JetBrains оставляют файл прежним как при автоматическом сохранении, так и при закрытии вкладки. Поэтому, когда включены все блокировки, просмотр диаграммы, переключение вкладок, пробный выбор другого языка, стиля имен или кавычек и переключение режима отображения имен никогда не появляются в выводе git diff. При выключенной блокировке Viewport прокрутка и масштабирование изменяют файл; при выключенной блокировке Canvas Type его изменяет и переключение вкладок, в том числе на вкладку «Настройки»; а при выключенной блокировке Name View — и переключение режима отображения имен. Пустой файл новой диаграммы остается пустым до первого изменения, которое сохраняется в файле: правки, изменения настройки, которую не удерживает ни одна блокировка, или включения либо выключения блокировки. Если открыть диаграмму и закрыть ее без такого изменения, файл остается прежним, какой бы версией и на каком бы компьютере он ни был записан. Файл содержит только то, из чего состоит диаграмма, в фиксированном порядке, а файл, сохраненный в более старой форме, один раз перезаписывается в этой форме при первом таком изменении — см. Форма хранения. В VS Code ревизия, повторно открытая как диаграмма с помощью Reopen Editor With..., например ревизия Git или запись Local History, доступна только для чтения и никогда не помечается как измененная. В Google Drive прокрутка, изменение масштаба или переключение на другую вкладку никогда не сохраняются сами по себе, независимо от блокировки. При выключенной блокировке Viewport вид записывается только вместе с другим изменением, поэтому файл Drive открывается с тем видом, который был при последнем сохранении, и то же относится к вкладке при выключенной блокировке Canvas Type. Переключение режима отображения имен при выключенной блокировке Name View сохраняется так же, как правка, а переключение при включенной блокировке или в редакторе только для чтения никогда не сохраняется.

В сеансе совместного редактирования включение или выключение блокировки доходит до каждого редактора, а блокировка хранит значение того редактора, который ее включил. Пока включена блокировка Language, Table Name Case, Column Name Case, Bracket Type или Name View, эта настройка у каждого редактора своя. Язык, стиль имен или кавычки, выбранные в меню, на панелях параметров или в быстром поиске, и переключение режима отображения имен из любого из его списков видны только в том редакторе, где они сделаны, а остальные редакторы, открытые на диаграмме, сохраняют свои. Включение любой из этих блокировок не меняет настройку ни в одном редакторе. Пока такая блокировка выключена, выбор или переключение в любом редакторе, кроме редакторов только для чтения, меняет настройку во всех редакторах, и файл ее сохраняет. Выключение блокировки дает всем редакторам значение, показанное в редакторе, который ее выключил, поэтому все они снова сохраняют одно и то же значение. Выключение блокировки Viewport или Canvas Type ни у кого не меняет ни вид, ни вкладку. У агента для программирования, работающего через MCP-сервер, нет инструмента для блокировок или для удерживаемых ими настроек, а заблокированные язык, стиль имен или тип кавычек он читает со значением, которое хранит файл. Затрагивает их только его импорт в режиме replace, как и импорт через пункт Import, — см. Настройки и Импорт. Инструмент erd_list и формат snapshot инструмента erd_read не передают режим отображения имен, а агент редактирует схему, в том числе логические имена, в каком бы режиме ее ни просматривал человек.

Настройка порядка столбцов​

Задает порядок отображения столбцов в таблицах. Чтобы переместить строку, перетащите ее — перетаскивать можно всю строку, и на это указывает значок маркера перетаскивания. Девять строк в порядке по умолчанию: Logical Name, Name, DataType, Domain, Not Null, Unique, Auto Increment, Default и Comment. Строка Logical Name задает место ячейки логического имени, которая рисуется в строке столбца в режиме Both Names. В режиме Logical Names логическое имя вместо этого стоит на месте строки Name, а режим Physical Names его не рисует — см. Отображение имен. Строка Domain задает место ячейки домена, которую показывает View Option → Domain, — см. Ячейка домена. Ячейка, скрытая параметром вида таблицы или не отображаемая в текущем режиме отображения имен, сохраняет свое место в списке, поэтому порядок применяется к тем ячейкам, которые отображаются. В диаграмме, порядок которой был задан до появления строк Logical Name и Domain, строка Logical Name встает прямо перед Name, а строка Domain — сразу после DataType, где бы они ни стояли в ее порядке. Диаграмма, сохраненная более поздним выпуском, тоже сохраняет свой порядок, даже если в том выпуске есть строка, которой нет в этом: строки, которые есть в этом выпуске, стоят в порядке, заданном файлом, а неизвестная строка отбрасывается. Сохранение диаграммы здесь записывает порядок без нее, а более поздний выпуск возвращает эту строку рядом с ее соседом в собственном порядке по умолчанию. Метка альтернативного ключа (AK1.1 и т. д.) не входит в эти строки. Она всегда стоит последней в строке, после той ячейки, которую этот порядок ставит последней.

Прокрутка вниз до Column Order и перетаскивание строки Comment вверх под Name, после чего каждый комментарий стоит сразу после имени своего столбца

Сочетания клавиш​

Вкладка Shortcuts — это доступная только для чтения таблица со столбцами Command и Keybinding, в которой перечислены привязки клавиш для текущей платформы.

CommandWindows/LinuxMac
EditingEnterEnter
StopESCESC
SearchCtrl + K⌘ + K
Toggle ExplorerCtrl + F⌘ + F
UndoCtrl + Z⌘ + Z
RedoCtrl + Shift + Z⌘ + Shift + Z
Add TableAlt + N⌥ + N
Add ColumnAlt + Enter⌥ + Enter
Add MemoAlt + M⌥ + M
Add Table GroupAlt + G⌥ + G
Group Selected TablesT, затем GT, затем G
Remove Table, MemoCtrl + Backspace, Ctrl + Delete⌘ + Backspace, ⌘ + Delete
Remove ColumnAlt + Backspace, Alt + Delete⌥ + Backspace, ⌥ + Delete
Delete SelectionDelete, BackspaceDelete, Backspace
Primary KeyAlt + K⌥ + K
Select All Table, MemoCtrl + A, Ctrl + Alt + A⌘ + A, ⌘ + ⌥ + A
Select All ColumnAlt + A⌥ + A
Relationship Zero OneCtrl + Alt + 1⌘ + ⌥ + 1
Relationship Zero NCtrl + Alt + 2⌘ + ⌥ + 2
Relationship One OnlyCtrl + Alt + 3⌘ + ⌥ + 3
Relationship One NCtrl + Alt + 4⌘ + ⌥ + 4
Table PropertiesAlt + Space⌥ + Space
Focus on this tableAlt + F⌥ + F
Zoom InCtrl + Plus⌘ + Plus
Zoom OutCtrl + Minus⌘ + Minus
Zoom ResetCtrl + 0⌘ + 0
Hand ToolSpaceSpace
Zen ModeAlt + Z⌥ + Z

Большинство из них срабатывает только на вкладке ERD и не срабатывает, пока открыт быстрый поиск, окно свойств таблицы, просмотр различий, предварительный просмотр Автоматического размещения, путешествие во времени, окно Export image или окно Map Columns. Исключения — Search, Toggle Explorer и Stop: Search открывает и закрывает быстрый поиск на любой вкладке, Toggle Explorer с любой вкладки открывает поиск Обозревателя и переключает на вкладку ERD, а Stop закрывает быстрый поиск, окно свойств таблицы, просмотр различий, предварительный просмотр Автоматического размещения, путешествие во времени, окно Export image, окно Map Columns, конструктор темы, окно выбора Display Language, окно выбора цвета, список, который открывает кнопка Name View, и открытое контекстное меню. Toggle Explorer снова закрывает Обозреватель, пока он открыт на вкладке ERD и не скрыт режимом дзен, как и кнопка Explorer на панели инструментов. Если открыт быстрый поиск, окно свойств таблицы, конструктор темы, окно выбора Display Language, окно Export image или окно Map Columns, вместо этого сочетание закрывает то, что открыто, и переводит фокус клавиатуры в поле поиска Обозревателя. Toggle Explorer ничего не делает, пока редактируется ячейка, заметка или имя группы таблиц. Ни Toggle Explorer, ни Search ничего не делают, пока редактируется ячейка на вкладке «Словарь», поэтому введенный там текст сохраняется. Пока открыт просмотр различий, предварительный просмотр Автоматического размещения или путешествие во времени, Toggle Explorer оставляет свою клавишу браузеру или хосту — см. Панель поиска браузера. На вкладке ERD Stop завершает редактирование в открытом поле ячейки или заметки, закрывает поле редактирования имени группы таблиц, не переименовывая группу, или отменяет рисование связи либо New Table Group и оставляет выделение как есть. Если ничего из этого не открыто, Stop снимает выделение, убирает фокус с ячейки и тем же нажатием закрывает открытое окно выбора цвета. Открытый конструктор темы или окно выбора Display Language в любом случае закрывается тем же нажатием. В ячейке логического имени с открытым списком терминов первое нажатие Stop закрывает только этот список — см. Автодополнение терминов. Открытый Обозреватель, конструктор темы или окно выбора Display Language не отключают ни одного сочетания клавиш на холсте. Stop никогда не закрывает Обозреватель. О том, что делают Stop и другие клавиши в Обозревателе, см. Клавиши в Обозревателе, а в окне выбора — см. Выбор языка. Delete Selection удаляет все выделенные таблицы, заметки и группы таблиц либо, если выделена одна таблица вместе с частью ее столбцов и масштаб больше 70%, эти столбцы — см. Удаление таблиц и заметок. Remove Table, Memo также удаляет выделенные группы таблиц. Add Table Group начинает рисование New Table Group, как и кнопка New Table Group на панели инструментов холста, а повторное нажатие отменяет рисование. Group Selected Tables — это два нажатия без клавиши-модификатора: T, затем G в течение секунды. Сочетание помещает выделенные таблицы в новую группу и открывает поле редактирования ее имени, как и пункт Group selected tables в контекстном меню таблицы, и ничего не делает, если не выделена ни одна таблица, — см. Группировка выделенных таблиц. Ни то ни другое сочетание ничего не делает в редакторе только для чтения или пока группы скрыты. В редакторе только для чтения работают только клавиши, которые читают: Search, Toggle Explorer, Stop, Table Properties и Focus on this table для таблицы, выделенной переходом, три клавиши масштаба, Zen Mode, копирование и клавиши со стрелками, которые перемещают ячейку в фокусе. Editing, каждая клавиша Add и Remove, Delete Selection, Primary Key, обе клавиши выделения всего, четыре клавиши связей, Add Table Group, Group Selected Tables, Hand Tool и вставка ничего не делают, а Undo и Redo ничего не отменяют и не повторяют — см. Режим только для чтения. Zoom In, Zoom Out и Zoom Reset также изменяют масштаб на вкладке «Визуализация», как в режиме Graph, так и в режиме Flow, если только не открыт быстрый поиск. В режиме Flow команды Undo и Redo делают шаг назад и вперед по тому, до чего был сужен Flow, как и его кнопки Previous table и Next table, если только не открыт быстрый поиск. Там они никогда не отменяют изменения диаграммы, а в режиме Graph ничего не делают — см. Предыдущая и следующая таблица. На вкладке «Визуализация» Stop также закрывает меню отображения строк и отменяет еще не завершенное размещение в режиме Flow; вид, суженный с помощью Focus on this table, он не расширяет. Focus on this table открывает вкладку «Визуализация» в режиме Flow с видом, суженным до выделенных таблиц и всех таблиц на расстоянии одной связи от них, и ничего не делает, если не выделена ни одна таблица, — см. Фокус на таблицах. На вкладке «Словарь» Undo и Redo действуют на историю изменений открытого листа, а не диаграммы, и ничего не делают на листе Checks — см. Листы словарей. На листах Domains, Words и Terms команда Add Column вставляет строки под выделением, ее сочетание с добавленной клавишей Shift вставляет их над выделением, а Remove Column удаляет строки, которые охватывает выделение, — см. Добавление и удаление строк. О других клавишах вкладки см. Клавиши на вкладке. Select All Table, Memo, Hand Tool, Delete Selection и Group Selected Tables уступают курсору ввода: пока вы редактируете ячейку или заметку либо вводите текст в текстовом поле, например в поле поиска Обозревателя, Ctrl + A (Windows/Linux) или ⌘ + A (Mac) выделяет текст, Space вводит пробел, Delete и Backspace стирают текст, а T, затем G вводит эти две буквы. Копирование и вставка — это собственные сочетания браузера Ctrl + C и Ctrl + V (Windows/Linux) или ⌘ + C и ⌘ + V (Mac), поэтому их нет в этом списке — см. Редактирование таблиц.

Изменить привязки на этой вкладке нельзя. Хост, встраивающий редактор, переназначает их методом setKeyBindingMap, кроме Editing, Stop, Undo, Redo, Zoom In, Zoom Out и Zoom Reset, которые фиксированы. Тогда вкладка Shortcuts показывает привязки хоста: команда, которую хост не переназначает, сохраняет привязку по умолчанию, а у команды, которую хост не привязывает ни к одной клавише, привязка не отображается. Клавиши для строк на вкладке «Словарь» следуют за Add Column и Remove Column, поэтому переназначение любой из этих команд переносит и их — см. dictionaryRowChords.

В Obsidian эти клавиши доходят до редактора всякий раз, когда активна вкладка Obsidian с диаграммой, даже если то же сочетание назначено горячей клавише Obsidian, например Alt + Enter, Ctrl + K и Ctrl + F (Windows/Linux) или ⌥ + Enter, ⌘ + K и ⌘ + F (Mac). Так же до редактора доходит и сочетание Alt + Shift + Enter (Windows/Linux) или ⌥ + Shift + Enter (Mac) вкладки «Словарь», которого нет ни в одной строке этого списка. Все остальные горячие клавиши Obsidian там по-прежнему работают. О сочетании Ctrl + F или ⌘ + F см. Панель поиска браузера.

Режим только для чтения​

В редакторе с атрибутом readonly вкладка «Настройки» показывает настройки диаграммы и не меняет ни одной из них. Метка Read only стоит рядом с заголовком каждой страницы, Preferences и Shortcuts. Переключатели Relationship DataType Sync и Maximum comment width и поле ширины отключены, как и каждая кнопка блокировки. У строк Column Order нет маркера перетаскивания, и их нельзя перетаскивать. Каждая строка Lock по-прежнему показывает свое значение. Заблокированная строка показывает значение, которое хранит файл, а незаблокированная — настройку в том виде, в каком она на этом экране, и она может отличаться от файловой, как описано ниже.

Настройки, которые определяют, что показывает экран, там по-прежнему меняются: положение и масштаб вида, вкладка, режим отображения имен, база данных, язык Генератора кода, оба стиля имен, кавычки и переключатели View Option. Каждая меняет только этот экран, какой бы ни была ее блокировка. Она не сохраняется в файле и не записывается экспортом JSON, не записывается в историю изменений, не считается изменением и никогда не доходит до соавторов. Панели параметров вкладок «Схема SQL» и «Генератор кода» подписывают эти выборы This window only вместо Saved in the document. Когда редактор снова становится доступным для записи, каждая из настроек — база данных, язык, стили имен, кавычки и переключатели меню «Параметры вида», — которую вы там изменили, возвращается к тому, что редактор показывал до этого, с учетом любых изменений, которые за это время внес соавтор. Это значение файла, кроме языка, стиля имен или кавычек, которые редактор показывал как собственные при блокировке, — см. Блокировка. Вид, вкладка и режим отображения имен остаются такими, какими вы их оставили, и файл принимает каждый из них, насколько позволяет его блокировка, при вашем следующем изменении.