Add an on snippet event to psEditor API
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
La issue non indica file, test o punti di ingresso dell’implementazione. Inizia individuando l’API di psEditor e il percorso esistente per la gestione degli snippet, quindi chiarisci se l’obiettivo è un evento, snippet basati su comandi o entrambi. Il lavoro completato dovrebbe includere un contratto di handler definito per snippet AST, variabili e metadati, con comportamento e test che coprano l’ambito scelto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
It'd be nice to have an event we could hook into when a snippet is used. It would be great if the
the ast of the snippet, the variables, and maybe snippet metadata like name was passed to the handler.
Alternatively (or additionally) allow editor commands to act like snippets (e.g. set "variables" to
tab to, etc.) This would enable dynamic snippets that can expand or shape the snippet based on command
output.
A very simple mock up:
/* VSCode snippet example */
"Comment Help with PowerShell Output": {
"prefix": "CommentHelp",
"body": [
"<#",
".SYNOPSIS",
" ${Short description}",
".DESCRIPTION",
" ${Long description}",
".NOTES",
" Date: ${PowerShell1:Get-Date -Format MM-dd-yyyy}",
".LINK",
" ${PowerShell2:Get-Command -Module \\$MyInvocation.MyCommand.Module.Name}",
"#>"
]
}
# PowerShell event handler.
$eventHandler = {
param($snippetVariables)
foreach ($variable in $snippetVariables) {
if ($variable.Name.StartsWith('PowerShell')) {
$script = [scriptblock]::Create($variable.Value)
$output = & $script
$psEditor.GetEditorContext().CurrentFile.InsertText($output, $variable.Range)
}
}
}
<#
.SYNOPSIS
Short description
.DESCRIPTION
Long description
.NOTES
Date: 04-12-2017
.LINK
Get-Function1
Get-Function2
Get-Function3
#>
- Lingua principale
- C#
- Stelle
- 767
- Fork
- 266
- Merge medio
- 3g 16h
- PR unite (30g)
- 1
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di PowerShell/PowerShellEditorServices
-
[Bug] None of the string overloads of `EditorExtensionServiceProvider.GetService()` work on .NET. Aperta
PowerShell/PowerShellEditorServices#2331 · 1 reazione · 2 assegnatari ·
-
Area-Language Server Issue-Enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
PowerShell/PowerShellEditorServices#2315 · 1 commento ·
-
Area-Debugging Issue-Enhancement
PowerShell/PowerShellEditorServices#2294 · 1 reazione · 2 assegnatari ·
-
Issue-Bug Needs: Triage
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
PowerShell/PowerShellEditorServices#2293 · 1 commento ·
-
PowerShell/PowerShellEditorServices#2282 · 1 commento · 1 reazione · 2 assegnatari ·
Tutte le issue di PowerShell/PowerShellEditorServices
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
nightscout/nocturne#1425 ·
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
cake-build/cake#5024 ·
-
Frontend status/draft TechnicalDebt
Difficoltà 2/5 1-2 giorni Idoneità per principianti 75/100
Altinn/altinn-auth#4143 ·