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

Pycharm как сдвинуть блок кода влево

  • автор:

10 случаев, когда можно обойтись без мыши при работе с IntelliJ IDEA

Многие, работая с IntelliJ IDEA, предпочитают использовать клавиатуру, а не мышь. Вы тоже? Тогда у нас есть для вас небольшой подарок. В этой статье мы расскажем о 10 распространенных ситуациях, в которых, оказывается, можно обойтись без мышки.

1. Изменение размера окна Project или другого активного окна

Окно Project — одно из самых используемых в IntelliJ IDEA. Часто бывает нужно увеличить или уменьшить его ширину. Вместо того, чтобы браться за мышку, нажмите Ctrl+Shift+Right (Windows или Linux) или ⇧⌘Right (macOS), чтобы увеличить ширину окна, а чтобы ее уменьшить — Ctrl+Shift+Left or или ⌘Left.

У других окон, например Run или Problems, можно увеличить высоту, нажав Ctrl+Shift+Up (Windows или Linux) или ⇧⌘Up (macOS), или уменьшить ее с помощью сочетаний клавиш Ctrl+Shift+Down или ⇧⌘Down.

2. Клавиша Esc — возврат в окно редактора, F12 — переход к последнему окну инструментов

Закончив работу в таких окнах, как Project, Debug, Maven и т. п., можно не кликать по окну редактора мышкой — просто нажмите Esc, чтобы вернуться в редактор.

Нажав на клавишу F12, можно перейти в последнее открытое окно инструментов, не вспоминая сочетание клавиш, назначенное именно этому окну.

На приведенном ниже gif-изображении Presentation Assistant не отображает текст «Escape», когда используется клавиша Esc для возврата в окно редактора.

Зависит ли действие, выполняемое при нажатии клавиш Esc (или любой другой клавиши), от контекста? Конечно, зависит. Перейдите в меню Settings -> Keymap -> Find Actions by Shortcut и нажмите Esc, чтобы узнать, как она сработает в разных контекстах.

3. Отображение окна

Давайте для начала разберемся, как многие разработчики выводят на экран окна в IntelliJ IDEA. Например, чтобы открыть окно Pull Requests, можно щелкнуть по вкладке Pull Requests на панели окон инструментов:

Здесь тоже можно обойтись без мыши. То есть сначала она понадобится, чтобы сделать одну вещь, а потом можно будет о ней забыть.

Наведя курсор на вкладку Pull Requests, можно увидеть, назначено ли этому окну сочетание клавиш. В данном случае сочетания клавиш нет. Давайте его назначим. Используйте действие Find, выполните поиск по строке «Pull Requests» с описанием «View | Tool window» и используйте сочетание клавиш Alt+Enter, чтобы назначить сочетание клавиш, например Ctrl+Shift+Alt+9.

Теперь можно его использовать, чтобы вывести или скрыть окно Pull Requests.

Если же окну уже назначено сочетание клавиш, например Alt+1 для окна Project или Alt+7 для окна Structure, оно будет показано, когда вы наведете курсор на соответствующую вкладку на панели окон инструментов.

Можно также нажать в IntelliJ IDEA клавиши Ctrl+Tab (или ⌃Tab), чтобы вызвать функцию Switcher и просмотреть список окон и недавно открытых файлов. Эта функция позволяет быстро перейти к имени нужного окна с помощью клавиш со стрелками.

Если вы предпочитаете работать со строкой меню, можно выбрать View | Tool windows и посмотреть список всех доступных окон.

4. Закрытие активного окна или всех окон

Закрыть или скрыть окно можно разными способами. Чтобы скрыть активное окно, нажмите Shift+Escape (или ⇧ Esc). Отдельные сочетания клавиш позволяют скрыть или отобразить нужное окно. Например, при нажатии Alt+9 (или ⌘9) будет показано окно Git. При повторном нажатии Alt+9 (или ⌘9) окно будет скрыто.

Кроме того, можно использовать сочетание клавиш Ctrl+Shift+F12 (⇧⌘ F12), чтобы скрыть или восстановить все окна.

5. Alt+Enter — просмотр предложений по иконке лампочки

Чтобы просмотреть предложения сниппетов, не обязательно щелкать по иконке лампочки. Перейдите к строке кода, где появилась лампочка, и нажмите Alt+Enter, чтобы вызвать Context actions и посмотреть предложения.

6. Объявление нового класса в нужном пакете при работе в окне редактора кода

Эта функция — настоящая скрытая жемчужина IntelliJ IDEA. Немногие разработчики знают о ней, а ведь она может быть очень полезна.

Если вам нужно создать класс во время работы в редакторе, нажмите Alt+Home (или ⌘ Up), чтобы перейти к панели навигации. Выберите пакет, в котором нужно объявить новый класс, интерфейс или другой объект, а затем вызовите новое диалоговое окно, нажав клавиши Alt+Insert (или ⌘ N). Введите имя, и готово.

Дополнительный совет: чтобы создать подпакет, добавьте имя пакета в качестве префикса. Например, при создании класса ‘NewClassInPackageSpace’ в новом подпакете, допустим, ‘space’, входящем в пакет ‘com’, введите «space.NewClassInPackageSpace» в новом диалоговом окне.

7. Переход между открытыми файлами

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

i) Сочетания клавиш Alt+Right или Alt+Left обеспечивают быструю навигацию по последним файлам, с которыми вы работали. Однако в этом случае Presentation Assistant не показывает используемые сочетания клавиш.

Это сочетание удобно использовать для навигации по недавно открытым файлам, поскольку оно очень ускоряет перемещение.

На следующем gif-изображении показано, как использовать сочетания клавиш Alt+Right или Alt+Left, чтобы быстро перейти к другим файлам:

ii) Перейдите к вкладке Switcher (Ctrl+Tab в Windows и Linux, ^Tab в macOS), чтобы посмотреть список окон и файлов, с которыми вы недавно работали, и выберите окно или файл, которые нужно открыть.

iii) Чтобы посмотреть список файлов, с которыми вы недавно работали, нажмите Ctrl+E (или ⌘E). В списке указаны в том числе и типы недавно открытых файлов. Если нажать Ctrl+E еще раз при открытом диалоговом окне, в списке останутся только измененные вами файлы.

iv) Если вы не можете вспомнить, с каким файлом вы работали, нажмите Ctrl+Shift+E, чтобы перейти к списку Recent Locations: на экране появится пара строк из файла и его название. Если еще раз нажать это сочетание клавиш при открытом диалоговом окне, будут отображены недавно измененные файлы.

8. Быстрый просмотр источника классов, интерфейсов, перечислений, записей, методов, объявлений переменных и т. п.

Если вы читаете написанный вами тест и хотите быстро посмотреть определение метода, поместите курсор на название метода и нажмите Ctrl+Shift+I. Таким образом вам не придется переходить к другому классу, чтобы прочитать нужный код. Таким способом можно посмотреть определения классов, методов и любых других объектов. Функция так и называется — Quick Definition.

9. Изменение ширины и высоты диалогового окна

При вызове диалогового окна его высоту и ширину можно изменить с помощью сочетаний клавиш Ctrl+Shift+Left/Right/Up/Down (Windows и Linux) или ⇧⌘Left/Right/Up/Down (MacOS).

Обратите внимание: диалоговые окна не могут быть меньше определенного размера. Ограничения действуют независимо от того, меняете вы размер с помощью мыши или клавиатуры. Кроме того, сочетание клавиш не будет работать, если курсор находится в редактируемом элементе диалогового окна, например в текстовом поле или области текста.

10. Прокрутка текста в панели редактора без изменения положения курсора

Часто бывает нужно прокрутить панель редактора вверх или вниз, чтобы прочитать код. Если редактировать его при этом не нужно, то и сдвигать курсор из текущего положения вам не захочется.

Воспользуйтесь сочетаниями клавиш Ctrl+Up или Ctrl+Down (или ⌘Up/⌘Down) в панели редактора, чтобы прокрутить ее, не меняя положение курсора. Аналогичные сочетания клавиш Ctrl+Right и Ctrl+Left (или ⌘Left/⌘Right) можно использовать для прокрутки структуры каталогов вправо или влево в окне Project.

Дополнительный совет: чтобы читать код и перемещаться вверх и вниз в панели редактора было проще, можно свернуть методы, блоки кода или наборы операторов импорта, чтобы они занимали меньше места в окне редактора. Для этого нажмите Ctrl+Numpad – (Window и Linux) или ⌘Numpad – (macOS). Чтобы развернуть блок кода, нажмите Ctrl+Numpad + (Windows и Linux) или ⌘Numpad + (macOS). Это очень удобно при чтении или презентации кода, когда нужно, чтобы посторонний код не отвлекал вас и не занимал место на экране.

Если в классе много методов, а вам нужно прочитать код лишь для некоторых, сверните все методы, а затем разверните только нужные. Чтобы свернуть все методы, нажмите Ctrl+Shift+Numpad – (или ⇧⌘Numpad -). Чтобы развернуть весь код, нажмите Ctrl+Shift+Numpad + (или ⇧⌘Numpad +). При необходимости можно развернуть только отдельные блоки кода, чтобы читать код было удобнее.

Кроме того, бывает удобно перейти от одного объявления метода к другому с помощью сочетания клавиш Alt+Down (⌃Down) или Alt+Up (⌃Up).

В завершение

Независимо от того, чем вам удобнее пользоваться — мышкой или клавиатурой, — мы желаем вам удачной работы!

Ваша команда IntelliJ IDEA
The Drive to Develop

Автор оригинальной статьи:

Записки программиста

Краткая шпаргалка по сочетаниям клавиш в 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-группе.

Как изменить отступ уже написанному коду?

Столкнулся с проблемой перемещения кода. К примеру, я написал какой-то код и потом решил его добавить в цикл или в оператор и тд. Как мне весь имеющийся код переместить во внутрь того что я хочу. В ручную работать с BackSpace и Enter неудобно. Напрмер этот:

while pop < 5: for i in range(1): sys = random.randint(1, 10) en = int(input("Угадай: ")) if en == sys: pop = 0 print("Угадал") 

Как все это за раз переместить в While?

Отслеживать

13.7k 12 12 золотых знаков 43 43 серебряных знака 75 75 бронзовых знаков

задан 22 фев 2023 в 19:15

13 2 2 бронзовых знака

Vim: /for - переносим курсор на for . >> - смещаем блок под while . j>> - выравниваем блок под for . /if - переносим курсор на if . == - выравниваем строку с if . j2==2>> - выравниваем две строки под if . Следующий раз пишите какой вам нужен редактор.

Задать максимальную длину строки pycharm. Рассуждения о длине строки

При возникновении ошибки PEP 8: E501 line too long (139 > 120 characters) нужно либо разбить код на несколько строчек, либо задать большее значение максимальной длины.

Для задания максимальной длины строки в PyCharm нужно из меню перейти в "File -> Settings -> Editor -> Code Style -> General: Right margin (columns)".

Немного рассуждений об оптимальном количестве символов в строке

Я обычно задаю длину 160 символов - это удобно. Программисты на Python могут покритиковать меня за несоблюдение стандартов PEP8, но у меня есть свой аргумент в пользу увеличения длины до 120 - 160 символов вместо 80, принятых в стандарте.

Раньше до появления больших мониторов 80 символов было актуально. Столько и влезало: структура папок слева, а справа окно редактирования кода в файле. Сейчас большие мониторы позволяют больше символов умещать на строке. Но опять-таки здесь важна золотая середина: если сделать строку больше 180 символов, то будет тоже неудобно - придётся мотать головой влево вправо. Ну или зрачками, хотя в качестве упражнения для глаз это полезно 🙂

Некоторые товарищи говорят, что нужно писать строки в 80 символов, так как при слиянии веток в репозитории и разрешения конфликта файлов будет удобно делать само слияние, то есть просматривать три окна: изменения на сервере, локальные изменения и результат. Но это тоже спорный момент, потому что не все дисплеи способны показать три окна шириной как минимум в 80 символов, например, ноутбуки.

И ещё могу добавить, что с использованием функциональных возможностей языка чаще всего не представляется возможным уместить код в 80 символов.

В заключение хочу сказать, что не стоит строго придерживаться правила 80 символов - пишите как удобнее вам.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *