Tuesday, June 25, 2024
HomeSoftware DevelopmentGitHub Copilot for CLI for PowerShell

GitHub Copilot for CLI for PowerShell



GitHub Subsequent has this cool venture that’s mainly Copilot for the CLI (command line interface). You may join their waitlist on the Copilot for CLI web site.

Copilot for CLI gives 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 if you happen to go “?? one thing” you are actually going “github-copilot-cli what-the-shell one thing.”

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

Now it isn’t excellent, however hopefully it’ll make the purpose to the Copilot CLI group that PowerShell wants love additionally.

Listed here are my aliases. Be happy to recommend if these suck. Notice the addition of “consumer powershell to” for the ?? one. I could 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. A lot of prospects.

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 affords to run the command. Very clean.

image

Hope you prefer it. A lot of enjoyable stuff taking place on this area.




About Scott

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

facebook
twitter
subscribe
About   Publication

Internet hosting By
Hosted in an Azure App Service










RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments