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