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


Использование Visual Studio Code для удаленного редактирования и отладки

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

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

Необходимые условия

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

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

Эта функция работает в PowerShell и Windows PowerShell.

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

Важный

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

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

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

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

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

Open-EditorFile foo.ps1 работает локально

Заметка

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

Оттуда мы можем:

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

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

  • Нажмите клавишу F5, чтобы выполнить отладку скрипта PowerShell.

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

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

Удаленное редактирование файлов с помощью Open-EditorFile

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

Существует командлет, чтобы это сделать. Это называется Enter-PSSession.

Короче говоря:

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

Для получения дополнительной информации см. документацию по Ввод-PSSession.

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

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

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

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

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

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

  2. Редактировать файл/установить точки останова

    Изменить и задать точки останова

  3. Запуск отладки (F5) удаленного файла

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

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