Навигация по коду в PyCharm
Горячие клавиши навигации по коду
Освоение горячих клавиш позволяет быстро перемещаться по коду и отказаться от мыши.
Ниже приведены наиболее часто используемые горячие клавиши навигации в повседневной разработке.
Основные горячие клавиши навигации
| Функция | Windows/Linux | macOS | Описание |
|---|---|---|---|
| Перейти к определению | Ctrl+B | Cmd+B | Перейти к определению переменной, функции или класса |
| Найти использования | Alt+F7 | Alt+F7 | Найти все места, где текущий символ используется в проекте |
| Глобальный поиск | Дважды нажмите Shift | Дважды нажмите Shift | Поиск файлов, классов, символов, действий и всего остального |
| Недавние файлы | Ctrl+E | Cmd+E | Открыть список недавно редактированных файлов |
| Вернуться к предыдущему местоположению | Ctrl+Alt+Left | Cmd+[ | Вернуться к предыдущей позиции курсора |
| Вперёд к следующему местоположению | Ctrl+Alt+Right | Cmd+] | Переместиться к следующей позиции курсора |
| Перейти к строке | Ctrl+G | Cmd+L | Введите номер строки для прямого перехода |
| Найти файл | Ctrl+Shift+N | Cmd+Shift+O | Поиск и открытие файлов по имени файла |
| Структура файлов | Ctrl+F12 | Cmd+F12 | Показать список классов и методов в текущем файле |
Двойное нажатие Shift для глобального поиска
Двойное нажатие Shift— самая мощная функция поиска в PyCharm.
Он может искать файлы, имена классов, символы, действия IDE и всё остальное, а также решать почти любые задачи навигации.

Использование:
- Быстро нажмите клавишу Shift дважды, чтобы открыть диалог Search Everywhere
- Введите ключевое слово, чтобы увидеть все подходящие результаты
- Нажмите Tab, чтобы переключаться между различными категориями поиска (Все, Классы, Файлы, Символы, Действия)
Двойное нажатие Shift — это сочетание, которое новичкам стоит выучить первым; как только вы с ним освоитесь, можно попрощаться с утомительным процессом поиска слой за слоем в дереве файлов проекта.
Ctrl+B Перейти к определению
Поместите курсор на имя переменной, функции или класса, затем нажмитеCtrl+B, чтобы перейти к его определению.
Если удерживать клавишу Ctrl, при наведении мыши на код также отображается эффект кликабельной ссылки.
Пример: в приведённом ниже коде поместите курсор наmy_funcи нажмите Ctrl+B, чтобы перейти к определению функции.
Пример
def my_func():
"""
Это пример функции из руководства Example
"""
print("ПРИМЕР - Изучение быстрой навигации в PyCharm")
# Вызовите функцию - Поместите курсор на my_func, нажмите Ctrl+B, чтобы перейти к определению
my_func()

Alt+F7 Find Usages
Поместите курсор на символ, который хотите найти, затем нажмитеAlt+F7, чтобы просмотреть все места в проекте, где есть ссылки на этот символ.
Результаты поиска отображаются в окне инструмента Find внизу; щёлкните элемент, чтобы перейти к соответствующему месту.
Форматирование кода
Соблюдение единого стиля кода — важная основа для командной работы.
PyCharm обеспечивает автоматическое форматирование кода; одним щелчком можно сделать код аккуратным и единообразным.
Форматирование с помощью сочетаний клавиш
ИспользуйтеCtrl+Alt+L(Windows/Linux) илиCmd+Option+L(macOS), чтобы отформатировать текущий файл.
Вы можете выделить часть кода и нажать сочетание клавиш, чтобы отформатировать только выделенную часть.
Настройка правил форматирования
Правила форматирования можно настроить вSettings > Editor > Code Style > Python.

Настраиваемые параметры включают:
- Размер отступа (по умолчанию 4 пробела)
- Отступ табуляцией или пробелами (рекомендуются пробелы)
- Максимальное количество символов в строке (по умолчанию 120)
- Количество пустых строк
- Правила сортировки операторов импорта
Сравнение до и после форматирования
До форматирования (неравномерные отступы, беспорядочные пустые строки):
Пример
def messy_function(x,y):
result=x+y
if result>10:
print("Результат больше 10")
print("Отступ в этой строке неверен")
name="example"
print("Тест",name)
После форматирования (единообразные отступы, стандартные пустые строки):
Пример
def messy_function(x, y):
result = x + y
if result > 10:
print("Результат больше 10")
print("Отступ в этой строке неверен")
name = "example"
print("Тест", name)
Нажимайте Ctrl+Alt+L, чтобы отформатировать код перед коммитом; это хорошая программистская привычка.
Комментарии TODO
Комментарии TODO — это привычка помечать специальными комментариями работу, которую ещё предстоит выполнить.
Добавление комментариев TODO
В коде Python используйте# TODOчтобы добавить комментарии TODO.
Пример
class UserManager:
"""Менеджер пользователей"""
def __init__(self, db_name="example_users"):
self.db_name = db_name
# TODO: Реализовать функциональность входа пользователя
def login(self, username, password):
pass
# TODO: Добавить логику проверки входных данных
# TODO: Рассмотреть использование bcrypt для шифрования паролей
def register(self, username, password):
"""Зарегистрировать нового пользователя"""
# Сейчас это упрощённая реализация, просто выводит сообщение
print(f"Регистрация пользователя: {username}")
# FIXME: Эта строка кода может дать сбой в особых случаях, и её нужно исправить
def delete_user(self, user_id):
"""Удалить пользователя"""
print(f"Удаление пользователя с ID: {user_id}")
# NOTE: Следующий метод зависит от внешнего API и требует доступа к сети
def sync_data(self):
"""Синхронизировать данные"""
pass
Типы меток TODO
PyCharm по умолчанию распознаёт следующие специальные метки комментариев:
| Label | Назначение |
|---|---|
| TODO | Отмечает работу, которую необходимо выполнить |
| FIXME | Отмечает проблемы, которые необходимо исправить |
| NOTE | Добавляет важные примечания |
Просмотр списка TODO
В области инструментальных окон щелкните меткуTODO, чтобы открыть инструментальное окно TODO.

Это окно отображает все комментарии TODO, FIXME и NOTE в проекте в одном месте и поддерживает фильтрацию по области.

Можно задать область фильтра:
- Текущий файл: показывает только комментарии TODO в текущем файле
- На основе области: фильтрует по пользовательской области
- Все места: показывает все комментарии TODO в проекте
Дважды щёлкните элемент TODO, чтобы перейти к соответствующей строке кода.
Умелое использование комментариев TODO может сделать процесс разработки более организованным и гарантировать, что ни один незавершённый пункт не будет упущен.
Функция закладок
Функция закладок позволяет отмечать важные места в коде для быстрого перехода.
Добавление закладок
Поставьте курсор на строку кода, которую хотите отметить, затем нажмитеF11, чтобы добавить анонимную закладку.
После успешного добавления слева от этой строки появится галочка.
нажмитеCtrl+F11Вы можете добавлять цифровые/буквенные закладки; в появившемся окне выберите 0-9 или A-Z в качестве номера закладки.
Пример
# Добавьте здесь закладку для быстрого доступа к ключевой конфигурации
DATABASE_CONFIG = {
"host": "localhost", # Нажмите F11, чтобы добавить закладку
"port": 5432, # Нажмите Ctrl+F11 и выберите номер 1, чтобы добавить нумерованную закладку
"name": "example_db",
"user": "admin",
}
# Определения ключевых констант; здесь можно добавить закладку
MAX_CONNECTIONS = 100 # Нажмите Ctrl+F11 и выберите номер 2, чтобы добавить нумерованную закладку
TIMEOUT_SECONDS = 30
Просмотр и управление закладками
нажмитеShift+F11Откройте окно списка закладок, чтобы просмотреть все добавленные закладки.
В окне списка закладок:
- Дважды щёлкните запись закладки, чтобы перейти к соответствующему месту.
- Щёлкните правой кнопкой мыши, чтобы удалить или переименовать закладку.
- Поддерживает фильтрацию категорий с помощью флажков (анонимные закладки и нумерованные закладки).
К нумерованным закладкам также можно получить доступ черезCtrl+Number keys, чтобы перейти напрямую, не открывая список закладок.
В больших проектах закладки — отличный инструмент для отслеживания множества важных мест в коде. Рекомендуется выработать привычку пользоваться ими.
Дополнительные советы по редактированию
Помимо вышеперечисленных функций, следующие советы по редактированию также могут повысить эффективность повседневной разработки.
Мультикурсорное редактирование
Удерживайте клавишуAltи щёлкайте мышью в нескольких местах, чтобы редактировать несколько строк кода одновременно.
Вы также можете использоватьCtrl+Shift+Alt+Click, чтобы разместить курсоры в любом месте.
Перемещение блоков кода
После выбора блока кода нажмитеCtrl+Shift+Up/Down, чтобы переместить весь блок кода вверх или вниз.
Не нужно вырезать и вставлять; одну строку кода или целый метод можно быстро переместить.
Дублирование всей строки
Установите курсор на строке (не нужно её выделять), затем нажмитеCtrl+D, чтобы скопировать всю строку.
Это очень часто используемое сочетание клавиш. Рекомендуется начать использовать его сразу.
Удаление всей строки
Установите курсор на строке, затем нажмитеCtrl+Y, чтобы удалить всю строку.
По сравнению с тем, чтобы сначала выделить, а затем нажать Delete, эта операция выполняется намного быстрее.
Краткая справочная сводка сочетаний клавиш
В следующей таблице приведены все сочетания клавиш, рассмотренные в этой главе. Рекомендуется распечатать или сохранить её, чтобы она всегда была под рукой.
| Действие | Windows/Linux | macOS |
|---|---|---|
| Перейти к определению | Ctrl+B | Cmd+B |
| Найти ссылки | Alt+F7 | Alt+F7 |
| Глобальный поиск | Дважды нажмите Shift | Дважды нажмите Shift |
| Недавние файлы | Ctrl+E | Cmd+E |
| Назад/Вперёд | Ctrl+Alt+Left/Right | Cmd+[/] |
| Перейти к строке | Ctrl+G | Cmd+L |
| Найти файл | Ctrl+Shift+N | Cmd+Shift+O |
| Структура файла | Ctrl+F12 | Cmd+F12 |
| Форматирование кода | Ctrl+Alt+L | Cmd+Option+L |
| Добавить закладку | F11 | F11 |
| Нумерованная закладка | Ctrl+F11 | Cmd+F11 |
| Список закладок | Shift+F11 | Shift+F11 |
| Копировать всю строку | Ctrl+D | Cmd+D |
| Удалить всю строку | Ctrl+Y | Cmd+Delete |
Не нужно запоминать все эти сочетания клавиш сразу. Рекомендуется начать с двойного нажатия Shift и отрабатывать по два-три каждый день.
После нескольких недель постоянного использования вы обнаружите, что эффективность вашего программирования качественно улучшилась.
Другие расширения