Набор Инструментов Консоли
Набор Инструментов Консоли - это дополнение для NVDA, которое обеспечивает улучшенный доступ к консоли Windows, также известной как командная строка. Оно также хорошо работает в Windows PowerShell. Некоторые функции могут работать в альтернативных терминалах, таких как Cygwin, PuTTY и Windows Terminal, однако это дополнение было тщательно протестировано только в консоли Windows по умолчанию. Пользователи SSH могут счесть это дополнение особенно удобным.
Некоторые функции ранее были частью дополнения Tony's enhancements.
Загрузки
Установите из магазина дополнений.
Перейти к первой видимой строке
Console toolkit переопределяет команду shift+numpad7
в консолях UIA:
вместо чтения первой строки во всём буфере теперь считывается первая видимая
строка в верхней части окна. Дважды нажмите shift+numpad7
, чтобы вернуться
к старому режиму работы и прочитать первую строку буфера.
Речь в консоли в режиме реального времени
Эта опция позволяет NVDA произносить новые строки сразу же после их появления в консольном выводе, вместо того чтобы ставить новые речевые высказывания в очередь. Например, если NVDA занят тем, что произносит строку, которая появилась на экране 1 минуту назад, а теперь появляется новая строка, эта опция отменит произнесение старой строки и сразу же начнёт произносить новую строку, тем самым обеспечивая более оперативную обратную связь с происходящем в окне консоли.
Звуковой сигнал при обновлении консоли
Подаётся звуковой сигнал низкой частоты каждый раз при обновлении текста в консоли.
Принудительное использование Control+V в консолях
Эта опция позволяет использовать сочетание клавиш Control+V для работы
внутри сеансов ssh
.
Экспериментальная: редактирование командной строки
Примечание: эта функция является экспериментальной. Пожалуйста, внимательно прочтите этот раздел и убедитесь, что вы понимаете, как она работает, прежде чем сообщать о проблемах.
Нажмите NVDA+E
, чтобы определить текущее приглашение в окне консоли, и
отредактируйте его в доступном окне Редактировать приглашение
. После
редактирования вы можете нажать Escape
, чтобы обновить текущую командную
строку, или Enter
, чтобы обновить и немедленно выполнить команду. В
качестве альтернативы вы можете нажать Alt+F4
, чтобы закрыть окно запроса
редактирования без обновления командной строки.
Эта функция была протестирована в командной строке Windows cmd.exe
, а
также в оболочке bash по ssh-соединениям, а также в WSL и cygwin. Она также
может работать в альтернативных оболочках Unix, однако не тестировалась.
Вот как дополнение извлекает текущую команду.
- Оно нажимает клавишу
End
, а затем отправляет управляющий символ, который является редким символом Unicode, который вряд ли где-либо будет использоваться. - Затем оно нажимает клавишу
home
и отправляет другой управляющий символ. - Затем оно ожидает появления на экране управляющих символов, что может занять некоторое время при медленных SSH-соединениях.
- Команда - это то, что отображается между двумя управляющими символами.
- Когда в настройках NVDA включена опция
Автоматическая (предпочитать UIA)
, в начало строки добавляется еще один управляющий символ. Это необходимо для правильного разбора многострочных команд: реализация UIA обрезает пробелы в конце каждой строки, поэтому, чтобы определить, есть ли пробел между двумя строками, нам нужно сдвинуть их на один символ. Однако, пожалуйста, обратите внимание, что таким образом мы не сохраняем количество пробелов между словами, мы только гарантируем сохранение наличия пробелов. - Перед редактированием дополнения убедитесь, что вы удалили управляющие
символы, поместив курсор в начало и конец и имитируя нажатия клавиш
Delete
иBackspace
. - Оно предоставляет команду в окне "Приглашение к редактированию", которую пользователь может просмотреть или отредактировать.
После того, как пользователь нажимает
Enter
илиEscape
, сначала удаляется текущая строка в консоли. Это достигается одним из четырех методов, выбор которого настраивается. В настоящее время поддерживаются четыре метода:Control+C
: работает как вcmd.exe
, так и вbash
, но предыдущее приглашение остается видимым на экране; не работает в emacs; иногда ненадежен при медленных SSH-соединенияхEscape
: работает только вcmd.exe
"),Control+A Control+K
: работают вbash
иemacs
; не работают вcmd.exe
Backspace
(рекомендуется): работает в любых средах; однако это происходит медленнее и может привести к повреждению, если длина строки изменилась
Затем дополнение имитирует нажатия клавиш для ввода обновленной команды и, при необходимости, имитирует нажатие клавиши
Enter
.
Диагностика:
- Убедитесь, что клавиши
Home
,End
,Delete
иBackspace
работают в вашей консоли должным образом. - Убедитесь, что ваша консоль поддерживает символы Юникода. Некоторые ssh-соединения не поддерживают Юникод.
- Убедитесь, что выбранный метод удаления работает в вашей консоли.
Экспериментальная: захват выходных данных команды
Примечание: эта функция является экспериментальной. Пожалуйста, внимательно прочтите этот раздел и убедитесь, что вы понимаете, как она работает, прежде чем сообщать о проблемах.
Находясь в командной строке или в окне "Приглашение к редактированию",
нажмите Control+Enter
, чтобы записать вывод команды. Это дополнение
способно записывать большие выходные данные, которые охватывают несколько
экранов, хотя при выводе более 10 экранов процесс записи занимает
значительное время. Дополнение воспроизведёт длинный звуковой сигнал,
который будет звучать до тех пор, пока дополнение будет записывать
результаты текущей запущенной команды или пока не истечёт время ожидания. В
качестве альтернативы, нажмите NVDA+E
, чтобы прервать запись.
Если в настройках NVDA включена функция "Использовать автоматизацию пользовательского интерфейса для доступа к консоли Windows, когда она доступна", вы можете переключаться на другие окна во время записи. Однако, если эта опция отключена, то NVDA использует устаревший консольный код, который работает только тогда, когда консоль в фокусе, и поэтому переключение на любое другое окно приостановит захват.
Перехват команд выполняется путём перенаправления вывода команды на команду
less
. Суффикс по умолчанию, который добавляется к командам, является:
|less -c 2>&1
Пожалуйста, изменяйте его только в том случае, если вы знаете, что
делаете. Это дополнение умеет взаимодействовать с выводом команды less
для
постраничного получения выходных данных.
В Windows инструмент less.exe
необходимо устанавливать отдельно. Вы можете
установить его через cygwin или загрузить двоичный файл Windows в другом
месте.
Если вы используете tmux
или screen
в Linux, пожалуйста, убедитесь, что
внизу не отображается строка состояния. В tmux
запустите
tmux set status off
чтобы избавиться от строки состояния, или измените свой файл tmux.conf
.
Диагностика:
- После неудачной попытки перехвата выходных данных нажмите
Стрелку вверх
в консоли, чтобы проверить, какая команда на самом деле была выполнена. - Вернитесь к суффиксу захвата по умолчанию, упомянутому выше.
- Попробуйте выполнить действия по устранению неполадок в разделе "редактирование командной строки".