Software

GitHub Copilot for CLI for PowerShell


GitHub Subsequent has this cool challenge that’s principally Copilot for the CLI (command line interface). You’ll be able to join their waitlist on the Copilot for CLI site.

Copilot for CLI supplies three shell instructions: ??, git? and gh?

That is cool and all, however I take advantage of PowerShell. Seems these ?? instructions are simply router instructions to a bigger EXE referred to as github-copilot-cli. So in case you go “?? one thing” you are actually going “github-copilot-cli what-the-shell one thing.”

So this implies I ought to have the ability to to do the identical/comparable aliases for my PowerShell immediate AND change the injected immediate (have a look at me I am a immediate engineer) so as to add ‘use powershell to.’

Now it is not excellent, however hopefully it’s going to make the purpose to the Copilot CLI crew that PowerShell wants love additionally.

Listed below are my aliases. Be at liberty to counsel if these suck. Observe the addition of “person powershell to” for the ?? one. I’ll make a ?? and a p? the place one does bash and one does PowerShell. I may even have it use wsl.exe and shell out to bash. Numerous potentialities.

operate ?? { 
$TmpFile = New-TemporaryFile
github-copilot-cli what-the-shell ('use powershell to ' + $args) --shellout $TmpFile
if ([System.IO.File]::Exists($TmpFile)) {
$TmpFileContents = Get-Content material $TmpFile
if ($TmpFileContents -ne $nill) {
Invoke-Expression $TmpFileContents
Take away-Merchandise $TmpFile
}
}
}

operate git? {
$TmpFile = New-TemporaryFile
github-copilot-cli git-assist $args --shellout $TmpFile
if ([System.IO.File]::Exists($TmpFile)) {
$TmpFileContents = Get-Content material $TmpFile
if ($TmpFileContents -ne $nill) {
Invoke-Expression $TmpFileContents
Take away-Merchandise $TmpFile
}
}
}
operate gh? {
$TmpFile = New-TemporaryFile
github-copilot-cli gh-assist $args --shellout $TmpFile
if ([System.IO.File]::Exists($TmpFile)) {
$TmpFileContents = Get-Content material $TmpFile
if ($TmpFileContents -ne $nill) {
Invoke-Expression $TmpFileContents
Take away-Merchandise $TmpFile
}
}
}

It additionally then presents to run the command. Very clean.

Hope you prefer it. Numerous enjoyable stuff occurring on this house.




About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, guide, father, diabetic, and Microsoft worker. He’s a failed stand-up comedian, a cornrower, and a guide writer.

facebook
twitter
subscribe
About   Newsletter

Internet hosting By
Hosted in an Azure App Service










Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Check Also
Close
Back to top button