Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Log PoseNew to Visual Studio Code? Get it now.
Log Pose

Log Pose

Victor Bertelli

|
1 install
| (0) | Free
Notas, to-dos, snippets e links vinculados ao contexto git (repo + branch) — aponta sempre para onde você está. 100% local e offline.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Log Pose 🧭

Extensão do VS Code de produtividade para desenvolvedores em ambiente corporativo restrito. Um painel lateral com Notas, To-dos (com timer), Snippets e Links, todos vinculados ao contexto git (repositório + branch ativos), com um botão de trava (lock) que congela o contexto exibido mesmo que você troque de branch ou repositório.

Como toda boa bússola de navegante, o Log Pose aponta sempre para a ilha onde você está — e, se você travar o ponteiro, continua apontando para ela mesmo depois de zarpar.

  • Escreva uma nota na branch feature/pix-v2: ela some ao fazer checkout para outra branch e reaparece intacta quando você volta.
  • Trave o contexto antes de um checkout rápido e o painel permanece onde você estava trabalhando (o chip fica em cor de aviso).
  • Três escopos por conteúdo: Branch (padrão), Repo (todas as branches) e Global (independente de git).
  • Timer por tarefa com item na status bar; um timer ativo por vez, sobrevive a reload da janela.
  • Subtarefas com hierarquia (até 4 níveis): + no hover cria subtarefa; Ctrl+→/← indenta/desindenta; Ctrl+↑/↓ reordena; arrastar move (a subárvore acompanha). Concluir a tarefa-mãe conclui as filhas; o contador n/m mostra o progresso.
  • Ícones por tarefa: a ação 🏷 no hover define um ícone (bug, rocket, flame, …); depois, clicar no próprio ícone troca — tudo local, nada de rede.
  • Comandos no Command Palette: Log Pose: Nova tarefa captura uma tarefa sem abrir o painel; Log Pose: Iniciar timer (escolher tarefa) abre um quick pick das pendentes.
  • Anotações por tarefa: a ação 📝 no hover abre uma área de texto inline; com anotação, o indicador fica sempre visível e o tooltip mostra o conteúdo.
  • Seleção de tarefa: clique numa tarefa para marcá-la (cor padrão de seleção do tema) — ela vira o alvo dos atalhos de teclado.
  • O ícone do Log Pose na Activity Bar mostra um badge com o nº de tarefas pendentes do contexto atual.

Instalação offline

A extensão é distribuída como um arquivo .vsix — nenhum acesso ao Marketplace é necessário.

Pela linha de comando:

code --install-extension log-pose-0.8.0.vsix

Pela interface:

  1. Abra a aba Extensões (Ctrl+Shift+X).
  2. Menu … (canto superior direito da aba) → Instalar do VSIX…
  3. Selecione o arquivo log-pose-0.8.0.vsix.

Estrutura da pasta de dados

Todos os dados são texto puro (Markdown + JSON legíveis), gravados fora de qualquer repositório git, em uma pasta local do usuário — por padrão a pasta de armazenamento da extensão; opcionalmente a pasta definida em logpose.storagePath. Use o comando Log Pose: Abrir pasta de dados para localizá-la.

<pasta de dados>/
├── meta.json                       # índice legível de repos/branches conhecidos
├── global/                         # escopo Global
│   ├── notes.md
│   ├── todos.json
│   ├── snippets.json
│   └── links.json
└── repos/
    └── <repoId>/                   # hash do remote normalizado (clones do mesmo remote compartilham dados)
        ├── repo/                   # escopo Repo (todas as branches)
        │   └── (mesmos 4 arquivos)
        └── branches/
            └── <branchSlug>/       # escopo Branch
                └── (mesmos 4 arquivos)

A pasta é compreensível sem a extensão: notes.md é Markdown puro; os .json têm o formato { "version": 1, "items": [...] }; meta.json mapeia cada <repoId> e <branchSlug> de volta aos nomes originais. Toda escrita é atômica (arquivo temporário + rename); um JSON corrompido é renomeado para <nome>.corrupt-<timestamp> e nunca descartado.

Configurações

Setting Default Descrição
logpose.storagePath "" Pasta de dados customizada (suporta ~). Vazio = pasta padrão da extensão.
logpose.autosaveDelayMs 500 Atraso do autosave das notas.

Atalhos — funcionam sem nenhuma configuração, pois são tratados dentro do painel (sem Alt, que a barra de menus do Windows pode capturar):

Com uma tarefa selecionada no painel (clique nela ou navegue com ↑/↓):

Tecla Ação
↑ / ↓ Navega entre tarefas de qualquer ponto do painel (sem seleção, começa da primeira/última)
Ctrl+↑ / Ctrl+↓ Reordena entre irmãs
Ctrl+→ Vira subtarefa da anterior
Ctrl+← Sobe um nível
Space Conclui / reabre
Enter / F2 Edita o texto (campo já focado, com o texto selecionado)
A Abre/fecha a anotação da tarefa (cursor já no campo)
Delete Exclui (com Desfazer)
Esc Desmarca a seleção (clicar em área vazia também desmarca)
Ctrl+L Trava/destrava o contexto (em qualquer parte do painel)

Fora do painel: clicar no chip do contexto trava/destrava (confirmação na status bar), e Ctrl+Alt+L faz o mesmo de qualquer lugar — este último é um keybinding do VS Code e pode ser capturado pelo sistema em alguns ambientes Windows; os atalhos do painel não dependem dele. Alt+setas também funcionam no painel como alternativa, quando o ambiente permite.

Segurança

Esta seção foi redigida para ser anexada a um pedido de aprovação junto ao time de segurança.

  • Zero rede. A extensão não faz nenhuma chamada de rede, em nenhuma hipótese: sem telemetria, sem verificação de atualização, sem download de favicons, sem CDN, sem fontes externas, sem WebSocket. O código-fonte é auditável quanto a isso: não há ocorrências de fetch, clientes http/https, net ou WebSocket. O único contato com o mundo externo é vscode.env.openExternal, disparado exclusivamente por ação explícita do usuário (clicar em um link salvo por ele mesmo), e executado pelo próprio VS Code no navegador padrão.
  • Zero telemetria. Nenhum dado de uso é coletado ou transmitido, para a Anthropic, Microsoft ou qualquer terceiro.
  • Escrita restrita. A extensão só grava em: (1) sua pasta de dados (globalStorageUri ou logpose.storagePath), e (2) os mecanismos de estado do próprio VS Code (workspaceState/globalState). Nunca grava dentro de repositórios git ou em qualquer outro ponto do sistema de arquivos.
  • Zero dependências de runtime. O pacote não embute nenhuma biblioteca de terceiros em execução — apenas a API do VS Code e a biblioteca padrão do Node.js. A superfície de ataque de supply chain é essencialmente nula; as dependências de desenvolvimento (compilador, empacotador) não fazem parte do artefato instalado. O único asset de terceiros é a fonte de ícones oficial @vscode/codicons (Microsoft), copiada estaticamente para dentro do pacote.
  • Webview com CSP estrita. A interface roda em uma webview com default-src 'none'; apenas estilos e fonte locais do pacote e um único script com nonce são permitidos. Conteúdo do usuário nunca é interpolado como HTML (somente textContent), eliminando XSS por dados armazenados.
  • Git somente leitura, via API oficial. A extensão lê repositório/branch ativos pela API da extensão embutida vscode.git. Não executa git em shell, não embute libgit2 e não altera nenhum repositório.
  • Dados inspecionáveis. Tudo que a extensão persiste é texto puro legível (Markdown/JSON), auditável a qualquer momento pelo usuário ou pela equipe de segurança.

Desenvolvimento

npm install
npm run watch     # build contínuo (ou F5 para rodar a extensão em uma janela de dev)
npm run build     # typecheck estrito + build minificado
npm test          # testes unitários (node:test): slugify, repoId, recuperação de JSON corrompido
npm run package   # gera o .vsix
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft