Powershell タブ展開関数は、これまでの行と「現在の単語」の 2 つのパラメーターを取ります。関数は、現在の単語の置換を返す必要があります。
実験から、現在の単語が引用符なしで関数に渡され、返された単語が元と同じ引用符で行に挿入されるように思えます。たとえば、次のように入力すると
PS> foo "bar"<TAB>
タブ展開関数に (引用符なしで) 渡された文字列を取得しbar
、返された値を二重引用符で囲んで行に戻します。
この動作は、場合によっては問題を引き起こします。たとえば、ファイル名の部分的な補完では、C:\Pro<TAB>
get"C:\Program Files"
と入力する場合がありますが、さらに展開するには最後の引用符を削除する必要があります (たとえば、入力\Micro
してから TAB をもう一度押すなど)。
また、引用符を含む展開された値を返すのは非常に面倒です:
PS> function TabExpansion($line, $lastword) {
PS> "looks like '" + $lastword + "' when quoted"
PS> }
PS>
PS> Silly 'example'<TAB>
これにより、不均衡な引用符が発生します。
この動作を回避または回避する方法はありますか?
ポール。