VsCode как уменьшить масштаб интерфейс?
Нашла ответ, его предоставил другой человек. Сперва с помощью клавиш CTRL + или CTRL — выбираете подходящий размер отображения окна интерфейса, а затем с помощью CTRL + колесо мыши подбираете оптимальный размер шрифта (текста кода).
Для управления увеличением/уменьшением масштаба только для текста CTRL + колесо мыши сделайте следущее:
1 Ctrl+Shift+P (или Вид->Палитра команд. )
2 Введите Открытые настройки пользователя
3 Изменить settings.json
4 Добавить «editor.mouseWheelZoom»: true
5 Сохраните его.
Вы можете использовать колесико мыши для увеличения или уменьшения масштаба только текста в текстовом поле.
Навигация в окне Scene
Окно Scene имеет набор навигационных элементов управления, которые помогут ориентироваться в нем быстро и эффективно.
Перемещение с помощью стрелок
Для перемещения по сцене можно использовать клавиши со стрелками . Клавиши вверх и вниз перемещают камеру вперед и назад в том направлении, в которое она смотрит. Клавиши влево и вправо поворачивают камеру в стороны. При использовании стрелок, зажмите клавишу Shift для ускоренного перемещения.
Фокусировка
Если выбрать геймобъект в иерархии, затем поместить мышь над Scene View, и нажать Shift+F , вид отцентрируется на выбранном объекте. Эта возможность называется кадрировать выделенное (frame selection) .
Перемещение, вращение по орбите и масштабирование
Перемещение, вращение по орбите и масштабирование — ключевые операции навигации в окне Scene View, поэтому Unity предоставляет несколько альтернативных путей их выполнения для максимального удобства.
Использование инструмента Hand (рука)
Когда выбран инструмент Hand (быстрая шлавиша: Q ), доступны следующие элементы управления мышью:

Движение: двигайте мышь с зажатой кнопкой для перемещения камеры.

Вращение: Удерживая Alt , двигая мышь с зажатой кнопкой, вращайте камеру вокруг текущего центра вращения. Эта опция не поддерживается в 2D режиме, потому что вид ортографический.

Масштабирование: Удерживая Control , двигайте мышь с зажатой кнопкой для масштабирования камеры.
Можно зажать клавишу Shift, чтобы увеличить скорость перемещения и масштабирования.
Сочетания клавиш, которые можно использовать без инструмента Hand
Для дополнительной эффективности, все эти элементы управления могут быть использованы независимо от того, какой инструмент трансформации выделен. Наиболее удобные элементы управления зависят от того, используете ли вы мышь или трекпад:
|**Действие** |3-х кнопочная мышь |2-х кнопочная мышь или трекпад |Mac с однокнопочной мышью или трекпадом | |:—|:—| |Move (Перемещение) |Удерживайте Alt двигайте мышью с зажатой средней кнопкой для перемещения. |Удерживайте Alt-Control двигайте мышь с зажатой кнопкой для перемещения. |Удерживайте Alt-Command и двигайте мышью с зажатой кнопкой для перемещения. | |*Перемещение по орбите |Hold Alt_ and click-drag. |Hold Alt and click-drag. |Hold Alt and click-drag. | |Масштабирование |Зажмите Alt и ПКМ или используйте колесо прокрутки. |Зажмите Alt и ПКМ. |Зажмите Alt-Control и ЛКМ или используйте свайп двумя пальцами. |
* Недоступно в режиме 2D.
Режим полета
Режим полета (flythrough mode) позволяет перемещаться по Scene View летая по нему в режиме от первого лица, примерно так же, как сделано управление во многих играх.
- Щелкните и удерживайте правую кнопку мыши.
- Теперь вы можете двигать вид используя мышь, и использовать клавиши WASD для перемещения влево/вправо вперед/назад, и клавиши Q и E для перемещения вверх и вниз.
- Удержание Shift ускорит перемещение.
Режим полета разработан для Режима Перспективы . In Изометрическом режиме , удерживая ПКМ и двигая мышь, вы можете совершать движение камеры по орбите.
Учтите, что в 2D режиме режим полета не поддерживается. Удерживайте ПКМ и двигайте мышью чтобы смещать область обзора в окне Scene.
Гизмо сцены
В правом верхнем углу Scene View находится гизмо сцены . Оно показывает текущую ориентацию камеры сцены, и позволяет быстро менять угол обзора.

You can click on any of the conical axis arms to snap the Scene View Camera to the axis it represents (eg. top view, left view, front view, etc.)
You can also toggle the projection of scene view between perspective and orthographic (sometimes called ‘isometric’) modes by clicking the cube in the centre of the Scene Gizmo, or the text below it. Orthographic view has no perspective, and it is useful in combination with clicking one of the conical axis arms to get a front or side elevation, or a plan view.

Вы можете нажать на любую из ручек для привязки камеры к этому направлению. Щелчок по центру гизмо сцены или по тексту под ним будет переключать между режимами изометрической и перспективной проекции. Вы также всегда можете кликнуть по центру гизмо сцены с зажатым Shift для получения “хорошей” перспективной проекции с углом, который смотрит на сцену со стороны и немного сверху.
Важно отметить, что в 2D режиме гизмо сцены не отображается, потому что вид представлен только в XY плоскости.
Жесты в Mac на трекпаде
В Mac с трекпадом, можно тянуть двумя пальцами для масштабирования вида.
Также можно использовать три пальца для симуляции эффекта клика на стрелки гизмо сцены: тянуть вверх, влево, вправо или вниз для привязки к соответствующему направлению камеры Scene View. В OSX 10.7 “Lion” может потребоваться изменить настройки трекпада чтобы включить эту возможность:
- Откройте System Preferences, затем Trackpad.
- Выберите пункт “More Gestures”.
- Выберете первую опцию (под названием “Swipe between pages”), затем установите “Swipe left or right with three fingers” или “Swipe with two or three fingers”.
О платформе в целом
1С:Предприятие — это отличная платформа для разработки бизнес-приложений.
Постараемся рассказать про это подробно и убедительно.
Что такое 1С:Предприятие? Мы говорим, что это система программ. Она состоит из платформы, приложений, экосистемы, различной методической информации и, конечно, специалистов, которые работают с этими технологиями и приложениями.
Но в основе лежит платформа, на которой пишутся бизнес-приложения и сегодня поговорим о том, почему платформа, зачем она нужна, чем она хороша и почему на ней разрабатывать лучше, чем на обычных универсальных языках программирования.
Зачем и почему платформа?
Платформенные решения стали модными.
Раньше приходилось объяснять — зачем вообще нужен платформенный подход?
Ускорение разработки, упрощение разработки и унификация разработки.
Зачем вообще нужны все инструменты разработки и фреймворки? Повышение уровня абстракции. Для того, чтобы ускорить и упростить разработку.
Платформа 1С:Предприятие решает эту задачу в области разработки бизнес-приложений.
Что есть платформа 1С:Предприятие?
Есть такая замечательная книга Станислава Лема, которая называется «Сумма технологии». Платформа 1С:Предприятие — это такая цивилизация в области разработки бизнес-приложений, которая является суммой технологий.
Если мы уже заговорили про литературу, то хочется еще сказать про замечательную книгу Эрика Эванса «Предметно-ориентированное проектирование» (DDD). В этой книге описывается взгляд на разработку бизнес-приложений со стороны моделирования предметной области. Предметно-ориентированное программирование позволяет ускорить разработку, упростить ее и, что важно, приблизить ее к конечному пользователю.
В нашем случае мы ведем разработку от метаданных, и это дает высокую наглядность проектного решения для разработчика.
Основные идеи платформы
Мы закрываем единым фреймворком все аспекты разработки.
Платформа предоставляет ответы на все вопросы, которые возникают у прикладного разработчика.
Это сильно отличается от того, как ведут разработку на обычных языках с использованием большого количества отдельных фреймворков.
Важно, что все фреймворки, которые входят в платформу, тесно интегрированы. То есть разработчик практически не видит швов между этими механизмами.
В нашей платформе разработчик работает с единой системой типов: одинаковый тип он использует и в базе данных, и во встроенном языке на сервере, и во встроенном языке на клиенте, и на мобильном устройстве — это существенно упрощает разработку.
Еще один аспект — это быстрая разработка от предметной области. Мы, кроме технологических инструментов, предоставляем разработчику высокоуровневые прикладные инструменты, которые приближены к объектам предметной области. Важно, что они отражают семантику самой предметной области. По сути, они решают типичные задачи автоматизации и из них, как из кубиков, разработчик собирает бизнес-приложения.
В качестве одного примера приведем механизм регистров накопления. По сути, это готовый инструмент для отражения любых операций по движению и остаткам каких-то средств: это могут быть материальные средства, денежные средства и так далее. Разработчику не нужно его создавать с нуля — можно пользоваться готовым инструментом, который соответствует задачам предметной области.
Все, что можно, описывается декларативно. Важно, что это — именно декларативное описание, потому что императивный код всегда более сложный: и в разработке, и в поддержке, и в наглядности.
Декларативное описание всегда позволяет повысить уровень абстракции и снизить сложность разработки. Все, что можно, работает из коробки и работает само.
Почему этого нет в большинстве других систем?
Потому что в нашей системе платформа знает о том, из чего состоит приложение. Прежде всего за счет того, что прикладные объекты включают знания о семантике тех аспектов, на которые они ориентированы.
По сути платформа после декларативного описания уже знает, зачем нужно приложение, из чего оно состоит, и многие механизмы, многие задачи она может решить сама в готовом виде из коробки, без участия прикладного разработчика.
В основе лежит модель. Бизнес-объекты знают семантику и платформа, зная семантику этих объектов, многие задачи решает сама без участия прикладного разработчика. На основании знания этой семантики платформа много чего выполняет самостоятельно.
Примеры того, что платформа может делать сама:
- журналирование;
- история данных и версионирование;
- пользовательский интерфейс;
- интеграционные интерфейсы (API);
- построение системы прав доступа и т. д.
Что включает в себя платформа?
Во-первых, собственно, то, что отражает данные предметной области и процессы — это хранимые данные и работающие процессы.
Во-вторых, все то, чтобы с этим работали пользователи и работали другие программы. Это пользовательский интерфейс и интеграционные механизмы.
И, в-третьих, это много разных полезных функций, которые поставляются уже в готовом виде и работают с использованием знания предметной области. Например, администрирование, диагностика, полнотекстовый поиск, чат-боты, механизмы печати.
Платформа позволяет не просто разрабатывать отдельные приложения, но и создавать целые композиции приложений — это механизмы для автоматической синхронизации данных, это шина данных, 1С:Шина — наш новый инструмент класса ESB, это интеграция работы пользователей, чаты, видео, эта система single sign-on для обеспечения единого входа в разные приложения.
По сути, каждое приложение может выступать в качестве микросервиса для организации композиции приложений. И у нас есть много реальных примеров: это и наши приложения, тиражируемые, которые мы поставляем, которые интегрированы между собой, это и интеграция приложений на местах — разрабатывается композиция приложений, которая нужна именно этому предприятию.
Для каких решений предназначена платформа? Когда ее имеет смысл использовать?
Платформа 1С:Предприятие — это инструмент для разработки решений для бизнеса.
С одной стороны, на всю ширину — это самые разные приложения: и для управления персоналом, и для управления финансами, и для производства, и для документооборота.
Но и на всю глубину: от самых малых предприятий — до самых крупных организаций.
По сути мы поддерживаем уникальную масштабируемость: с одной стороны, половина решений однопользовательские, но на этой же платформе автоматизированы крупнейшие отечественные коммерческие и государственные структуры.
Важно, что это дает возможность прикладным разработчикам начать от простейших задач: внедрение на уровне, например, маленького магазина, и развиться до решения сложных масштабных задач корпоративного рынка. Нам часто говорят: «Не может быть такого, что одно решение, одна технология закрывает такой большой scale потребностей бизнеса».
Мы считаем, что может.
Что важно для наших клиентов, для бизнеса?
Прежде всего, конечно, — это ускорение разработки и, соответственно, ускорение развития бизнеса этих предприятий.
Также для бизнеса очень важно, чтобы решения были по-настоящему сопровождаемыми.
То есть, можно просто передать заказчику исходные коды какого-то приложения. Но это не обеспечит реальную возможность сопровождения, например, передача проекта другой команде, расширение команды, подключение новых специалистов.
В нашем случае, при построении всех решений по единой методологии, на основе единой технологии и наличии более 300 тысяч специалистов это становится действительно возможным и, по сути, это защищает инвестиции наших клиентов, наших пользователей в разработку и развитие приложений.
В этом, кстати, очень помогает то, что система построена на основе моделей и, соответственно, она прозрачна для разработчика, который владеет этим инструментом, и он может быстро войти в новый проект, влиться в команду и начать развивать приложения.
Конечно, важно заметить, что все наши приложения поставляются в виде исходных кодов, и заказчик, клиент может посмотреть, как они устроены, анализировать и изменять, если ему это нужно.
Также важно, чтобы приложения были действительно кастомизируемыми.
Не просто номинально, потому что есть исходные коды, а чтобы можно было их адаптировать под развивающиеся потребности предприятия.
И тут помогает не только то, что у нас есть обученные специалисты, есть единая методология, но и то, что платформа содержит специальные инструменты для быстрой и удобной кастомизации, то есть изменения приложений, которые включают, в том числе, возможности автоматического объединения тех новых возможностей, которые добавляют вендор, то есть поставщик приложения, и тех кастомизаций, модификаций, которые делаются при внедрении — это очень важно.
И еще важно, что приложения автоматически развиваются вместе с развитием платформы. Например, система взаимодействия: когда мы ее разработали, наши пользователи сразу получили возможность общаться в чатах внутри своих приложений. Другой пример — это механизм истории данных. Когда мы его разработали, наши пользователи практически сразу получили возможность просматривать историю изменений.
Кто использует платформу, кто на ней разрабатывает приложения?
Об этом сейчас много говорят. Я бы сказал, что это специалисты по разработке бизнес-приложений. По-моему, это замечательная профессия.
Это люди, которые умеют понимать бизнес, умеют понимать пользователей, умеют понимать бизнес-логику. Они тоже разные: есть начинающие, есть очень опытные, есть те, кто разрабатывает тиражные решения, которые используют сотни тысяч и миллионы пользователей, есть те, кто делает заказные решения для конкретного предприятия.
Но у них общее качество — широкий кругозор, разносторонняя подготовка, понимание задач от предметной области до особенности конкретных технологий и дизайна пользовательского интерфейса.
У них может быть тоже свой какой-то уклон: у кого-то — в технологическую область, у кого-то — в особенности бизнес-логики, у кого-то — в юзабилити.
Но все-таки их отличает комплексный подход к решению задач.
Кто же разрабатывает саму платформу?
Есть крутые системные разработчики — «системщики». Системщики, которые разрабатывают компиляторы, технологии in-memory обработки данных, технологии искусственного интеллекта.
Есть те, кто хорошо понимает прикладную разработку, понимает, как ведется прикладная разработка.
Есть те, кто любит и умеет создавать инструменты для разработчиков.
Есть те, кто любит создавать низкоуровневые и высокотехнологичные решения.
Но все они любят создавать универсальные решения и фреймворки.
На наш взгляд, это одна из самых интересных задач для системных разработчиков, и в мире не так много тех, кто решает подобного рода задачи.
Хорошо, что у нас есть много направлений системной разработки и разработчики могут выбирать то, что им интересно.
Ну, например, это направление highload. Причем, это и highload для очень крупных предприятий, и highload для облачных решений, в которых работают сотни тысяч небольших предприятий.
Интересно построение распределенных систем, интересна разработка технологии искусственного интеллекта, интересно создание инструментов разработки. И список таких интересных направлений можно продолжать, и продолжать.
Наша платформа — это low-code или нет?
Это очень интересный и теперь модный вопрос.
Вообще, мы делали простые в использовании инструменты разработки очень давно. Но вот недавно оказалось, что это направление с очень модным современным словом low-code.
Конечно, мы относимся классу low-code технологий, мы поддерживаем model driven development и другие, более детальные, аспекты этого направления. Но хочется заметить, что у нас весьма масштабный low-code, то есть, на нашем low-code инструменте можно создавать не только небольшие, простые приложения, но и большие приложения вплоть до ERP-систем, систем управления огромными холдингами, федеральными госструктурами.
И важно, что наша low-code система позволяет вести разработку не только маленькими командами: одним человеком, двумя-тремя, но и десятками и даже сотнями разработчиков.
В чем уникальность нашей low-code системы?
Есть хорошие low-code системы, на которых делаются небольшие приложения для решения текущих потребностей бизнеса, уровня отдела предприятия, например. Но с их помощью не сделать большое, комплексное приложение.
Есть платформы разработки бизнес-приложений, крупных приложений, но их инструменты, в основном, используются для кастомизации поставляемых вендором приложений.
Есть очень немного технологий, которые позволяют, с одной стороны, кастомизировать приложения, поставляемые вендором, с другой стороны, использовать их как независимые инструменты разработки, на которых можно делать бизнес-приложения, в том числе и с нуля.
Но важно, что в отличие от большинства таких технологий, наша платформа позволяет разрабатывать приложения как для облака, так и для on-premise внедрений.
Что же под капотом платформы?
Что у нас крутого внутри?
У нас есть много серьезных технологических решений собственной разработки.
Например, отказоустойчивый масштабируемый распределенный кластер серверов. Дата акселератор — это in-memory база данных нашей разработки. Технологии искусственного интеллекта, компьютерное зрение, распознавание речи и так далее.
Есть и наши уникальные проектные решения. Конечно, мы здесь не говорим о всей платформе, которая тоже является уникальным проектным решением. Например, это наша технология multitenancy — это множественное владение данных, которые используется для облачных приложений.
Это технология системы компоновки данных, которые используются для отчетов, для сложных выборок данных и так далее.
Это механизм расширений, который используется для той самой кастомизации, про которую мы говорили.
Из новых технологий можно назвать 1С:Аналитику — это система класса BI, 1С:Шина, соответственно, это ESB, и технологию 1С:Предприятие.Элемент.
Важно сказать, что при этом весь комплекс — это очень большой продукт, который работает в самых разных условиях: в разных операционных системах, в разных браузерах, с разными СУБД.
Очень важно, что при этом он прост в установке и прост в обслуживании, в администрировании.
С одной стороны нам важно развивать технологию для наших существующих клиентов, чтобы реализовывать их текущие пожелания, потребности и так далее.
С другой стороны, нам важно ориентироваться на новых клиентов, а также на наших сегодняшних клиентов, у которых завтра могут появиться совершенно новые потребности.
Поэтому, с одной стороны, наши сегодняшние технологии становятся с каждым выпуском лучше — это и кластеризация, и работа с большими данными, и кроссплатформенность. С другой стороны, они развиваются, чтобы соответствовать современным трендам.
Конечно, нужно сказать о развитии
Развитие обязательно должно быть.
Среди трендов развития платформы есть достаточно очевидные, которые понятны в современном уровне развития IT — это облачность, мобильность, современные технологии искусственного интеллекта, in-memory обработки данных, развитие интерфейса UI/UX.
Но есть не совсем очевидные: например, развитие в сторону поддержки консьюмерских приложений, то есть, приложений не для бизнес-пользователей, работающих на предприятии, а для любых людей.
С другой стороны, появляется потребность в приложениях, которые работают на предприятиях, с которыми работают люди, сотрудники предприятия, которые совершенно не имеют опыта работы с бизнес-приложениями.
Еще один тренд — это работа больших команд разработчиков. Слаженная, нацеленная на создание больших сложных систем.
Другой тренд — это очень крупные внедрения.
Дальше — это повышение роли интеграции. Сейчас интеграция является очень важным аспектом бизнес-приложений, на которую нацелена чуть ли не половина усилий команд разработки.
И кроме того, появляется новый тренд — это коллаборация. Коллаборация людей, работающих с бизнес-приложениями и коллаборация самих приложений, самой системы с людьми. То есть, совместная работа людей и системы.
Примеры такого развития — система 1С:Аналитика, 1С:Шина, технологии
искусственного интеллекта, технология 1С:Предприятие.Элемент.
Подробнее про 1С:Предприятие.Элемент
Технология 1С:Предприятие.Элемент — это направление развития, которое расширяет использование платформы 1С:Предприятия в сторону парадигмы консьюмерски-ориентированных программ.
Например, на этой технологии мы создали приложение 1С:Кабинет сотрудника, которое позволяет любым сотрудникам организаций и предприятий получать различную кадровую информацию, оформлять отпуск, получать информацию о зарплате и т. д.
В технологии 1С:Предприятие.Элемент мы развиваем технологические решения, инструменты, с которыми работает разработчик и пользователь, например, язык программирования, технологию пользовательского интерфейса, облачную технологию, технологию модульной разработки и другие.
Очень важно, что новые технологии, такие как, искусственный интеллект, 1С:Предприятие.Элемент и другие, должны работать не отдельно, а в едином комплексе, например, в ERP-системе, в других наших приложениях, тогда они работают как единая экосистема, и за счет синергии разных технологий для пользователей появляется новое качество.
Записки программиста
Краткая шпаргалка по сочетаниям клавиш в IntelliJ IDEA
Как ранее уже сообщалось, я начал активно изучать возможности IntelliJ IDEA. В частности, я стараюсь запомнить наиболее востребованные хоткеи, чтобы выполнять большую часть работы, не отрывая руки от клавиатуры, как это происходит при программировании в Vim. По моим наблюдениям, это реально экономит кучу времени. Я сделал для себя шпаргалку по хоткеям IDEA, которую вы найдете под катом. Полагаю, она также пригодится кому-то из посетителей данного блога.
Примечание: Те же сочетания клавиш работают и в других продуктах JetBrains, например, PyCharm и CLion.
Ниже не приводятся общеизвестные и очевидные сочетания вроде Ctr+C, Ctr+V или Ctr + S. В IntelliJ IDEA многие хоткеи имеют парный хоткей отличающийся только тем, что в нем дополнительно участвует клавиша Shift. Обычно она добавляет в том или ином виде выделение текста. Например, Ctr + End переводит курсор в конец файла, а Ctr + Shift + End выделяет код от текущей позиции до конца файла. Догадаться о существовании парных хоткеев несложно, поэтому далее они не приводятся. Наконец, если в любом диалоге IntelliJ IDEA вы видите подчернутые буквы, знайте, что сочетание Alt + буква равносильно использованию соответствующего контрола (обычно кнопок). Например, быстро запушить код в репозиторий можно путем нажатия Ctr + K, Alt + I, Alt + P, а затем снова Alt + P.
Итак, основные сочетания следующие.
Редактирование:
| Ctr + Z | Undo, отменить последнее действие |
| Ctr + Shift + Z | Redo, отменить последнюю отмену действия |
| Ctr + Shift + V | Расширенная вставка из буфера обмена (с историей) |
| Ctr (+ Shift) + W | Инкрементальное выделение выражения |
| Ctr + влево/вправо | Перемещение между словами |
| Ctr + вверх/вниз | Прокрутка кода без изменения позиции курсора |
| Ctr + Home/End | Переход в начало/конец файла |
| Shift + Del (Ctr + Y) | Удаление строки, отличие в том, где потом окажется курсор |
| Ctr + Del | Удалить от текущей позиции до конца слова |
| Ctr + Backspace | Удалить от текущей позиции до начала слова |
| Ctr + D | Дублировать текущую строку |
| Tab / Shift + Tab | Увеличить / уменьшить текущий отступ |
| Ctr + Alt + I | Выравнивание отступов в коде |
| Ctr + Alt + L | Приведение кода в соответствие code style |
| Ctr + / | Закомментировать/раскомментировать текущую строку |
| Ctr + Shift + / | Закомментировать/раскомментировать выделенный код |
| Ctr + -/+ | Фолдинг, свернуть/развернуть |
| Ctr + Shift + -/+ | Фолдинг, свернуть/развернуть все |
| Ctr + Shift + . | Сделать текущий скоуп сворачиваемым и свернуть его |
| Ctr + . | Сделать текущий скоуп несворачиваемым |
| Ctr + R | Замена в тексте |
| Ctr + Shift + R | Замена во всех файлах |
Окна, вкладки:
| Alt + влево/вправо | Перемещение между вкладками |
| Ctr + F4 | Закрыть вкладку |
| Alt + циферка | Открытие/закрытие окон Project, Structure, Changes и тд |
| Ctr + Tab | Switcher, переключение между вкладками и окнами |
| Shift + Esc | Закрыть активное окно |
| F12 | Открыть последнее закрытое окно |
| Ctr + колесико | Zoom, если он был вами настроен |
Закладки:
| F11 | Поставить или снять закладку |
| Ctr + F11 | Аналогично с присвоением буквы или цифры |
| Shift + F11 | Переход к закладке (удаление — клавишей Delete) |
| Ctr + Число | Быстрый переход к закладке с присвоенным числом |
Подсказки и документация:
| Ctr + Q | Документация к тому, на чем сейчас курсор |
| Ctr + Shift + I | Показать реализацию метода или класса |
| Alt + Q | Отобразить имя класса или метода, в котором мы находимся |
| Ctr + P | Подсказка по аргументам метода |
| Ctr + F1 | Показать описание ошибки или варнинга |
| Alt + Enter | Показать, что нам предлагают «лампочки» |
Поиск:
| Дважды Shift | Быстрый поиск по всему проекту |
| Ctr + Shift + A | Быстрый поиск по настройкам, действиям и тд |
| Alt + вниз/вверх | Перейти к следующему/предыдущему методу |
| Ctr + [ и Ctr + ] | Перемещение к началу и концу текущего скоупа |
| Ctr + F | Поиск в файле |
| Ctr + Shift + F | Поиск по всем файлам (переход — F4) |
| Ctr + F3 | Искать слово под курсором |
| F3 / Shift + F3 | Искать вперед/назад |
| Ctr + G | Переход к строке или строке:номеру_символа |
| Ctr + F12 | Список методов с переходом к их объявлению |
| Ctr + E | Список недавно открытых файлов с переходом к ним |
| Ctr + Shift + E | Список недавно измененных файлов с переходом к ним |
| Ctr + H | Иерархия наследования текущего класса и переход по ней |
| Ctr + Alt + H | Иерархия вызовов выбранного метода |
| Ctr + N | Поиска класса по имени и переход к нему |
| Ctr + Shift + N | Поиск файла по имени и переход к нему |
| Ctr + B | Перейти к объявлению переменной, класса, метода |
| Ctr + Alt + B | Перейти к реализации |
| Ctr + Shift + B | Определить тип и перейти к его реализации |
| Shift + Alt + влево | Перемещение назад по стеку поиска |
| Shift + Alt + вправо | Перемещение вперед по стеку поиска |
| F2 / Shift + F2 | Переход к следующей / предыдущей ошибке |
| Shift + Alt + 7 | Найти все места, где используется метод / переменная |
| Ctr + Alt + 7 | Как предыдущий пункт, только во всплывающем окне |
Генерация кода и рефакторинг:
| Ctr + Space | Полный автокомплит |
| Ctr + Shift + Space | Автокомплит с фильтрацией по подходящему типу |
| Alt + / | Простой автокомплит по словам, встречающимся в проекте |
| Ctr + I | Реализовать интерфейс |
| Ctr + O | Переопределить метод родительского класса |
| Ctr + J | Генерация шаблонного кода (обход по итератору и тд) |
| Ctr + Alt + J | Обернуть выделенный код в один из шаблонов |
| Alt + Insert | Генератор кода — сеттеров, зависимостей в pom.xml и тд |
| Shift + F6 | Переименование переменной, класса и тд во всем коде |
| Ctr + F6 | Изменение сигнатуры метода во всем коде |
| F6 | Перемещение метода, класса или пакета |
| F5 | Создать копию класса, файла или каталога |
| Shift + F5 | Создать копию класса в том же пакете |
| Alt + Delete | Безопасное удаление класса, метода или атрибута |
| Ctr + Alt + M | Выделение метода |
| Ctr + Alt + V | Выделение переменной |
| Ctr + Alt + F | Выделение атрибута |
| Ctr + Alt + C | Выделение константы (public final static) |
| Ctr + Alt + P | Выделение аргумента метода |
| Ctr + Alt + N | Инлайнинг метода, переменной, аргумента или константы |
| Ctr + Alt + O | Оптимизация импортов |
Прочее:
| Ctr + ~ | Быстрое переключение цветовой схемы, code style и тд |
| Alt + F12 | Открыть/закрыть терминал |
| F10 | Запустить последнюю запущенную программу или тест |
| Shift + F10 | Запустить открытую в редакторе программу или тест |
| Shift + Alt + F10 | Запустить что-то из списка того что запускалось раньше |
| Ctr + F2 | Остановить программу |
| Ctr + Alt + A | Добавить в систему контроля версий |
| Ctr + K | Сделать коммит в систему контроля версий |
| Ctr + Shift + K | Сделать пуш в систему контроля версий |
| Ctr + Shift + P | В Scala-плагине определяет implicit параметры |
| Ctr + Shift + Q | В Scala-плагине определяет implicit преобразования |
Понятное дело, в этой шпаргалке названы далеко не все возможности IntelliJ IDEA. Всем заинтересованным лицам я настоятельно рекомендую вот прямо брать и читать ее замечательную документацию, там очень много интересного. Жаль только, что документация не доступна в виде одного большого PDF файла.
Дополнение: В последних версиях IDEA можно использовать несколько курсоров, разместив их либо при помощи комбинации Alt+Shift+ЛКМ, либо вертикальным выделением при помощи клика средней клавишей мыши. Держа на вооружении сочетание Ctr + влево/вправо, осуществляющего переход между словами, а также другие, можно очень удобно редактировать сразу несколько строк кода.
Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.
