Lorsqu'on se trouve dans un dépôt Git, est-il possible d'ajouter la complétion de tabulation pour les branches à Powershell ? Par exemple :
PS> git checkout ma
TAB
aurait pour conséquence
PS> git checkout master
Lorsqu'on se trouve dans un dépôt Git, est-il possible d'ajouter la complétion de tabulation pour les branches à Powershell ? Par exemple :
PS> git checkout ma
TAB
aurait pour conséquence
PS> git checkout master
J'ai écrit ce petit "bijou" PS, si posh-git est trop.
Mettez-le dans votre Profil PowerShell pour pouvoir taper co
(avec un espace) et appuyez sur Tab pour déclencher l'achèvement et parcourir la liste des branches :
function co
{
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[ArgumentCompleter({
param($pCmd, $pParam, $pWord, $pAst, $pFakes)
$branchList = (git branch --format='%(refname:short)')
if ([string]::IsNullOrWhiteSpace($pWord)) {
return $branchList;
}
$branchList | Select-String "$pWord"
})]
[string] $branch
)
git checkout $branch;
}
MISE À JOUR : refactorisé pour retourner une liste de branches lorsque la complétion par tabulation est invoquée après un espace et qu'aucune chaîne partielle ne peut être trouvée. Retournera "master" s'il n'y a qu'une seule branche.
En bonus, saviez-vous que vous pouvez appeler TortoiseGit depuis le shell ?
function dif
{
TortoiseGitProc.exe /command:repostatus
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Je suppose que vous ne voulez pas utiliser bash (git bash sous Windows, je suppose) ? Vous pourriez quand même jeter un coup d'oeil à la complétion git bash comme point de départ du côté de git, pour voir les commandes git qu'il utilise pour obtenir ses listes de complétions possibles. Évidemment, la personnalisation de la complétion de l'onglet elle-même sera complètement différente...
0 votes
@Jefromi, je préfère ne pas garder un shell séparé ouvert juste pour git (bien que cela me morde parfois). Merci pour la suggestion, cependant. Je ne savais pas que cela était disponible dans bash.
0 votes
Pour ne pas avoir à gérer un shell séparé juste pour git, essayez ceci : github.com/chriswalz/bit . Notez que j'ai travaillé sur ce point, mais il convient bien à ce cas d'utilisation.