Работа с интерактивным окном Python в Visual Studio
Visual Studio предоставляет интерактивное окно цикла чтения и оценки печати (REPL) для каждой из сред Python, что повышает производительность REPL, которую вы получаете с python.exe
помощью команды в командной строке. Интерактивное окно Python позволяет вводить произвольный код Python и видеть немедленные результаты. Этот подход к программированию помогает изучать и экспериментировать с API-интерфейсами и библиотеками и интерактивно разрабатывать рабочий код для включения в проекты.
Visual Studio имеет много режимов REPL Python для выбора:
REPL | Description | Редактирование | Отладка | Изображения |
---|---|---|---|---|
Стандартные | RePL по умолчанию напрямую взаимодействует с Python | Стандартное редактирование (многостроочное и многое другое) | Да, через $attach |
No |
Debug | По умолчанию REPL взаимодействует с отладчиком процесса Python | Стандартное редактирование | Только отладка | No |
IPython | REPL взаимодействует с серверной частью IPython | Команды IPython, средства Pylab | No | Да, встроенные в REPL |
IPython без Pylab | REPL взаимодействует с серверной частью IPython | Стандартный IPython | No | Да, в отдельном окне |
В этой статье описаны стандартный режим REPL и режим отладки REPL. Дополнительные сведения о режимах IPython см. в руководстве по использованию IPython в интерактивном окне.
Подробное пошаговое руководство по примерам, включая взаимодействие с редактором, например CTRL+ВВОД, см. в окне интерактивного REPL.
Необходимые компоненты
- Visual Studio в Windows, установленная с поддержкой рабочих нагрузок Python. Дополнительные сведения см. в статье "Установка поддержки Python в Visual Studio".
Visual Studio для Mac не поддерживается. Дополнительные сведения см. в статье "Что происходит с Visual Studio для Mac?" Visual Studio Code в Windows, Mac и Linux хорошо работает с Python с помощью доступных расширений.
Открытие интерактивного окна
Существует несколько способов открыть интерактивное окно для среды Python.
В окне "Среды Python":
Выберите "Просмотреть>другие среды Windows>Python", чтобы открыть окно "Среды Python" (или с помощью клавиши CTRL+K).+`>
В окне "Среды Python" выберите среду и перейдите на страницу обзора среды.
На странице "Обзор" выберите параметр "Открыть интерактивное окно".
В меню "Вид" в средстве Visual Studio выберите другое интерактивное окно Windows>Python:
В меню отладки на панели инструментов Visual Studio выберите "Выполнить <проект" | Файл> в Python Interactive или сочетание клавиш SHIFT+ALT+F5. Вы можете открыть интерактивное окно для файла запуска в проекте или для любого автономного файла:
Другой вариант — отправить код, который вы пишете в редакторе Visual Studio, в интерактивное окно. Этот подход описан в разделе "Отправка кода в интерактивное окно".
Просмотр параметров интерактивного окна
Вы можете управлять различными аспектами интерактивного окна, например расположением файлов скриптов запуска и способом работы клавиш со стрелками в среде окна. Чтобы получить доступ к параметрам, выберите >"Параметры>Python>Interactive Windows":
Параметры подробно описаны в параметрах интерактивного окна Python для Visual Studio.
Использование интерактивного окна
В интерактивном окне можно начать вводить код по строкам в командной строке >>>
REPL Python. При вводе каждой строки Visual Studio выполняет код, включая импорт необходимых модулей и определение переменных.
Когда Visual Studio обнаруживает, что строка кода не формирует полную инструкцию, запрос кода изменяет продолжение ...
REPL. Этот запрос указывает, что для завершения блока инструкций необходимо ввести дополнительные строки кода. Visual Studio ожидает закрытия синтаксиса перед попыткой выполнить блок кода.
При определении for
инструкции первая строка кода запускает for
блок и заканчивается двоеточием. Блок может состоять из одной или нескольких строк кода, определяющих задачи, которые должны выполняться во время for
цикла. При нажатии кнопки ВВОД в пустой строке интерактивное окно закрывает блок, и Visual Studio выполняет код.
Сравнение REPL командной строки
Интерактивное окно улучшает обычное взаимодействие с командной строкой Python REPL путем автоматического отступа операторов, относящихся к окружающей области. Оба подхода позволяют использовать клавиши со стрелками для прокрутки введенного кода. Интерактивное окно также предоставляет многострочные элементы, в то время как rePL командной строки предоставляет только отдельные строки.
Мета-команды
Интерактивное окно поддерживает несколько метакоманд. Все метакоманды начинаются с символа $
доллара. Вы можете ввести $help
список метакоманда и $help <command>
получить сведения об использовании для конкретной команды. В следующей таблице приведены метакоманды.
Метакоманда | Description |
---|---|
$$ |
Вставьте комментарий, который полезен для комментариев кода на протяжении всего сеанса. |
$cls , $clear |
Очистите содержимое окна редактора, но оставьте журнал и контекст выполнения нетронутым. |
$help |
Выводит список команд или справку по определенной команде. |
$load |
Загрузка команд из файла и выполнение до завершения. |
$mod |
Переключите текущую область на указанное имя модуля. |
$reset |
Сбросите среду выполнения в исходное состояние, но сохраните журнал. |
$wait |
Подождите по крайней мере указанное число миллисекундах. |
Вы также можете расширить команды с помощью расширений Visual Studio, реализуя и экспортируя IInteractiveWindowCommand
класс. Дополнительные сведения см. в статье (например, на сайте GitHub).
Переключение области интерактивного окна
По умолчанию в интерактивном окне проекта используется файл запуска проекта, как если бы вы запустили файл программы из командной строки. Для автономного файла для этого файла задана область. В любое время во время сеанса REPL можно использовать раскрывающийся список области модуля, чтобы изменить область:
После импорта модуля, напримерimport importlib
, параметры отображаются в раскрывающемся меню области модуля, чтобы переключиться в любую область в этом модуле. Сообщение в интерактивном окне сообщает об изменении новой области, чтобы отслеживать, как вы попали в определенное состояние во время сеанса, просмотрив журнал команд.
Если ввести dir()
команду в области, Visual Studio отображает допустимые идентификаторы в этой области, включая имена функций, классы и переменные. На следующем рисунке показан результат dir()
команды для importlib
области:
Отправка кода в интерактивное окно
Помимо работы непосредственно в интерактивном окне , вы можете отправить код в редактор Visual Studio в окно. Эта команда также удобна для итеративной или эволюционной разработки кода, включая тестирование кода по мере разработки.
Откройте файл кода в редакторе Visual Studio и выберите некоторые или все коды.
Щелкните правой кнопкой мыши выбранный код и выберите "Отправить в интерактивный" (или используйте сочетание клавиш CTRL+E, E).
Изменение и запуск кода
После отправки кода в интерактивное окно и просмотра выходных данных можно изменить код и проверить изменения. Используйте стрелки вверх и вниз, чтобы прокрутить код в журнале команд для окна. Измените код и запустите обновленный код, нажав клавиши CTRL+ВВОД.
При внесении изменений при нажатии клавиши ВВОД в конце полной инструкции кода Visual Studio выполняет код. Если инструкция кода не завершена, Visual Studio вставляет новую строку в окно.
Сохранение кода и удаление запросов
После завершения работы с кодом можно выбрать обновленный код в интерактивном окне и вставить его обратно в файл проекта, чтобы сохранить работу.
При вставле кода из интерактивного окна в редактор Visual Studio удаляет командную строку >>>
REPL и строку ...
продолжения по умолчанию. Это поведение позволяет легко передавать код из окна в редактор.
Вы можете изменить поведение, используя параметр "Вставить", чтобы удалить запросы REPL для интерактивного окна:
Выберите "Параметры">, чтобы открыть диалоговое окно "Параметры".
Разверните раздел форматирования Python>в текстовом редакторе.>
Снимите флажок "Вставить", чтобы удалить запросы REPL.
Выберите "Параметры">, чтобы открыть диалоговое окно "Параметры".
Разверните раздел "Расширенный" в текстовом редакторе >Python>.
Снимите флажок "Вставить", чтобы удалить запросы REPL.
При очистке параметра символы запроса сохраняются в коде, вставленном из окна. Дополнительные сведения см. в разделе "Параметры— прочие параметры".
Просмотр поведения IntelliSense
Интерактивное окно включает предложения IntelliSense на основе динамических объектов, в отличие от редактора кода, в котором IntelliSense основан только на анализе исходного кода. В результате предложения IntelliSense в интерактивном окне более правильны, особенно с динамически созданным кодом. Недостаток заключается в том, что функции с побочными эффектами, такими как сообщения ведения журнала, могут повлиять на ваш опыт разработки.
Вы можете настроить поведение Intellisense с помощью параметров завершения :
Выберите "Параметры">, чтобы открыть диалоговое окно "Параметры".
Разверните раздел "Интерактивные окна Python>".
Настройте параметры в группе "Режим завершения", например "Никогда не вычислять выражения " или "Скрыть предложения статического анализа".
Дополнительные сведения см. в разделе "Параметры " Интерактивные параметры Windows".