Использование 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 файл прямо в редакторе.
Заметка
Файл foo.ps1
уже должен существовать.
Оттуда мы можем:
Добавление точек останова в гутер
Нажмите клавишу F5, чтобы выполнить отладку скрипта 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>]
отображается слева от приглашения.
Теперь мы можем выполнить те же действия, что и при редактировании локального скрипта.
Запустите
Open-EditorFile test.ps1
илиpsedit test.ps1
, чтобы открыть удаленный файлtest.ps1
Редактировать файл/установить точки останова
Запуск отладки (F5) удаленного файла
Если у вас возникли проблемы, вы можете открыть обращения в репозитории GitHub .
PowerShell