Поделиться через


Работа с интерактивным окном Python в Visual Studio

Visual Studio предоставляет интерактивное окно цикла чтения и оценки печати (REPL) для каждой из сред Python, что повышает производительность REPL, которую вы получаете с python.exe помощью команды в командной строке. Интерактивное окно Python позволяет вводить произвольный код Python и видеть немедленные результаты. Этот подход к программированию помогает изучать и экспериментировать с API-интерфейсами и библиотеками и интерактивно разрабатывать рабочий код для включения в проекты.

Снимок экрана: окно интерактивного цикла чтения и оценки печати Python (REPL) в Visual Studio 2022.

Снимок экрана: окно интерактивного цикла чтения и оценки печати Python (REPL) в Visual Studio.

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 для Mac не поддерживается. Дополнительные сведения см. в статье "Что происходит с Visual Studio для Mac?" Visual Studio Code в Windows, Mac и Linux хорошо работает с Python с помощью доступных расширений.

Открытие интерактивного окна

Существует несколько способов открыть интерактивное окно для среды Python.

  • В окне "Среды Python":

    1. Выберите "Просмотреть>другие среды Windows>Python", чтобы открыть окно "Среды Python" (или с помощью клавиши CTRL+K).+`>

    2. В окне "Среды Python" выберите среду и перейдите на страницу обзора среды.

    3. На странице "Обзор" выберите параметр "Открыть интерактивное окно".

    Снимок экрана: использование параметра

    Снимок экрана: использование параметра

  • В меню "Вид" в средстве Visual Studio выберите другое интерактивное окно Windows>Python:

    Снимок экрана, на котором показано, как использовать пункт меню

    Снимок экрана, на котором показано, как использовать пункт меню

  • В меню отладки на панели инструментов Visual Studio выберите "Выполнить <проект" | Файл> в Python Interactive или сочетание клавиш SHIFT+ALT+F5. Вы можете открыть интерактивное окно для файла запуска в проекте или для любого автономного файла:

    Снимок экрана, на котором показано, как использовать проект отладки в интерактивном меню Python в Visual Studio 2022.

    Снимок экрана, на котором показано, как использовать проект отладки в интерактивном меню Python в Visual Studio.

Другой вариант — отправить код, который вы пишете в редакторе Visual Studio, в интерактивное окно. Этот подход описан в разделе "Отправка кода в интерактивное окно".

Просмотр параметров интерактивного окна

Вы можете управлять различными аспектами интерактивного окна, например расположением файлов скриптов запуска и способом работы клавиш со стрелками в среде окна. Чтобы получить доступ к параметрам, выберите >"Параметры>Python>Interactive Windows":

Снимок экрана: параметры Интерактивного Windows Python в Visual Studio.

Параметры подробно описаны в параметрах интерактивного окна 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 можно использовать раскрывающийся список области модуля, чтобы изменить область:

Снимок экрана, на котором показано, как использовать раскрывающееся меню области модуля для изменения области в интерактивном окне в Visual Studio 2022.

Снимок экрана, на котором показано, как использовать раскрывающееся меню области модуля для изменения области в интерактивном окне.

После импорта модуля, напримерimport importlib, параметры отображаются в раскрывающемся меню области модуля, чтобы переключиться в любую область в этом модуле. Сообщение в интерактивном окне сообщает об изменении новой области, чтобы отслеживать, как вы попали в определенное состояние во время сеанса, просмотрив журнал команд.

Если ввести dir() команду в области, Visual Studio отображает допустимые идентификаторы в этой области, включая имена функций, классы и переменные. На следующем рисунке показан результат dir() команды для importlib области:

Снимок экрана: выходные данные в интерактивном окне для области импорта в Visual Studio 2022.

Снимок экрана: выходные данные в интерактивном окне для области импорта.

Отправка кода в интерактивное окно

Помимо работы непосредственно в интерактивном окне , вы можете отправить код в редактор Visual Studio в окно. Эта команда также удобна для итеративной или эволюционной разработки кода, включая тестирование кода по мере разработки.

  1. Откройте файл кода в редакторе Visual Studio и выберите некоторые или все коды.

  2. Щелкните правой кнопкой мыши выбранный код и выберите "Отправить в интерактивный" (или используйте сочетание клавиш CTRL+E, E).

    Снимок экрана: использование параметра

    Снимок экрана: использование параметра

Изменение и запуск кода

После отправки кода в интерактивное окно и просмотра выходных данных можно изменить код и проверить изменения. Используйте стрелки вверх и вниз, чтобы прокрутить код в журнале команд для окна. Измените код и запустите обновленный код, нажав клавиши CTRL+ВВОД.

При внесении изменений при нажатии клавиши ВВОД в конце полной инструкции кода Visual Studio выполняет код. Если инструкция кода не завершена, Visual Studio вставляет новую строку в окно.

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

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

При вставле кода из интерактивного окна в редактор Visual Studio удаляет командную строку >>> REPL и строку ... продолжения по умолчанию. Это поведение позволяет легко передавать код из окна в редактор.

Вы можете изменить поведение, используя параметр "Вставить", чтобы удалить запросы REPL для интерактивного окна:

  1. Выберите "Параметры">, чтобы открыть диалоговое окно "Параметры".

  2. Разверните раздел форматирования Python>в текстовом редакторе.>

  3. Снимите флажок "Вставить", чтобы удалить запросы REPL.

  1. Выберите "Параметры">, чтобы открыть диалоговое окно "Параметры".

  2. Разверните раздел "Расширенный" в текстовом редакторе >Python>.

  3. Снимите флажок "Вставить", чтобы удалить запросы REPL.

При очистке параметра символы запроса сохраняются в коде, вставленном из окна. Дополнительные сведения см. в разделе "Параметры— прочие параметры".

Просмотр поведения IntelliSense

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

Вы можете настроить поведение Intellisense с помощью параметров завершения :

  1. Выберите "Параметры">, чтобы открыть диалоговое окно "Параметры".

  2. Разверните раздел "Интерактивные окна Python>".

  3. Настройте параметры в группе "Режим завершения", например "Никогда не вычислять выражения " или "Скрыть предложения статического анализа".

Дополнительные сведения см. в разделе "Параметры " Интерактивные параметры Windows".