2 pontos por woojinim64 1 일 전 | Ainda não há comentários. | Compartilhar no WhatsApp

Uma extensão criada para reduzir o trabalho manual ao escrever Markdown no VS Code e no Windsurf

Integra reconhecimento de contexto da área de transferência, preview bidirecional e análise de documentos em um único pacote
Como o Windsurf é baseado em um fork do VS Code, oferece suporte a ambos com a mesma API


Motivo da criação

Conteúdos copiados da web/Word entram como HTML quebrado ou texto simples
Dependência de sites externos de conversão ao inserir dados de tabelas
Custo de navegação por rolagem devido à falta de sincronização de posição entre preview e editor


Principais recursos

  • Smart Paste

HTML → Markdown: aplicação de overrides nas regras de tabela GFM e blocos de código no mecanismo Turndown
Conversão automática de TSV: tabelas copiadas do Excel/Google Sheets são substituídas por tabelas Markdown com um pipeline baseado em regex
Ao colar uma URL sobre um texto selecionado, faz o wrapping automático no formato selected

  • Bi-directional Preview

Ao alterar, rerenderização completa → surgem problemas de cintilação do KaTeX e saltos de rolagem
Mudança para o método de atualização incremental (incremental DOM patch)
Na etapa de compilação, injeta o atributo data-line em cada nó HTML para mapear as linhas do código-fonte
Ao clicar no preview, envia o número da linha ao editor via postMessage → move o cursor

  • Document X-Ray (dashboard na barra lateral)

Estimativa de número de caracteres e tempo de leitura para documentos mistos em coreano/inglês (com base em 200 wpm para inglês e 500 caracteres/min para coreano)
Outline baseado em parsing da árvore de headings + navegação por clique
Health check assíncrono de links externos 404 no documento


Escopo de suporte atual

Integração com linter/formatter
Renderização de KaTeX e Mermaid
Exportação em HTML/PDF


Planos futuros

Otimização de desempenho para documentos grandes (incremental parsing)
Integração com assistente de IA (resumo, correção de frases)
Modo de compatibilidade com Obsidian Vault


Nota técnica

O Webview da VS Code Extension API é um sandbox isolado do editor
Sem debouncing e batching de mensagens na comunicação bidirecional, ocorre degradação de desempenho em documentos grandes
Dependendo do desenho da arquitetura, mesmo funções idênticas podem ter grande diferença de performance


Links

GitHub: https://github.com/RAKKUNN/Marksmith
Page: https://rakkunn.github.io/MarkSmith/


Agradeço muito por feedbacks e reviews!!
Obrigado.

Ainda não há comentários.

Ainda não há comentários.