Idle Terminal Killer
A Visual Studio Code extension that automatically closes idle integrated
terminals after a configurable timeout.
Extensão para o Visual Studio Code que fecha automaticamente terminais
integrados ociosos após um período configurável.
A terminal is considered idle when both criteria are met for the
configured amount of time:
Um terminal é considerado ocioso quando ambos os critérios são
satisfeitos pelo tempo configurado:
- No process/command running (shell is stopped) /
Sem processo/comando em execução (shell parado);
- No I/O activity (no recent command execution or interaction) /
Sem atividade de I/O (nenhuma execução de comando ou interação recente).
Features / Recursos
- Automatically close idle terminals after a configurable timeout /
Fechamento automático de terminais ociosos por tempo configurável.
- Configurable idle check interval / Verificação periódica configurável.
- Exclusion list by terminal name / Lista de exclusão por nome de terminal.
- Optional notification when closing / Notificação opcional ao fechar.
- Commands to enable/disable and close idle terminals on demand /
Comandos para habilitar/desabilitar e fechar terminais ociosos sob demanda.
Settings / Configurações
| Setting / Configuração |
Default / Padrão |
Description / Descrição |
idleTerminalKiller.enabled |
true |
Enables automatic closing. / Habilita o fechamento automático. |
idleTerminalKiller.idleTimeoutMinutes |
5 |
Minutes of inactivity before closing. / Minutos de ociosidade antes de fechar. |
idleTerminalKiller.checkIntervalSeconds |
60 |
Interval between idle checks (seconds). / Intervalo entre verificações (segundos). |
idleTerminalKiller.excludeTerminalNames |
[] |
Terminal names that are never closed. / Nomes de terminais que nunca são fechados. |
idleTerminalKiller.showNotificationOnClose |
true |
Notify when a terminal is closed. / Notifica ao fechar um terminal. |
idleTerminalKiller.closeInactiveOnly |
false |
Only close terminals that are not focused. / Só fecha terminais que não estão em foco. |
Commands / Comandos
- Idle Terminal Killer: Enable
- Idle Terminal Killer: Disable
- Idle Terminal Killer: Close Idle Terminals Now
How detection works / Como a detecção funciona
The extension uses VS Code's stable Shell Integration API
(onDidStartTerminalShellExecution / onDidEndTerminalShellExecution) to
know when commands are running, plus terminal focus events to track the last
activity.
A extensão usa a Shell Integration API estável do VS Code
(onDidStartTerminalShellExecution / onDidEndTerminalShellExecution) para
saber quando há comandos em execução, além de eventos de foco do terminal para
rastrear a última atividade.
If the proposed onDidWriteTerminalData API is available, raw terminal output
is also used to detect activity. When it is not available, the extension falls
back to shell execution and focus events. To protect against missed end events,
a stale running counter is automatically reset after twice the idle timeout.
Se a API proposta onDidWriteTerminalData estiver disponível, a saída bruta do
terminal também é usada para detectar atividade. Quando não está disponível, a
extensão recorre aos eventos de execução do shell e de foco. Para se proteger
contra eventos de término perdidos, um contador de execução obsoleto é
redefinido automaticamente após duas vezes o tempo de ociosidade.
Note / Observação: the stable VS Code API does not expose the raw
terminal output stream, so I/O activity is approximated by command executions
and user interactions.
A API estável do VS Code não expõe o fluxo bruto de saída do terminal,
portanto a atividade de I/O é aproximada por execuções de comando e
interações do usuário.
Development / Desenvolvimento
npm install
npm run build # bundle with esbuild / bundle com esbuild
npm run compile # type-check
npm run lint
npm run package # generates the .vsix / gera o .vsix
Press F5 in VS Code to open an Extension Development Host window.
Pressione F5 no VS Code para abrir uma janela de Extension Development Host.
Publishing / Publicação
See PUBLISHING.md for Marketplace publisher setup and
automated publishing via GitHub Actions.
Consulte PUBLISHING.md para configurar o publisher do
Marketplace e a publicação automatizada via GitHub Actions.
License / Licença
MIT