Книга: Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3-е изд. дополненное и переработанное
Назад: А. Установка Python и диагностика проблем
Дальше: В. Помощь и поддержка

Б. Редакторы кода и IDE

36379.png

 

Программисты проводят много времени за написанием, чтением и редактированием кода в редакторе кода или интегрированной среде разработки (Integrated Development Environment, IDE). Очень важно, чтобы эта работа выполнялась по возможности результативно. Эффективный редактор должен реализовывать простые задачи: например, выделять структуру кода, чтобы вы могли обнаружить типичные ошибки во время работы, — но не до такой степени, чтобы это отвлекало вас от процесса. Кроме того, редактор должен поддерживать автоматическую расстановку отступов, маркеры для обозначения длины строки и комбинации клавиш для часто выполняемых операций.

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

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

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

Если у вас еще не установлен редактор кода или IDE, то я рекомендую использовать программу VS Code, и вот почему.

• Распространяется бесплатно в соответствии с лицензией с открытым исходным кодом.

• Поддерживается всеми основными операционными системами.

• Удобна для начинающих, но при этом достаточно мощная, поэтому многие профессиональные программисты используют ее в качестве основного редактора.

• Автоматически определяет версии установленных интерпретаторов Python и обычно не требует специальной настройки для запуска разрабатываемых программ.

• Имеет терминал, в котором вывод отображается рядом с исходным кодом.

• Поддерживает расширение Python, повышающее эффективность редактора в части написания и сопровождения кода на Python.

• Обладает гибкими настройками, поэтому вы можете настроить редактор в соответствии со своим стилем работы с кодом.

В этом приложении вы узнаете, как настроить VS Code под свои потребности. Вы также узнаете о некоторых сочетаниях клавиш, повышающих эффективность работы. Большая скорость набора кода в программировании не так важна, как думают многие, но знать функционал редактора и уметь эффективно его использовать крайне полезно.

При всем этом программа VS Code подойдет не всем. Если она по каким-то причинам не работает в вашей системе или затрудняет работу, то воспользуйтесь другими редакторами, которые могут подойти вам больше. В этом приложении приведено краткое описание некоторых распространенных редакторов кода и IDE, которые следует рассмотреть.

Эффективная работа в программе VS Code

В главе 1 вы установили программу VS Code и добавили расширение Python. В этом разделе вы узнаете о некоторых дополнительных настройках, а также о сочетаниях клавиш для эффективной работы с кодом.

Настройка программы VS Code

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

Например, если файл конфигурации находится в папке python_work, то внесенные в него изменения будут влиять только на файлы в этой папке (и вложенных в нее). Это удобно, так как вы можете настраивать отдельно конкретный проект, не затрагивая глобальные настройки.

Использование табуляций и пробелов

Чередование символов табуляции и пробелов в коде может создать трудно диагностируемые проблемы в программах. При работе в файле .py с установленным расширением Python программа VS Code автоматически настраивается на вставку четырех пробелов при нажатии клавиши Tab. Если вы работаете только со своим кодом и у вас установлено расширение Python, то, скорее всего, у вас никогда не возникнет проблем с табуляцией и пробелами.

Однако, возможно, ваша программа VS Code настроена неправильно. Кроме того, вы можете открыть файл стороннего разработчика, содержащий только табуляцию или смесь табуляции и пробелов. Если у вас возникли подозрения на этот счет, то взгляните на строку состояния в нижней части окна программы VS Code и щелкните кнопкой мыши на пункте Spaces (Пробелы) или Tab Size (Размер табуляции). Вы увидите раскрывающийся список, в котором можно переключиться между использованием табуляции и пробелов. Вы также можете изменить уровень отступа по умолчанию и преобразовать все отступы в файле в табуляцию или же пробелы.

Если вы просматриваете код и не уверены в том, из каких символов состоит отступ — из табуляции или пробелов, — то выделите несколько строк кода. Так невидимые пробельные символы станут видимыми. Пробелы будут представлены точками, а табуляция — стрелками.

ПРИМЕЧАНИЕ

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

Изменение цвета интерфейса

По умолчанию в программе VS Code используется темная тема интерфейса. Если вы хотите изменить ее, то откройте меню File (Файл) (Code (Код) в операционной системе macOS), затем выберите пункт Preferences (Настройки) и перейдите в раздел Color Theme (Цветовая тема). В раскрывающемся списке выберите подходящую тему интерфейса.

Выбор индикатора длины строки

В большинстве редакторов можно задать визуальный признак (обычно вертикальную линию), обозначающий рекомендуемую длину строки. В сообществе Python, согласно общепринятым правилам, строки могут иметь длину 79 символов и менее.

Чтобы задать эту настройку, откройте меню File (Файл) (Code (Код) в операционной системе macOS), затем выберите пункт Preferences (Настройки) и в появившемся диалоговом окне введите слово rulers. Вы увидите раздел настроек Editor: Rulers (Редактор: Rulers). Щелкните на ссылке Edit in settings.json (Редактировать в settings.json). В открывшемся файле добавьте в параметр editor.rulers следующее значение:

settings.json

    "editor.rulers": [

    80,

    ]

Так вы добавите в окно редактирования программы VS Code вертикальную линию в позиции 80-го символа. Вы можете добавить несколько вертикальных линий; например, если нужна дополнительная линия в позиции 120-го символа, то присвойте параметру значение [80, 120]. Если вы не видите вертикальные линии, то убедитесь, что сохранили файл настроек. Кроме того, в некоторых системах может потребоваться перезапуск программы VS Code, чтобы изменения вступили в силу.

Сокращение вывода

По умолчанию VS Code отображает вывод ваших программ в окне встроенного терминала. По умолчанию он хранит предыдущие команды, использовавшиеся для запуска файла. В большинстве случаев это идеальный вариант, но для новичков в программировании на Python вывод может показаться излишним.

Чтобы сократить вывод, закройте все вкладки, открытые в VS Code, а затем закройте саму программу. Снова запустите ее и откройте папку, в которой расположены файлы Python, над которыми вы работаете. К примеру, это может быть папка python_work, в которой сохранен файл hello_world.py.

Нажмите кнопку Run/Debug (Запуск/Отладка) (похожа на треугольник с маленьким жучком), а затем выберите пункт Create a launch.json File (Создать файл launch.json). Выберите варианты Python в появившихся запросах. В открывшийся файл launch.json внесите следующие изменения:

launch.json

{

    --пропуск--

    "configurations": [

        {

            --пропуск--

            "console": "internalConsole",

            "justMyCode": true

        }

    ]

}

Мы изменили настройки терминала с integratedTerminal на internalConsole. Сохра­нив файл настроек, откройте файл .py, например, hello_world.py, и запустите его, нажав Ctrl+F5. На панели вывода программы VS Code перейдите на вкладку Debug Console (Консоль отладки), если она еще не открыта. Вы увидите только вывод вашей программы, который будет обновляться при каждом запуске программы.

ПРИМЕЧАНИЕ

Консоль отладки доступна только для чтения. В ней нельзя взаимодействовать с файлами, содержащими функцию input(), с которой мы познакомились в главе 7. Когда вам понадобится работать с такими программами, вы можете либо откатить настройки консоли до стандартного значения integratedTerminal, либо запускать эти программы в отдельном окне терминала, как описано в разделе «Запуск программ Python из терминала» в главе 1.

Изучение дополнительных настроек

Вы можете настроить программу VS Code различными способами, чтобы работать более эффективно. Чтобы изучить доступные настройки, откройте меню File (Файл) (Code (Код) в операционной системе macOS), а затем выберите пункт Preferences (Настройки). Вы увидите список Commonly Used (Часто используемые); щелкните кнопкой мыши на любом из подзаголовков, чтобы увидеть распространенные способы изменения настроек программы VS Code. Не пожалейте времени и посмотрите, есть ли среди них те, которые помогут вам работать в редакторе эффективнее, но не зацикливайтесь на его настройке и не откладывайте изучение Python на потом!

Горячие клавиши в VS Code

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

Существует громадное количество сочетаний клавиш, поэтому будет неразумно давать здесь их полное описание. В этом подразделе я расскажу лишь о тех из них, которые гарантированно пригодятся вам при разработке программ на Python. Если же в итоге вы будете использовать не VS Code, а другой редактор, то обязательно изучите сочетания клавиш для решения тех же задач в выбранной вами программе.

Создание и удаление отступов кода

Чтобы сделать отступ для нескольких строк кода, выделите их и нажмите сочетание клавиш Ctrl+] или +] в macOS. Чтобы удалить отступ, выделите строки кода и нажмите Ctrl+[ или +[ в macOS.

Комментирование кода

Чтобы временно отключить блок кода, вы можете выделить его и закомментировать; тогда интерпретатор Python будет его игнорировать. Выделите фрагмент кода, который хотите проигнорировать, и нажмите Ctrl+/ или +/ в macOS. Выбранные строки кода будут закомментированы с помощью символов решетки (#), имеющих такой же уровень отступа, как и строка кода; таким образом указывается, что это не обычные комментарии. Чтобы раскомментировать блок кода, выделите его и вновь нажмите то же сочетание клавиш.

Перемещение кода вверх/вниз

По мере усложнения программ вам может потребоваться переместить блок кода в файле вверх или вниз. Для перемещения вверх выделите нужный код и нажмите сочетание клавиш Alt+ или Option+ в macOS. Та же комбинация клавиш со стрелкой переместит код в файле вниз.

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

Сокрытие обозревателя файлов

Встроенный обозреватель файлов в программе VS Code очень удобен. Однако во время написания кода он может отвлекать и занимать много пространства на небольшом экране. Сочетание клавиш Ctrl+B или +B в macOS отображает/скрывает панель обозревателя файлов.

Дополнительные сочетания клавиш

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

Вы можете просмотреть все сочетания клавиш, используемые в программе VS Code, открыв меню File (Файл) (Code (Код) в операционной системе macOS), выбрав пункт Preferences (Настройки), а затем перейдя в раздел Keyboard Shortcuts (Сочетания клавиш). Вы можете воспользоваться поиском, чтобы найти конкретное сочетание клавиш, или прокрутить список, чтобы найти сочетания, которые помогут вам работать более эффективно.

Помните, что лучше сосредоточиться на коде, над которым вы работаете, и сократить время неэффективного использования инструментов.

Другие редакторы кода и IDE

Многие разработчики пользуются другими редакторами кода; наверняка вы не раз услышите о них. Как правило, такие редакторы настраиваются по тем же принципам, что и VS Code. Ниже приведена небольшая подборка редакторов кода, с которыми вы можете столкнуться.

IDLE

IDLE — редактор кода, добавленный в дистрибутив Python. В работе он чуть менее интуитивен, чем другие аналогичные программы, но часто упоминается в других учебниках, предназначенных для начинающих, поэтому вам стоит познакомиться с ним.

Geany

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

Если вы считаете, что программа VS Code излишне сложна для вас, то попробуйте использовать Geany.

Sublime Text

Sublime Text — еще один редактор с простым интерфейсом, который рекомендуется использовать, если VS Code кажется вам перегруженным. Интерфейс Sublime Text очень понятный и известен хорошей работой даже с очень большими файлами. Это редактор, который не будет вас отвлекать и позволит сосредоточиться на коде, который вы пишете.

Существует неограниченная по времени использования пробная версия Sublime Text, но редактор не является бесплатным и не распространяется как открытый исходный код. Если эта программа придется вам по душе, то вы можете приобрести лицензию на ее использование. Заплатить нужно будет один раз; лицензия пожизненная, а не в виде подписки.

Emacs и Vim

Многие опытные программисты отдают предпочтение Emacs или Vim. Эти два популярных редактора спроектированы так, чтобы пользователю не приходилось отрывать руки от клавиатуры. Это означает, что опытный пользователь может читать, писать и редактировать код весьма эффективно. С другой стороны, для освоения этих редакторов придется основательно потрудиться. Vim входит в поставку большинства систем Linux и macOS, причем как Emacs, так и Vim могут выполняться полностью в режиме терминала. Поэтому они часто используются для написания кода на серверах через удаленный терминальный сеанс.

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

PyCharm

Среда PyCharm популярна среди программистов Python, поскольку была создана специально для работы с этим языком. Полная версия требует платной подписки, но существует и бесплатная версия PyCharm Community Edition, которую многие разработчики считают полезной.

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

Jupyter Notebook

Jupyter Notebook отличается от традиционных редакторов кода или IDE тем, что это веб-приложение, собирающее проекты из блоков. Они могут быть как программными, так и текстовыми. В текстовых может содержаться разметка Markdown, что позволяет добавлять в них простое форматирование.

Документы Jupyter Notebook были разработаны для применения Python в научных приложениях, но с того времени развивались и нашли применение в широком спектре ситуаций. Вместо того чтобы добавлять обычные комментарии в файл .py, вы вставляете между частями кода понятный текст с несложным форматированием: заголовками, маркированными списками и гиперссылками. Каждый блок кода может выполняться независимо от других, что позволяет тестировать небольшие части программы; также можно выполнить все блоки одновременно. Каждый блок имеет собственную область вывода, причем эти области можно включать и отключать по мере надобности.

Документы Jupyter Notebook могут создавать некоторую путаницу из-за взаимодействия между ячейками. Функция, определенная в одной ячейке, становится доступной для других ячеек. В большинстве случаев это удобно, но возможны и недоразумения — например, в больших документах, или если вы недостаточно хорошо понимаете, как работает среда Notebook.

Каждый разработчик, занимающийся научной работой или задачами обработки данных на Python, почти неизбежно столкнется с Jupyter Notebook в какой-то момент своей деятельности.

Назад: А. Установка Python и диагностика проблем
Дальше: В. Помощь и поддержка