ConsoleToolkit (Инструментарий для консоли)
- Автор: 'Tony Malykh
- Исходный код дополнения: Посетить Web-сайт consoleToolkit
Краткое описание
Дополнение Console Toolkit обеспечивает улучшение доступности консоли Windows, известной также как командная строка. Оно также хорошо работает в Windows PowerShell.
Некоторые функции могут работать в альтернативных терминалах, таких как Cygwin, PuTTY и Windows Terminal, однако дополнение было тщательно протестировано только с консолью Windows по умолчанию.
Пользователи SSH могут найти это дополнение особенно удобным.
Основная информация
Название | Версия | Совместимость с API NVDA | Последняя протестированная версия NVDA | Минимальная версия NVDA | Дата загрузки в каталог | Размер | Лицензия |
---|---|---|---|---|---|---|---|
consoleToolkit | 1.4 | 2024.1 | 2024.1 | 2019.3.0 | 27-05-2024 10:19:31 | 35 Кб. | GPL v2 |
Информация о локализации на русский язык
🔝 Назад к оглавлениюСкачать
ConsoleToolkit-V.1.4.nvda-addon
⬇ Перейти к истории версий 🔝 Назад к оглавлениюРазделы
🔝 Назад к оглавлениюСправка
Подробнее
Console Toolkit (Инструментарий для консоли)
Console Toolkit - это дополнение NVDA, обеспечивающее улучшение доступности консоли Windows, известной также как командная строка. Оно также хорошо работает в Windows PowerShell. Некоторые функции могут работать в альтернативных терминалах, таких как Cygwin, PuTTY и Windows Terminal, однако дополнение было тщательно протестировано только с консолью Windows по умолчанию. Пользователи SSH могут найти это дополнение особенно удобным.
Некоторые из функций ранее были частью дополнения Tony's enhancements.
Загрузка
Установить из магазина дополнений.
Перейти к первой видимой строке
Консольный инструментарий переопределяет команду 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 включена опция "Use UI Automation to access the Windows Console when available", то в начале строки передается еще один управляющий символ. Это необходимо для корректного разбора многострочных команд: Реализация 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 использует устаревший код консоли, который работает только при фокусировке consoel, и поэтому переключение на любое другое окно приведет к приостановке захвата.
Перехват команд работает путем перенаправления вывода команды на команду less
. По умолчанию к командам добавляется суффикс:
|less -c 2>&1
Пожалуйста, изменяйте его только в том случае, если вы знаете, что делаете. Это дополнение умеет взаимодействовать с выводом команды less
для получения вывода постранично.
Под Windows инструмент less.exe
необходимо устанавливать отдельно. Вы можете установить его через cygwin или загрузить двоичный файл для Windows из другого места.
Если вы используете tmux
или screen
в Linux, убедитесь, что в нижней части экрана не отображается строка состояния. В tmux
выполните команду
tmux set status off
чтобы избавиться от строки состояния, или измените файл tmux.conf
.
Устранение неполадок:
- После неудачной попытки захвата вывода нажмите
UpArrow
в консоли, чтобы проверить, какая команда была выполнена. - Вернитесь к суффиксу захвата по умолчанию, о котором говорилось выше.
- Попробуйте выполнить шаги по устранению неполадок из раздела "Редактирование командной строки".
Перевод
- Валентин Куприянов.