Удаленные редактирование и отладка в Visual Studio Code

Каждый пользователь, знакомый с ISE, может вспомнить, как запускать psedit file.ps1 из встроенной консоли, чтобы открыть локальные или удаленные файлы прямо в интегрированной среде сценариев.

Эта функция также доступна в расширении PowerShell для VSCode. В этом руководстве показано, как это сделать.

Необходимые компоненты

В этом руководстве предполагается, что у вас есть:

  • удаленный ресурс (например, виртуальная машина, контейнер), к которому у вас есть доступ;
  • PowerShell, работающий на нем и на основном компьютере;
  • VSCode и расширение PowerShell для VSCode.

Эта возможность поддерживается в PowerShell и Windows PowerShell.

Эта возможность также работает при подключении к удаленному компьютеру с помощью WinRM, PowerShell Direct или SSH. Если вы хотите использовать SSH, но используете Windows, ознакомьтесь с версией SSH Win32.

Внимание

Команды Open-EditorFile и psedit работают только в интегрированной консоли PowerShell, созданной с помощью расширения PowerShell для VSCode.

Примеры использования

В этих примерах демонстрируется удаленное редактирование и отладка виртуальной машины Ubuntu, которая запущена в Azure, с MacBook Pro. Процесс для Windows идентичен.

Редактирование локального файла с помощью открытого редактора файлов

С помощью расширения PowerShell для VSCode и открытой интегрированной консоли PowerShell напечатайте Open-EditorFile foo.ps1 или psedit foo.ps1, чтобы открыть локальный файл foo.ps1 прямо в редакторе.

Файл foo.ps1 в открытом редакторе файлов работает локально

Примечание.

Файл foo.ps1 должен уже существовать.

После этого вы можете сделать следующее.

  • Добавить точки останова во внутреннее поле.

    Добавление точки останова в переплет

  • Нажать клавишу F5 для отладки сценария PowerShell.

    отладка локального скрипта PowerShell

Во время отладки можно взаимодействовать с консолью отладки, ознакомиться с переменными в левой области и другими стандартными средствами отладки.

Редактирование удаленного файла с помощью открытого редактора файлов

Теперь давайте приступим к редактированию и отладке удаленного файла. Шаги практически одинаковы, но в первую очередь нам нужно начать сеанс PowerShell на удаленном сервере.

Для этого существует командлет. Оно называется Enter-PSSession.

Иными словами:

  • Enter-PSSession -ComputerName foo запускает сеанс через WinRM;
  • Enter-PSSession -ContainerId foo и Enter-PSSession -VmId foo начинают сеанс с помощью PowerShell Direct;
  • Enter-PSSession -HostName foo запускает сеанс через SSH.

Дополнительные сведения см. в документации Enter-PSSession.

Так как мы удаленно работаем с виртуальной машиной Ubuntu в Azure, мы используем SSH.

Сначала в интегрированной консоли запустите Enter-PSSession. Вы подключены к удаленному сеансу, когда [<hostname>] отображается слева от командной строки.

Вызовите Enter-PSSession, чтобы подключиться к удаленному сеансу

Теперь мы можем выполнить те же действия, что и при редактировании локального скрипта.

  1. Чтобы открыть удаленный файл test.ps1, запустите Open-EditorFile test.ps1 или psedit test.ps1.

    Изменение скрипта в удаленной системе

  2. Отредактируйте файл, установите точки останова.

    Редактирование и установка точек останова

  3. Начните отладку (F5) удаленного файла.

    Отладка удаленного скрипта

Если у вас возникли проблемы, вы можете писать вопросы в репозитории GitHub.