Бөлісу құралы:


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

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

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

Visual Studio имеет много режимов REPL Python для выбора:

REPL Description Редактирование Отладка Изображения
Стандарт RePL по умолчанию напрямую взаимодействует с Python Стандартное редактирование (многостроочное и многое другое) Да, через $attach нет
Debug По умолчанию REPL взаимодействует с отладчиком процесса Python Стандартное редактирование Только отладка нет
IPython REPL разговаривает с серверной частью IPython Команды IPython, удобство Pylab нет Да, встроенный в REPL
IPython без Pylab REPL разговаривает с серверной частью IPython Стандартный IPython нет Да, отдельное окно

В этой статье описываются стандартные иотладочные режимы REPL. Дополнительные сведения о режимах IPython см. в разделе "Использование IPython REPL".

Для подробного пошагового руководства с примерами, включая взаимодействие с редактором, например Ctrl+ВВОД, см. раздел "Использование интерактивного окна REPL".

Предпосылки

Visual Studio для Mac не поддерживается. Visual Studio Code в Windows, Mac и Linux хорошо работает с Python с помощью доступных расширений.

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

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

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

    1. Выберите "Вид>Другие окна>Среды Python", чтобы открыть окно "Среды Python" (или используйте сочетание клавиш Ctrl+K>Ctrl+).

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

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

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

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

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

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

Вы можете управлять различными аспектами интерактивного окна, например расположением файлов скриптов запуска и способом работы клавиш со стрелками в среде окна. Чтобы получить доступ к параметрам , выберите>"Параметры>Python>Interactive 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.

Снимок экрана, показывающий результат в интерактивном окне для области 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".

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

Обзор поведения IntelliSense

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

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

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

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

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

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