В работе с любым инструментом важно легко находить то, что нужно. В DataGrip ищут:
— Объекты базы данных: таблицы, представления, функции, колонки и т. д.
— Сами данные.
— Код, например кусок кода в скрипте или исходнике объекта.
— Другое: настройки, действия, файлы.
Разберемся, как не потеряться в IDE и своих базах данных.
Объекты базы данных
Любое дерево (а еще меню, списки, всплывающие окна) в IDE на платформе IntelliJ поддерживает быстрый поиск: просто печатайте имя того, что вам нужно. Помните, что объект будет найден, только если его узел в дереве раскрыт.
Работают аббревиатуры: ‘fa’ найдет ‘film_actor’.
Навигируйтесь к объекту базы по Ctrl+N (Alt+O для OSX). Наберите в поле имя или аббревиатуру базы, схемы, таблицы, представления, процедуры.
Если вы ищете таблицу или представление, Enter откроет редактор данных (с вкладкой DDL, если нужен код), а F4 покажет объект в дереве.
То же для функций и процедур: Enter откроет исходник в редакторе, F4 покажет объект в дереве.
Маленький трюк для поиска столбцов в таблице или результате запроса: откройте Structure view (Ctrl/Cmd+F12) и начните печатать. Быстрый поиск отфильтрует нужные колонки. Enter перенесет фокус на нужный столбец.
Данные
Текстовый поиск (Ctrl/Cmd+F) работает в таблицах и результатах запроса. Подойдет, если вы не знаете, в каком конкретно столбце нужные вам данные.
Искаться данные будут только на текущей странице. Количество строк на странице задается в Settings > Database > Data views > Result page size. Если ввести -1, будут отображаться все строки сразу. Но это может повлиять на скорость выполнения запросов.
При просмотре данных в таблице, условия фильтрации выписывайте в текстовое поле сверху, как будто пишете SQL в предложении WHERE.
В это поле можно вставлять значения автоматически, из контекстного меню.
Код
Поиск работает в любом редакторе. Но даже не все в JetBrains знают, что здесь есть автодополнение :) Вызывается по Ctrl+Space и предлагает варианты из открытого файла.
В настройках укажите, где искать: включать или исключать строки, комментарии. На все результаты поиска можно поставить мультикурсор: Ctrl+Alt+Shift+J (Ctrl+Cmd+G для OSX).
Поиск по пути ищет код в других консолях, файлах и в исходниках представлений, процедур и функций.
В нашем примере, если выбрать 'In Project', код будет найден только в дамп-файле, прикрепленном к проекту. Но если выбрать 'All scopes,' этот же кусок отыщется и в процедуре нашей базы.
Find usages в контекстном меню объекта (или по Alt+F7) покажет его использования в запросах, скриптах или исходниках других объектов. Например, таблица actor найдена в дамп-файлах, консолях и нескольких исходниках: она используется в правилах и представлениях.
Остальное
Ctrl+Shift+N (Shift+Cmd+O for OSX) откроет файл по имени.
В настройках тоже работает быстрый поиск. Чтобы найти Result page size, напечатайте это.
Когда не знаете, как что-то сделать, поможет Find action (Ctrl+Shift+A). Тут и настройки можно искать, но главное, ищите здесь любое действие в IDE. Не знаете, как открыть новую консоль? Напишите Open new console.
А когда совсем уж непонятно, где искать, попробуйте 'Search everywhere'. Объекты баз, действия, файлы, настройки — все можно найти здесь. Например, 'actor' показал не только объекты из базы, но и действие 'Refactor', которое можно выполнить прямо отсюда.
Иконка ввиде шестеренки поможет определить, где искать.
Если ваши поиски так и не увенчались успехом, пишите нам в комментарии или в Твиттер. Мы найдем!
Команда DataGrip
Поделиться с друзьями
Комментарии (9)
Yahweh
21.04.2017 16:08Скрыл некоторые столбцы в таблице. Как их теперь обратно вернуть?
moscas
25.04.2017 11:03Ctrl+F12 и пробелом по скрытым столбцам.
Yahweh
25.04.2017 11:24Спасибо, а то я с ними уже попрощался.
Не совсем интуитивно — после Ctrl+F12, если по зачеркнутому столбцу кликнуть мышкой окно закрывается и ничего не происходит, только стрелками (или ПКМ) можно менять выбранный столбец и тогда уже пробелом его вернуть.
ser_ivor
25.04.2017 11:03DataGrip очень, очень крут.
Извините за оффтоп: скажите, появится-ли кастомизированная подсветка и проверка синтаксиса (как, к примеру, было сделано в DBeaver. У меня довольно редкая Teradata, по этому и спрашиваю)?moscas
25.04.2017 11:04+1В ближайшее время не думаем, но на это есть тикет https://youtrack.jetbrains.com/issue/DBE-3142
Голосуйте, комментируйте.
SbWereWolf
я чуть со стула не упал от «Если ваши поиски так и не увенчались успехом, пишите нам» — «Мы найдем!», ребята вы с юмором :)