Смотрите документацию моей функции с кодом Visual Studio - PullRequest
1 голос
/ 08 ноября 2019

Я новичок в коде Visual Studio и начинаю использовать его для разработки сценариев PowerShell.

Function declaration

Я вижу, что когда янаведя курсор на имя функции, я получаю обзор параметров функции, но когда я делаю это с моими собственными пользовательскими функциями, он этого не делает.

Как объявить документацию по моим функциям PowerShell, которая может отображаться в обзоре с помощью кода Visual Studio?

Я пытался сделать это:

<#
.Description
Get-Function displays the name and syntax of all functions in the session.
#>
function test([string]$print){}


<# Setup the working directories if they do not exist #>
If(!(Test-Path $WORKING_DIRECTORY)) {test}

Ноэто не похоже на работу.

Большое спасибо

Ответы [ 2 ]

2 голосов
/ 08 ноября 2019

Добавление .PARAMETER к описанию сработало у меня. Также обратите внимание, я полагаю, что вы должны сохранить и запустить скрипт один раз, чтобы показать его.

<#
.Description
Get-Function displays the name and syntax of all functions in the session.
.PARAMETER  
#>

function test([string]$print){Write-Host $print}

If(Test-Path $env:userprofile) {test -print "Test123"}

enter image description here

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-6

1 голос
/ 08 ноября 2019

Мой предыдущий ответ был неверным, хотя чтение справки на основе комментариев все еще является хорошей идеей для общего документирования ваших командлетов.

Для того, чтобы vscode мог знатьЧто касается ваших определений функций, функция должна быть определена в ее внутреннем хосте Powershell. Если вы можете открыть терминал Powershell Integrated, вы можете указать точечный источник (запустите скрипт, например, . myScript.ps1, чтобы прочитать определения функций. Вам может понадобиться , чтобы убедиться, что скрипт не был получен из точек перед запуском какого-либо кода для выполнения (в основном поместите код времени выполнения в блок if, проверяющий, был ли скрипт поставлен с точками, но оставьте определения функций вне этого условия).

После того, как скрипт был получен с точкамив терминале Powershell Integrated вы получите всплывающую подсказку об использовании так, как хотите. Чтобы сделать это «автоматическим», поставьте скрипт из $profile в исходное состояние, как показано в терминале vsvode.

Это не такЭто особенно идеально, и я надеюсь найти более рациональное решение, так как необходимость расставлять точки в каждом скрипте, с которым я работаю, громоздка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...