J'utilise Ubuntu 18.04 et édite la majeure partie de mon code à l'aide de VisualStudio Code. Pour ouvrir un fichier depuis le terminal, je lance la commande
code fileName.Java
Une fois le code Java compilé, le fichier .class associé se trouve également dans le répertoire. Cela signifie que la prochaine fois que j'ouvrirai le fichier et que j'essaierai de compléter automatiquement la commande à l'aide de "Tab", cela se terminera automatiquement.
code fileName.
Pourriez-vous me montrer comment modifier les options de la commande code
de sorte que, lorsque je tape
code f
puis appuyez sur la touche Tab, elle se complétera automatiquement.
code fileName.Java
plutôt que juste
code fileName.
Ajoutez ceci dans votre .bashrc
:
complete -f -X '!*.Java' code
et source ~/.bashrc
il une fois.
-f
complétera uniquement les fichiers f .-X pattern
permet de définir un motif personnalisé code
et toute complétion ne correspondant pas au modèle est supprimée de la liste de complétion.La meilleure façon de résoudre le problème est de créer un script d'achèvement de bash.
Créez un nouveau script d’achèvement avec le nom Java
à l’aide de votre éditeur de texte préféré, qu’il s’agisse de nano editor par exemple:
user@pc:~$ Sudo nano /etc/bash_completion.d/Java
Insérez le code dans le script:
_code()
{
local cur=${COMP_WORDS[COMP_CWORD]}
local IFS=$'\n'
COMPREPLY=( $( compgen -f -X '!*.Java' -- $cur ) )
}
complete -o filenames -F _code code
Enregistrez les modifications et fermez l'éditeur de texte.
Rechargez enfin les règles d’achèvement - faites attention aux points et à l’espace avant la première barre oblique:
user@pc:~$ . /etc/bash_completion
Cette solution présente 2 avantages: