PowerShell problema completamento automatico
-
27-09-2019 - |
Domanda
Supponiamo che io ho il seguente cartella:. C:\[test]\x
, poi, quando all'interno della cartella [test]
, non posso usare il completamento scheda di PowerShell a tutti
Credo che la ragione di ciò è che il nome della cartella avrebbe bisogno di essere sfuggito a ´[test´]
(con zecche invertita, che causa problemi Markdown qui), in quanto il completamento fa quando la tabulazione da C:\
dentro.
Non mi interessa veramente il completamento scheda mancante quando all'interno della C:\
e digitando [t...
, ma vorrei usare il completamento scheda all'interno della cartella. C'è un modo per risolvere questo comportamento?
Soluzione
PowerShell e molte sue caratteristiche, in generale, non funzionano bene con i percorsi con simboli speciali, [
e simboli ]
in primo luogo. Non possiamo risolvere il nucleo PowerShell, ma siamo in grado di risolvere / sostituire alcune caratteristiche. TabExpansion è uno di loro. E 'solo una funzione globale che può essere sostituita con una migliore attuazione.
Diverse implementazioni TabExpansion personalizzato può essere trovato qui e là. Sto usando il mio. E 'agnostica host (almeno i suoi funziona bene con Console, ISE, e la mia host), è ragionevolmente semplice e tuttavia fornisce un sacco di miglioramenti. Il vostro problema particolare è stato risolto, anche.
Il codice di TabExpansion (dot-source in o semplicemente chiamare dal tuo profilo PowerShell): http://code.google.com/p/farnet /source/browse/trunk/PowerShellFar/TabExpansion.ps1
Alcune delle sue caratteristiche sono coperti da questo test: http: // codice. google.com/p/farnet/source/browse/trunk/PowerShellFar/Bench/Test/Test-TabExpansion-.ps1 (Il test funziona solo in ambiente speciale, non correre, basta dare un'occhiata a commenti nel codice per vedere che cosa può fare TabExpansion).