Udostępnij za pośrednictwem


Używanie programu Visual Studio Code do zdalnego edytowania i debugowania

W przypadku osób, które znają środowisko ISE, możesz pamiętać, że możesz uruchomić 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ć.

Warunki 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 programie Windows PowerShell.

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

Ważny

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 uruchomionej na platformie Azure. Proces jest identyczny w systemie Windows.

Edytowanie pliku lokalnego przy użyciu Open-EditorFile

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

Open-EditorFile foo.ps1 działa lokalnie

Notatka

Plik foo.ps1 musi już istnieć.

Z tego miejsca możemy:

  • Dodawanie punktów przerwania do rynny

    Dodawanie punktu przerwania do marginesu

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

    debugowanie lokalnego skryptu programu PowerShell

Podczas debugowania możesz wchodzić w interakcje z konsolą debugowania, sprawdzić zmienne w obszarze po lewej stronie oraz wszystkie inne standardowe narzędzia do 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.

Jest polecenie cmdlet, które to umożliwia. Jest to nazywane Enter-PSSession.

Krótko mówiąc:

  • Enter-PSSession -ComputerName foo rozpoczyna sesję za pośrednictwem usługi WinRM
  • Enter-PSSession -ContainerId foo i Enter-PSSession -VmId foo rozpoczynają sesję przez PowerShell Direct
  • Enter-PSSession -HostName foo rozpoczyna sesję za pośrednictwem protokołu SSH

Aby uzyskać więcej informacji, zapoznaj się z dokumentacją 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 [<hostname>] po lewej stronie monitu masz połączenie z sesją zdalną.

wywołaj Enter-PSSession, aby nawiązać połączenie z sesją zdalną

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

  1. Uruchom Open-EditorFile test.ps1 lub psedit test.ps1, aby otworzyć zdalny plik test.ps1

    Edytowanie skryptu w systemie zdalnym

  2. Edytuj plik/ustaw punkty przerwania

    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.