IndentNav
Это дополнение позволяет пользователям NVDA перемещаться по уровню отступа строк. При редактировании исходного кода во многих языках программирования оно позволяет переключаться между строками с одинаковым уровнем отступа, а также быстро находить строки с большим или меньшим уровнем отступа. Оно также обеспечивает аналогичные нажатия клавиш в древовидных представлениях.
Пожалуйста, обратите внимание, что команды древовидной навигации были перенесены в дополнение TreeNav.
Загрузить
Пожалуйста, установите из магазина дополнений NVDA
Примечание о совместимости с VSCode
Встроенная доступность VSCode очень ограничена: по состоянию на 2024 год она предоставляет только 500 строк кода через accessibility API, что приводит к неправильной работе IndentNav в VSCode.
По умолчанию IndentNav не будет работать с VSCode, и когда вы попытаетесь его использовать, вам нужно будет выбрать один из двух вариантов:
- Установите расширение VSCode (страница расширения)(исходный код) - рекомендуемый способ. После установки расширения NVDA сможет получить доступ ко всему документу, независимо от его размера.
- Продолжайте использовать VSCode в устаревшем режиме - включите этот режим в настройках IndentNav. Это не рекомендуется, поскольку NVDA увидит только 500 строк документа и ошибочно сообщит о пропавших братьях и сестрах/родителях.
Проблемы с совместимостью
Известны проблемы с совместимостью IndentNav с дополнением информации о символах. В настоящее время невозможно настроить как IndentNav, так и просмотровый курсор на цифровой клавиатуре во время работы этого дополнения. Пожалуйста, либо удалите это дополнение, либо используйте альтернативную раскладку комбинаций клавиш в IndentNav.
Раскладки комбинаций клавиш
IndentNav предлагает 3 встроенных раскладки комбинаций клавиш:
- Устаревшая или раскладка для ноутбука: это для тех, кто использовал IndentNav v1.x и не хочет изучать новые раскладки, или для клавиатур ноутбуков, у которых нет цифровых блоков.
- Раскладка Alt+цифровая клавиатура.
Раскладка клавиш цифровой клавиатуры. Существует два способа устранения конфликта при нажатии клавиш просмотрового курсора:
- Используйте цифровую клавиатуру для ввода отступов в редактируемых
файлах и просмотровый курсор в других местах. Если вам всё ещё нужно
использовать просмотровый курсор в редактируемых файлах, вы можете
временно отключить ввод отступов, нажав
alt+NumLock
. - Переназначьте команды просмотрового курсора на сочетание клавиш alt+numpad, чтобы избежать конфликт нажатий клавиш.
- Используйте цифровую клавиатуру для ввода отступов в редактируемых
файлах и просмотровый курсор в других местах. Если вам всё ещё нужно
использовать просмотровый курсор в редактируемых файлах, вы можете
временно отключить ввод отступов, нажав
Раскладку комбинаций клавиш можно выбрать в настройках IndentNav.
Комбинации клавиш
Действие | Устаревшая раскладка | Раскладка Alt+цифровая клавиатура |
Раскладка цифровой клавиатуры | Описание |
---|---|---|---|---|
Toggle IndentNav | alt+numLock |
alt+numLock |
alt+numLock |
This is useful when both NVDA and review cursor gestures are assigned to numPad. |
Jump to previous/next sibling | NVDA+Alt+up/downArrow |
alt+numPad8/numPad2 |
numPad8/numPad2 |
Sibling is defined as a line with the same indentation level. This command will not take cursor beyond current code block. |
Jump to previous/next sibling skipping over clutter | N/A | control+alt+numPad8/numPad2 |
control+numPad8/numPad2 |
You can configure clutter regular expression in settings. |
Jump to first/last sibling | NVDA+Alt+shift+up/downArrow |
alt+numPad4/numPad6 |
numPad4/numPad6 |
Sibling is defined as a line with the same indentation level. This command will not take cursor beyond current code block. |
Jump to previous/last sibling potentially outside of current block | NVDA+control+Alt+up/downArrow |
control+alt+numPad4/numPad6 |
control+numPad4/numPad6 |
This command allows you to jump to a sibling in another block. |
Jump to previous/next parent | NVDA+Alt+leftArrow ,NVDA+alt+control+leftArrow |
alt+numPad7/numPad1 |
numPad7/numPad1 |
Parent is defined as a line with lower indentation level. |
Jump to previous/next child | NVDA+Alt+control+rightArrow ,NVDA+alt+rightArrow |
alt+numPad9/numPad3 |
numPad9/numPad3 |
Child is defined as a line with greater indentation level. This command will not take cursor beyond current code block. |
Select current block | NVDA+control+i |
control+alt+numPad7 |
control+numPad7 |
Selects current line plus all following lines having strictly greater indentation level. Press repeatedly to select multiple blocks. |
Select current block and all following blocks on the same indentation level | NVDA+alt+i |
control+alt+numPad9 |
control+numPad9 |
Selects current line plus all following lines having greater or equal indentation level. |
Indent-paste | NVDA+v |
NVDA+v |
NVDA+v |
When you need to paste a block of code to a place with different indentation level, this command will adjust indentation level before pasting. |
Go back/forward in history | N/A | control+alt+numPad1/numPad3 |
control+numPad1/numPad3 |
IndentNav keeps a history of lines which you visited via IndentNav commands. |
Speak current line | N/A | alt+numPad5 |
numPad5 |
This is really a review cursor command remapped for convenience. |
Speak parent line | NVDA+i |
N/A | N/A |
Другие особенности
Быстрый поиск закладок
IndentNav позволяет настроить любое количество закладок, к которым вы можете легко перейти. Закладка определяется с помощью регулярного выражения и пользовательского нажатия клавиши для перехода к совпадению. Нажмите клавишу "shift", чтобы найти предыдущее появление.
Потрескивание:
При переходе по нескольким строкам кода IndentNav попытается быстро воспроизвести уровни отступов в виде тонов пропущенных строк. Эта функция включена только в том случае, если в настройках NVDA включена функция отображения отступов в виде тонов. Громкость треска можно регулировать или отключать в настройках IndentNav.
Исходный код
Исходный код доступен по адресу http://github.com/mltony/nvda-indent-nav.