Поделиться через


New-IseSnippet

Создает фрагмент кода интегрированной среды сценариев Windows PowerShell.

Синтаксис

New-IseSnippet
   [-Title] <String>
   [-Description] <String>
   [-Text] <String>
   [-Author <String>]
   [-CaretOffset <Int32>]
   [-Force]
   [<CommonParameters>]

Описание

Командлет New-ISESnippet создает повторно используемый текст "фрагмент" для isE Windows PowerShell. Фрагменты кода можно использовать для добавления текста в области сценариев или команд интегрированной среды сценариев Windows PowerShell. Этот командлет доступен только в интегрированной среде сценариев Windows PowerShell.

Начиная с Windows PowerShell 3.0, интегрированная среда сценариев Windows PowerShell содержит набор встроенных фрагментов кода. Командлет New-ISESnippet позволяет создавать собственные фрагменты кода для добавления в встроенную коллекцию. Можно просмотреть, изменить, добавить, удалить и совместно использовать файлы фрагментов кода и включать их в модули Windows PowerShell. Чтобы просмотреть фрагменты кода в среде сценариев Windows PowerShell, в меню "Изменить" выберите "Пуск фрагментов" или нажмите клавиши CTRL+J.

Командлет New-ISESnippet создает <Title>.Snippets.ps1xml файл в каталоге $HOME\Documents\WindowsPowerShell\Snippets с заданным заголовком. Чтобы включить файл фрагмента кода в модуль, который вы создаете, добавьте этот файл в подкаталог Snippets вашего модуля.

Не удается использовать созданные пользователем фрагменты кода в сеансе, в котором политика выполнения ограничена или AllSigned.

Этот командлет впервые появился в Windows PowerShell 3.0.

Примеры

Пример 1. Создание фрагмента справки на основе комментариев

New-IseSnippet -Title Comment-BasedHelp -Description "A template for comment-based help." -Text "<#
    .SYNOPSIS

    .DESCRIPTION
    .PARAMETER  <Parameter-Name>
    .INPUTS
    .OUTPUTS
    .EXAMPLE
    .LINK
#>"

Эта команда создает фрагмент Comment-BasedHelp для интегрированной среды сценариев Windows PowerShell. Он создает файл с именем Comment-BasedHelp.snippets.ps1xml в каталоге $HOME\Documents\WindowsPowerShell\Snippetsфрагментов кода пользователя.

Пример 2. Создание обязательного фрагмента кода

$M = @'
Param
(
  [parameter(Mandatory=$true)]
  [String[]]
  $<ParameterName>
)
'@

New-ISESnippet -Text $M -Title Mandatory -Description "Adds a mandatory function parameter." -Author "Patti Fuller, Fabrikam Corp." -Force

В этом примере создается фрагмент кода с именем "Обязательный для сценариев сценариев Windows PowerShell". Первая команда сохраняет фрагмент текста в переменной $M . Вторая команда использует New-ISESnippet командлет для создания фрагмента кода. Команда использует параметр Force для перезаписи предыдущего фрагмента с тем же именем.

Пример 3. Копирование обязательного фрагмента из папки в целевую папку

Copy-Item "$HOME\Documents\WindowsPowerShell\Snippets\Mandatory.Snippets.ps1xml" -Destination "\\Server\Share"

Эта команда использует командлет для копирования обязательного фрагмента кода из папки, в которой New-ISESnippet он помещает Copy-Item его в общую папку Server\Share.

Параметры

-Author

Задает автора фрагмента кода. Поле автора отображается в файле фрагмента кода, но не отображается при выборе имени фрагмента в интегрированной среде сценариев Windows PowerShell.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-CaretOffset

Указывает символ текста фрагмента кода, на который этот командлет помещает курсор. Введите целое число, представляющее позицию курсора (значение 1 представляет первый символ текста). Значение по умолчанию — 0 (ноль) — помещает курсор непосредственно перед первым символом в тексте. Этот параметр создает отступ для текста фрагмента.

Тип:Int32
Position:Named
Default value:0
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Description

Указывает описание фрагмента кода. Значение описания отображается при выборе имени фрагмента в интегрированной среде сценариев Windows PowerShell. Этот параметр является обязательным.

Тип:String
Position:2
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Force

Указывает, что этот командлет перезаписывает файлы фрагментов с тем же именем в том же расположении. По умолчанию New-ISESnippet не перезаписывает файлы.

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Text

Указывает текстовое значение, которое добавляется при выборе фрагмента кода. Текст фрагмента отображается при выборе имени фрагмента в интегрированной среде сценариев Windows PowerShell. Этот параметр является обязательным.

Тип:String
Position:3
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Title

Указывает заголовок или имя фрагмента. Заголовок также выступает в качестве имени файла фрагмента. Этот параметр является обязательным.

Тип:String
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

None

Невозможно передать объекты в этот командлет.

Выходные данные

None

Этот командлет не возвращает выходные данные.

Примечания

New-IseSnippet сохраняет новые созданные пользователем фрагменты кода в неподписанных файлах PS1xml. Таким образом, Windows PowerShell не может добавлять их в сеанс, в котором политика выполнения имеет значение AllSigned или Restricted. В сеансе Restricted или AllSigned можно создавать, получать и импортировать созданные пользователем фрагменты, но их нельзя использовать в сеансе.

Если вы используете New-IseSnippet командлет в сеансе Restricted или AllSigned , создается фрагмент кода, но при попытке Windows PowerShell добавить созданный фрагмент кода в сеанс появится сообщение об ошибке. Чтобы использовать новый фрагмент кода (и другие созданные пользователем неподписанные фрагменты), измените политику выполнения и перезагрузите интегрированную среду сценариев Windows PowerShell.

Дополнительные сведения о политиках выполнения Windows PowerShell см. в about_Execution_Policies.

  • Чтобы изменить фрагмент кода, измените файл фрагмента кода. Вы можете редактировать файлы фрагментов в области сценариев isE Windows PowerShell.
  • Чтобы удалить добавленный фрагмент кода, удалите файл фрагмента кода.
  • Вы не можете удалить встроенный фрагмент кода, но можно скрыть все встроенные фрагменты с помощью $psise. Команда Options.ShowDefaultSnippets=$false".
  • Вы можете создать фрагмент, имеющий то же имя, что и встроенный фрагмент кода. Оба фрагмента отображаются в меню фрагментов интегрированной среды сценариев Windows PowerShell.