Zdalne edytowanie i debugowanie za pomocą programu Visual Studio Code

W przypadku osób, które znają środowisko ISE, możesz pamiętać, że możesz uruchomić polecenie psedit file.ps1 ze zintegrowanej konsoli, aby otworzyć pliki — lokalne lub zdalne — bezpośrednio w środowisku ISE.

Ta funkcja jest również dostępna w rozszerzeniu programu PowerShell dla programu VSCode. W tym przewodniku pokazano, jak to zrobić.

Wymagania wstępne

W tym przewodniku założono, że masz:

  • Zasób zdalny (np. maszyna wirtualna, kontener), do którego masz dostęp
  • Program PowerShell uruchomiony na nim i maszyna hosta
  • Program VSCode i rozszerzenie programu PowerShell dla programu VSCode

Ta funkcja działa w programie PowerShell i Windows PowerShell.

Ta funkcja działa również podczas nawiązywania połączenia z maszyną zdalną za pośrednictwem usług WinRM, PowerShell Direct lub SSH. Jeśli chcesz użyć protokołu SSH, ale używasz systemu Windows, zapoznaj się z wersją SSH Win32!

Ważne

Polecenia Open-EditorFile i psedit działają tylko w zintegrowanej konsoli programu PowerShell utworzonej przez rozszerzenie programu PowerShell dla programu VSCode.

Przykłady użycia

W tych przykładach pokazano zdalne edytowanie i debugowanie z komputera MacBook Pro do maszyny wirtualnej z systemem Ubuntu działającej na platformie Azure. Proces jest identyczny w systemie Windows.

Edytowanie plików lokalnych za pomocą Open-EditorFile

Po uruchomieniu rozszerzenia programu PowerShell dla programu VSCode i otwarciu konsoli zintegrowanej programu PowerShell możemy wpisać Open-EditorFile foo.ps1 lub psedit foo.ps1 otworzyć lokalny plik foo.ps1 bezpośrednio w edytorze.

Plik Open-EditorFile foo.ps1 działa lokalnie

Uwaga

Plik foo.ps1 musi już istnieć.

W tym miejscu możemy:

  • Dodawanie punktów przerwania do rynny

    Dodawanie punktu przerwania do rynny

  • Naciśnij klawisz F5, aby debugować skrypt programu PowerShell.

    debugowanie lokalnego skryptu programu PowerShell

Podczas debugowania możesz wchodzić w interakcje z konsolą debugowania, wyewidencjonować zmienne w zakresie po lewej stronie i wszystkie inne standardowe narzędzia debugowania.

Zdalne edytowanie plików za pomocą Open-EditorFile

Teraz przejdźmy do zdalnego edytowania i debugowania plików. Kroki są prawie takie same. Najpierw musimy wykonać tylko jedną czynność — wprowadź sesję programu PowerShell na serwerze zdalnym.

Aby to zrobić, należy uruchomić polecenie cmdlet. Nosi ono nazwę Enter-PSSession.

Krótko mówiąc:

  • Enter-PSSession -ComputerName foo uruchamia sesję za pośrednictwem usługi WinRM
  • Enter-PSSession -ContainerId foo i Enter-PSSession -VmId foo rozpoczynanie sesji za pomocą programu PowerShell Direct
  • Enter-PSSession -HostName foo rozpoczyna sesję za pośrednictwem protokołu SSH

Aby uzyskać więcej informacji, zobacz dokumentację dotyczącą metody Enter-PSSession.

Ponieważ przeprowadzamy komunikację zdalną z maszyną wirtualną z systemem Ubuntu na platformie Azure, używamy protokołu SSH.

Najpierw w konsoli zintegrowanej uruchom polecenie Enter-PSSession. Po wyświetleniu monitu po lewej stronie monitu masz połączenie z sesją [<hostname>] zdalną.

Wywoływanie Enter-PSSession w celu nawiązania połączenia z sesją zdalną

Teraz możemy wykonać te same czynności, co w przypadku edytowania skryptu lokalnego.

  1. Uruchamianie Open-EditorFile test.ps1 lub psedit test.ps1 otwieranie pliku zdalnego test.ps1

    Edytowanie skryptu w systemie zdalnym

  2. Edytowanie punktów przerwania pliku/zestawu

    Edytowanie i ustawianie punktów przerwania

  3. Rozpoczynanie debugowania (F5) pliku zdalnego

    Debugowanie skryptu zdalnego

Jeśli masz jakiekolwiek problemy, możesz otworzyć problemy w repozytorium GitHub.