Console Toolkit
Console toolkit é un complemento de NVDA, que proporciona melloras para a consola de Windows, tamén coñecida como liña de comandos. Tamén funciona ben en Windows PowerShell. Algunhas das características poderían funcionar en terminais alternativas, como Cygwin, PuTTY e windows Terminal, porén, o complemento só se probou exhaustivamente coa consola de Windows por defecto. Os usuarios de SSH poderían atopar este complemento especialmente útil.
Algunhas das características foron parte antes do complemento Tony's enhancements.
Descargas
Install from add-on store.
Jump to the first visible line
Console toolkit overrides shift+numpad7
command in UIA consoles: instead
of reading the first line in the entire buffer it now reads the first
visible line at the top of the window. Press shift+numpad7
twice to revert
to the old behavior and read the first line of the buffer.
Lectura da consola en tempo real
Esta opción fai que NVDA lea as novas liñas inmediatamente conforme aparecen na saída da consola, no canto de poñelas en cola. Por exemplo, se NVDA está ocupado lendo unha liña que apareceu na pantalla hai 1 minuto, e aparece unha nova liña agora, esta opción cancelará a lectura da liña antiga e comeza a ler a nova liña directamente, fornecendo así unha retroalimentación máis inmediata sobre o que está aparecendo na ventá da consola.
Pitar para actualizacións da consola
Pitar cun pequeño impulso en baixa frecuencia cada vez que o texto da consola se actualiza.
Garantía de control+V na consola
Esta opción fai que Control+V funcione dentro de sesións ssh
.
Experimental: edición da liña de ordes
Nota: esta característica é experimental. Por favor le esta sección coidadosamente e asegúrate de que entendes como funciona antes de reportar incidencias.
Preme NVDA+E
para identificar a petición actual na ventá da consola e
editala nunha ventá "Edit prompt" (Editar instrución) accesible. Tras editar
podes ben pulsar Escape
para actualizar a liña de ordes actual, ou Intro
para actualizar e executar inmediatamente a orde. Alternativamente podes
premer Alt+F4
para pechar a ventá de editar instrución sen actualizar a
liña de ordes.
Esta característica probouse na liña de ordes de Windows cmd.exe
así como
nunha shell bash sobre conexións ssh, así como en WSL e cygwin. Tamén
podería funcionar en shells de unix alternativas, mais non se probou.
Aquí está como o complemento extrae a orde actual.
- Preme a tecla
fin
e envía un carácter de control, que é un carácterUnicode raro que probablemente non se utilice en ningures. - Despois preme a tecla
inicio
e envía outro carácter de control. - Despois agarda a que o carácter de control apareza na pantalla, que podería levar algún tempo en conexións SSH lentas.
- A orde é o que aparece entre os dous caracteres de control.
- Cando está habilitada a opción "Usar UI Automation para acesar á Consola de Windows cando estea dispoñible" nas opcións do NVDA, envía outro carácter de control máis ao comezo da cadea. Isto requírese para codificar correctamente ordes multiliña: a implementación de UIA recorta espazos en branco ó final de cada liña, de xeito que para deducir se hai un espazo entre dúas liñas, neceistamos velo mediante un carácter. Ten en conta, non obstante, que deste xeito non preservamos o número de espazos entre palabras, só garantimos a presenza de espazos.
- Antes de editar o complemento asegúrase de eliminar os caracteres de
control colocando o cursor no comezo e final e simulando a pulsación das
teclas
suprimir
eretroceso
. - Presenta a orde na ventá "edit prompt" para que o usuario o vexa ou edite.
Unha vez o usuario prema
Intro
ouEscape
, primeiro borra a liña actual na consola. Isto conséguese mediante un método dos catro dispoñibles, a escolla é configurable. Actualmente sopórtanse catro métodos:Control+C
: funciona tanto encmd.exe
como enbash
, pero deixa a instrución anterior visible na pantalla; non funciona en emacs; pouco confiable en ocasións en conexións SSH lentasEscape
: só funciona encmd.exe
"),Control+A Control+K
: funciona enbash
eemacs
; non funciona encmd.exe
Retroceso
(recomendado): funciona en todos os entornos; pero é máis lento e podería causar corrupción se cambia a lonxitude da liña
Despois o complemento simula pulsacións de teclas para introducir a orde actualizada e opcionalmente simula a pulsación da tecla
Intro
.
Solución de erros:
- Verifica que as teclas 'Inicio', 'Fin', 'suprimir' e 'Retroceso' funcionan como se espera na túa consola.
- Verifica que a túa consola soporte caracteres Unicode. Algunhas conexións ssh non soportan Unicode.
- Verifica que o método de eliminación seleccionado funciona na túa consola.
Experimental: captura de saída de ordes
Nota: esta característica é experimental. Por favor le esta sección coidadosamente e asegúrate de que entendes como funciona antes de reportar incidencias.
Estando na liña de ordes ou na ventá "edit prompt", preme Control+Intro
para capturar a saída da orde. Este complemento é capaz de capturar unha
saída larga que se expanda durante varias pantallas, aínda que cando a saída
é máis longa que 10 pantallas o proceso de captura tarda un tempo
considerable en completarse. O complemento tocará un son largo de campá, que
durará mentres o complemento estea capturando a saída da orde en execución,
ou ata que se alcance o tempo de expiración. Alternativamente, preme
NVDA+E
para interromper a captura.
Cando a característica "Usar UI Automation para acesar á Consola de Windows cando estea dispoñible" está habilitada nas opcións de NVDA, podes cambiar a outras ventás mentres se executa a captura. Pola contra, se esta opción está deshabilitada, NVDA estará a usar un código de consola obsoleto, que só funciona cando a consola ten o foco, e polo tanto cambiar a calquera outra ventá pausará a captura.
A captura de ordes funciona redirixindo a saída da orde á orde less
. O
sufixo por defecto que se engade á orde é:
|less -c 2>&1
Por favor cámbiao só se sabes o que estás facendo. Este complemento sabe
como interactuar coa saída da orde less
para obter a saída páxina a
páxina.
En windows a ferramenta less.exe
necesita instalarse por separado. Podes
instalala mediante cygwin, ou descargar un binario para windows de calquera
outro lugar.
Se estás a usar tmux
ou screen
en Linux, por favor asegúrate de que non
se amosa ningunha liña de estado na parte inferior. En tmux
executa
tmux set status off
para librarte da liña de estado, ou modifica o teu arquivo tmux.conf
.
Solución de erros:
- After a failed output capturing attempt, press
UpArrow
in the console to check what command has actually been executed. - Revirte ao sufixo de captura por defecto, mencionado arriba.
- Proba cos pasos de solución de problemas da sección "edición da liña de ordes".