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


New-IseSnippet

Создает фрагмент кода ISE для Windows PowerShell.

Синтаксис

Default (По умолчанию)

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. Создание фрагмента справки Comment-Based

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

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

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

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

$M = @'
param
(
  [Parameter(Mandatory=$true)]
  [string[]]
  $<ParameterName>
)
'@

$snippet = @{
    Text = $M
    Title = 'Mandatory'
    Description = 'Adds a mandatory function parameter.'
    Author = 'Patti Fuller, Fabrikam Corp.'
    Force = $true
}
New-ISESnippet @snippet

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

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

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

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

Параметры

-Author

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

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-CaretOffset

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

Свойства параметров

Тип:Int32
Default value:0
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Description

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

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:2
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Force

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

Свойства параметров

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Text

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

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:3
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Title

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

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:1
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

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

None

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

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

None

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

Примечания

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

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

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

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