
complete
나는 일부 텍스트에 대해 가능한 모든 완성을 나열하는 bash의 기능과 동등한 기능을 찾고 있습니다 . 기본적으로 탭을 반복해서 누르면 얻을 수 있는 모든 옵션을 제공합니다. powertab과 같은 멋진 기능이 있다는 것을 알고 있지만 이를 기능의 일부로 사용할 수 있는 방법이 필요합니다.
내가 달성하려는 것은 멍청한 쉘을 실행하는 열등한 프로세스에서 탭 완성을 활성화하는 것입니다. stdin/stdout에서 보내고 받기 때문에 일반 탭 완성이 불가능합니다. 나는 일부 텍스트에 대한 모든 완성을 제공하는 호출할 수 있는 함수를 갖고 싶습니다. 그렇지 않으면 할 일이 없기 때문입니다.
답변1
모두가 알고 있듯이 모든 OS, 언어, 스크립트 도구에는 장점과 단점이 있습니다.
당신이 익숙하거나 원하는 것이 당신이 사용하는 다음 제품에 포함될 것이라고 기대해서는 안됩니다. X 또는 Y가 없으면 3rdP 추가 기능이 필요하거나 직접 작성해야 함을 의미합니다.
다양한 항목에 대해 PowerShell 콘솔 호스트와 ISE를 구성할 수 있으며, 그 밖의 모든 작업에는 자체 코드를 작성해야 합니다. 다음의 키보드 단축키를 알아보세요.PowerShell 콘솔 호스트, ISE그리고VSCode용.
PowerShell에는 '완전한' 스위치, cmdlet 등이 없습니다. PowerShell 콘솔 호스트에서 원하는 결과를 얻으려면 cmdlet 이름, 공백, 대시를 차례로 입력한 다음 Ctrl+스페이스바를 누릅니다.
Get-ChildItem -[CRTL+Spacebar]
ISE 및 VSCode의 편집기 창에는 IntelliSense 동적 팝업이 있습니다. ISE 및 VSCode 콘솔에서는 동일한 키보드 콤보가 작동합니다.
이 사용 사례까지는 ...
'내가 달성하려는 것은 멍청한 쉘을 실행하는 하위 프로세스에서 탭 완성을 활성화하는 것입니다. stdin/stdout에서 보내고 받기 때문에 일반 탭 완성이 불가능합니다. 나는 일부 텍스트에 대한 모든 완성을 제공하는 호출할 수 있는 함수를 갖고 싶습니다. 그렇지 않으면 더 이상 할 일이 없기 때문입니다.'
... PowerShell의 사용 가능한 언어 기능을 사용하여 직접 코딩해야 합니다. 예를 들면 다음과 같습니다.
또는 MS PowershellGalery.com에 존재하는 모듈 애드온을 사용합니다.
Find-Module -Name '*expansion*' | Format-Table -AutoSize
Find-Module -Name '*completer*' | Format-Table -AutoSize
Find-Module -Name '*tab*' | Format-Table -AutoSize
여기에서 비디오를 확인하세요: https://channel9.msdn.com/Blogs/trevor-powershell/Authoring-Custom-PowerShell-Intellisense-with-Trevor-Sullivan
사용 중인 PowerShell 버전에 따라 다른 Bash와 유사한 기능을 수행할 수 있는 다른 항목도 있습니다. 예를 들어:
Bash처럼 PowerShell 탭 완성 기능을 작동시키는 방법새 버전의 PowerShell에는 다음을 수행하는 데 사용할 수 있는 PSReadline이 포함되어 있습니다.
Set-PSReadlineKeyHandler -Key Tab -Function Complete
영구적으로 만들려면 다음 명령을
C:\Users\[User]\Documents\WindowsPowerShell\profile.ps1.