2017-05-30 20 views
8

Poszukuję sposobu na zreplikowanie funkcjonalności $ psISE w VSCode, przynajmniej w zakresie wykrycia nazwy pliku z otwartym, aktywnym plikiem w edytorze.

W tle:

Próbuję przenieść do korzystania VSCode do edycji PowerShell ISE zamiast od VSCode jest przyszłość. Mamy problemy z migracją niektórych przepływów pracy (w szczególności podpisywania skryptów). W ISE utworzyłem funkcję korzystającą z $psise.currentfile.fullpath, dzięki czemu możemy łatwo podpisać plik, który jest otwarty w ISE. Chciałbym odtworzyć to dla vscode, ale nie znajduję żadnego sposobu, aby ustalić, co to jest otwarty plik. Zwykle uruchamiamy to interaktywnie (tzn. Testujemy w ISE, przenosimy to tam, gdzie chcemy przetestować na innym pudełku, i podpiszemy, wpisując po prostu Set-CoSAuthenticodeSignature, która jest niestandardową funkcją, która owija set-authenticodesignature, ale ma ustawione wartości domyślne i automatycznie znajduje plik, jeśli go nie określimy), więc nie chcemy ciągle wpisywać nazwy ścieżki, zwłaszcza, że ​​nie musimy teraz.

Dzięki!

Odpowiedz

4

Myślę, że nie jest jeszcze zaimplementowany (the $ psise). Możesz zgłosić problem w projekcie vscode-powershell dla VSCode. A similar one zostało już złożone.

Przynajmniej można użyć coś jak $context = [Microsoft.Powershell.EditorServices.Extensions.EditorContext]$psEditor.GetEditorContext()

Następnie można uzyskać dostęp do bieżącego pliku ... $context.CurrentFile.

Zobacz również this video za wprowadzenie ...

+0

To jest dokładnie to, co ja potrzebne! Dziękuję Ci! aby uzyskać ścieżkę pliku, faktycznie jest to '$ context.CurrentFile.Path'. Twoje rozwiązanie dostarcza mi więcej informacji, niż prosiłem, więc jest super! DZIĘKI! – Danny