Я использую Ubuntu 18.04 и выполняю большую часть своего редактирования кода с использованием кода VisualStudio. Чтобы открыть файл из терминала, я запускаю команду
code fileName.java
После того, как я скомпилировал код Java, в каталоге также есть связанный файл .class. Это означает, что в следующий раз, когда я открою файл и попытаюсь выполнить автозаполнение команды с помощью «Tab», он автоматически завершится до
code fileName.
Не могли бы вы показать мне, как изменить параметры для [ 115], поэтому, когда я набираю
code f
и затем нажимаю клавишу Tab, он автоматически заполняется до
code fileName.java
, а не просто
code fileName.
Добавьте это в свои .bashrc
:
complete -f -X '!*.java' code
и source ~/.bashrc
это один раз.
-f
будет завершено только на f илах. -X pattern
позволяет определить пользовательский шаблон code
и любое завершение не соответствует шаблон удаляется из списка завершения. Лучший способ решить эту проблему - создать скрипт завершения bash.
Создайте новый скрипт завершения bash с именем java
, используя ваш любимый текстовый редактор, например, нано-редактор:
user@pc:~$ sudo nano /etc/bash_completion.d/java
Вставьте код в скрипт: [ 1110]
_code()
{
local cur=${COMP_WORDS[COMP_CWORD]}
local IFS= Сохраните изменения и закройте текстовый редактор.
Наконец, перезагрузите правила завершения bash - обратите внимание на «точку» и следующий пробел перед первой косой чертой:
user@pc:~$ . /etc/bash_completion
Это решение имеет 2 преимущества:
- Система работы скрипта широкий.
- Поддерживает пробелы в именах файлов.
\n'
COMPREPLY=( $( compgen -f -X '!*.java' -- $cur ) )
}
complete -o filenames -F _code code
Сохраните изменения и закройте текстовый редактор.
Наконец, перезагрузите правила завершения bash - обратите внимание на «точку» и следующий пробел перед первой косой чертой:
user@pc:~$ . /etc/bash_completion
Это решение имеет 2 преимущества: