Disons que j'ai les fichiers suivants dans mon répertoire actuel:
buildBar.bat
buildFoo.bat
buildHouse.bat
Et je tape ce qui suit à mon invite de commande, ./bu
et alors TAB.
Dans Bash, il est étendu à ./build
Dans PowerShell, il est étendu à ./buildBar.bat
- le premier élément de la liste.
Dans Cmd, le comportement est le même que PowerShell.
Je préfère le comportement Bash - existe-t-il un moyen de faire en sorte que PowerShell se comporte comme Bash.
Les nouvelles versions de PowerShell incluent PSReadline, qui peut être utilisé pour ce faire:
Set-PSReadlineKeyHandler -Key Tab -Function Complete
Pour la rendre permanente, placez cette commande dans C:\Users\[User]\Documents\WindowsPowerShell\profile.ps1.
Il est désormais possible d'obtenir PowerShell pour effectuer une exécution de style Bash, en utilisant PSReadline.
Consultez l'article de blog Complétion de l'onglet de type Bash dans PowerShell.
Jetez un oeil ici, pas vraiment vos desiderata:
mais je pense que c'est la meilleure fonctionnalité d'extension d'onglets pour la console PowerShell !!!
Modifiez la fonction TabExpansion pour obtenir ce que vous voulez. N'oubliez pas que peut-être il se termine jusqu'à la fin si vous appuyez à nouveau sur la touche tab, la nouvelle suggestion est modifiée à partir de l'endroit où vous avez initialement appuyé sur la touche. Je préfère fortement le comportement réel, je veux que la ligne soit écrite aussi vite que possible. Enfin n'oubliez pas l'extension générique, par exemple: bu * h [Tab] se termine automatiquement en buildHouse.bat