Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Cursor Emulador ADBNew to Visual Studio Code? Get it now.
Cursor Emulador ADB

Cursor Emulador ADB

Wellington Lobo

|
82 installs
| (0) | Free
Emulador Android dentro do painel usando ADB.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Cursor Emulador ADB

Extensão para o Cursor IDE que adiciona um painel chamado EMULADOR dentro do Explorer, permitindo visualizar e controlar um dispositivo Android diretamente dentro da IDE usando ADB.

O objetivo do projeto é oferecer uma experiência parecida com um emulador integrado, útil para desenvolvimento Flutter, Android e testes rápidos, sem depender da janela externa do scrcpy.


Conceito do projeto

Este projeto cria um painel interno no Cursor chamado EMULADOR.

Dentro desse painel é possível:

  • visualizar a tela do Android em tempo real;
  • selecionar qual dispositivo conectado usar;
  • clicar na tela do dispositivo (tap);
  • realizar gestos de swipe;
  • simular toque longo (long press);
  • rolar a tela com a roda do mouse;
  • usar atalhos de teclado para navegação;
  • usar botões de navegação: Voltar, Home e Recentes;
  • rotacionar a tela (Portrait / Landscape);
  • enviar texto simples para o dispositivo;
  • colar o clipboard do VS Code diretamente no dispositivo;
  • enviar arquivos para /sdcard/ via adb push;
  • tirar print da tela;
  • gravar a tela do Android;
  • ajustar o zoom da visualização (40 %–150 %);
  • ver bateria e IP do dispositivo na status bar;
  • abrir o painel Logcat com filtragem em tempo real;
  • salvar prints e gravações automaticamente na pasta Downloads;
  • consultar logs da extensão diretamente pelo Cursor.

A extensão não embute a janela nativa do scrcpy.

Em vez disso, ela usa o ADB para:

  • capturar a tela com adb exec-out screencap -p | gzip -1;
  • exibir a imagem dentro de uma Webview do Cursor;
  • enviar comandos de toque com adb shell input tap;
  • enviar gestos com adb shell input swipe;
  • gravar a tela com adb shell screenrecord;
  • salvar prints e vídeos na máquina local;
  • transmitir o logcat com adb logcat.

Sobre o scrcpy

Esta extensão utiliza o ADB que acompanha o pacote do scrcpy — ferramenta open-source criada pela Genymobile para espelhamento de tela Android via USB ou Wi-Fi.

O scrcpy em si não é executado pela extensão; o que ela usa é o adb.exe que vem junto no pacote, pois ele já está configurado e pronto para uso sem instalação adicional.

scrcpy — repositório oficial: https://github.com/genymobile/scrcpy


Observação importante sobre o scrcpy

Mesmo que a extensão não execute a janela do scrcpy, ela precisa do ADB que vem junto no pacote.

Como o pacote do scrcpy já vem com o adb.exe, o caminho recomendado é colocar a pasta do scrcpy em:

C:\Scrcpy

A estrutura esperada é:

C:\Scrcpy
├── adb.exe
├── scrcpy.exe
├── scrcpy-server
└── outros arquivos do scrcpy

O arquivo mais importante para esta extensão é:

C:\Scrcpy\adb.exe

Se o scrcpy estiver em outro local, será necessário alterar a configuração:

"cursorEmulador.adbPath": "C:\\Scrcpy\\adb.exe"

Requisitos

  • Windows;
  • Cursor IDE;
  • Node.js instalado;
  • Android com modo desenvolvedor ativado;
  • Depuração USB ativada no Android;
  • dispositivo autorizado no ADB;
  • adb.exe disponível em C:\Scrcpy\adb.exe.

Configuração recomendada no Cursor

No Cursor, abra:

Ctrl + Shift + P
Preferences: Open User Settings (JSON)

Adicione as configurações:

{
  "cursorEmulador.adbPath": "C:\\Scrcpy\\adb.exe",
  "cursorEmulador.refreshMs": 450,
  "cursorEmulador.fallbackDeviceWidth": 1080,
  "cursorEmulador.fallbackDeviceHeight": 2400,
  "cursorEmulador.recordBitRate": 8000000,
  "cursorEmulador.recordMaxSeconds": 180
}

Explicação das configurações

Configuração Função
cursorEmulador.adbPath Caminho do adb.exe usado pela extensão.
cursorEmulador.refreshMs Intervalo entre atualizações da tela em milissegundos. Alterações são aplicadas sem reiniciar a extensão.
cursorEmulador.fallbackDeviceWidth Largura usada caso a extensão não consiga detectar a resolução do Android.
cursorEmulador.fallbackDeviceHeight Altura usada caso a extensão não consiga detectar a resolução do Android.
cursorEmulador.recordBitRate Qualidade da gravação de tela em bits por segundo.
cursorEmulador.recordMaxSeconds Tempo máximo da gravação em segundos.

Modos de visualização

A extensão oferece três modos de exibição, todos compartilhando o mesmo stream de captura:

Modo Como abrir
Activity Bar Clique no ícone 📱 na barra lateral esquerda
Explorer Painel EMULADOR dentro do Explorer do Cursor
Aba do editor Botão ⊞ em qualquer painel, ou Ctrl+Shift+P → Emulador: Abrir como Aba

Ao trocar de modo, a captura migra automaticamente para o painel visível sem precisar clicar em Iniciar novamente.

Comportamento da aba

  • A aba abre com largura fixa de 400 px centralizada (proporção de smartphone).
  • Enquanto a aba estiver visível, os painéis de sidebar exibem um overlay de bloqueio com botão para ir à aba.
  • Ao ocultar a aba (outro arquivo abre na frente), o overlay é removido e os sidebars ficam normais.
  • Ao fechar a aba clicando em ◧ Voltar, ela é descartada e o sidebar correspondente é focado.

Funcionalidades

Seletor de dispositivo

Dropdown que lista todos os dispositivos retornados por adb devices. O botão ⟳ ao lado atualiza a lista. Ao selecionar um dispositivo, todos os comandos ADB passam a usar -s <serial> automaticamente.


Visualização da tela

O botão Iniciar começa a capturar a tela do Android e mostrar dentro do painel EMULADOR.

A imagem é atualizada automaticamente em intervalos definidos pela configuração:

"cursorEmulador.refreshMs": 450

Quanto menor o valor, mais rápida a atualização, porém maior o consumo de processamento.


Interação com a tela

Gesto Ação
Clique rápido Tap no dispositivo
Pressionar 650 ms sem mover Long press
Arrastar Swipe
Roda do mouse Scroll vertical (proporcional à posição do cursor)

Atalhos de teclado

Funcionam quando a aba ou painel está em foco e o campo de texto não está selecionado.

Tecla Ação
Backspace / Esc Voltar
Home / H Home
R Recentes

Rotação

Dois botões na seção Navegação:

  • ↑ Portrait — aplica user_rotation = 0
  • ↻ Landscape — aplica user_rotation = 1

A detecção de resolução é atualizada automaticamente após a rotação.


Zoom

Slider visível quando conectado, variando de 40 % a 150 %.

  • Abaixo de 100 %: canvas fica menor dentro do painel.
  • Acima de 100 %: canvas fica rolável para inspecionar detalhes.

Fechar

O botão Fechar para a captura contínua e limpa a imagem do painel.


Atualizar

O botão Atualizar força uma nova captura da tela.


Print

O botão Print tira uma captura da tela atual do Android em qualidade máxima e salva automaticamente em:

C:\Users\SEU_USUARIO\Downloads\android-print-2026-05-11_14-30-10.png

Gravação

O botão Gravar inicia uma gravação da tela do Android usando:

adb shell screenrecord

O botão Parar encerra a gravação e copia o vídeo automaticamente para:

C:\Users\SEU_USUARIO\Downloads\android-gravacao-2026-05-11_14-30-10.mp4

A gravação só é removida do dispositivo após a cópia local ser concluída com sucesso.


Navegação Android

Botões de Voltar, Home e Recentes usando eventos de tecla ADB.


Envio de texto

O campo de texto permite enviar textos simples para o Android. Apenas caracteres seguros são aceitos (letras, números, espaços e pontuação básica).


Clipboard

O botão 📋 lê o conteúdo atual do clipboard do VS Code e o envia ao dispositivo via adb shell input text.


Envio de arquivo

O botão 📁 abre o seletor de arquivo nativo do VS Code. O arquivo selecionado é enviado para /sdcard/<nome-do-arquivo> via adb push.

Arrastar um arquivo sobre a tela do emulador também abre o seletor.


Logcat

O botão ≡ no cabeçalho de qualquer painel abre uma aba dedicada de Logcat com:

  • stream em tempo real;
  • cores por nível: V (cinza), D (ciano), I (verde), W (âmbar), E/F (vermelho);
  • filtro de texto ao vivo;
  • auto-scroll com toggle;
  • limite de 3 000 linhas na UI;
  • botões Parar / Reiniciar.

Informações do dispositivo

Após conectar, bateria e IP Wi-Fi são buscados em background e exibidos na status bar:

🔋85%⚡  📶192.168.1.10

Logs

O botão Logs abre o canal de saída da extensão no Cursor com todos os comandos ADB executados, erros e caminhos de arquivos salvos.


Comandos disponíveis via paleta

Comando Descrição
cursorEmulador.openTab Abre o emulador como aba do editor
cursorEmulador.openLogcat Abre o painel Logcat

Histórico de versões

Versão 0.3.0

Versão com interação avançada, seleção de dispositivos e ferramentas de diagnóstico.

  • Seletor de dispositivo com dropdown e atualização dinâmica.
  • Long press (650 ms).
  • Scroll por roda do mouse.
  • Atalhos de teclado (Backspace, Esc, Home, H, R).
  • Botões de rotação (Portrait / Landscape).
  • Bateria e IP exibidos na status bar após conectar.
  • Painel Logcat com filtragem em tempo real, cores e auto-scroll.
  • Sincronização de clipboard do VS Code para o dispositivo.
  • Envio de arquivo via file picker ou drag-and-drop.
  • Slider de zoom 40 %–150 %.
  • Bloqueio dinâmico de sidebar quando a aba está visível.
  • Largura fixa de 400 px para a aba.

Versão 0.2.0

Versão com suporte a múltiplos modos de visualização.

  • Ícone próprio na Activity Bar.
  • Painel EMULADOR também no Explorer.
  • Botões de navegação entre modos (📂, ◧, ⊞).
  • Handoff automático de captura ao trocar de painel.
  • Layout expandido na aba do editor.
  • Arquitetura refatorada com classe base EmuladorBase.

Versão 0.1.5

Versão com otimizações de performance e redução de latência.

  • Sessão shell persistente elimina overhead de spawn por frame.
  • Compressão gzip na pipeline (2–3× menos dados USB).
  • Loop adaptativo com dois canais ADB independentes.
  • Canvas com drawImage() elimina piscar entre frames.
  • Badge de FPS e KB/s em tempo real.

Versão 0.1.4

Versão com correções de robustez e redesign da interface.

  • Sanitização de texto por lista branca.
  • Redesign dos botões com variantes visuais e animações.
  • Efeito de ripple ao tocar na tela.
  • Barra de status colorida.
  • Debounce por comando.

Versões 0.1.0 – 0.1.3

  • 0.1.3: documentação completa.
  • 0.1.2: botão Fechar limpa a imagem.
  • 0.1.1: Print e Gravação de tela.
  • 0.1.0: painel inicial com espelhamento, tap, swipe e navegação.

Estrutura do projeto

cursor-emulador-adb
├── package.json
├── tsconfig.json
├── README.md
├── README.marketplace.md
├── CHANGELOG.md
├── LICENSE
├── icon.png
├── icon-activitybar.svg
└── src
    └── extension.ts

Como compilar o projeto

npm install
npm run compile

Como gerar o pacote VSIX

npm run package

Como instalar no Cursor

Ctrl + Shift + P → Extensions: Install from VSIX

Selecione o arquivo .vsix e recarregue: Ctrl + Shift + P → Developer: Reload Window.


Como testar o ADB manualmente

C:\Scrcpy\adb.exe devices

Retorno esperado:

List of devices attached
ZF524DZX59    device

Se aparecer unauthorized, desbloqueie o celular e aceite a autorização de depuração USB.


Teste de print manual

C:\Scrcpy\adb.exe exec-out screencap -p > tela.png

Teste de gravação manual

C:\Scrcpy\adb.exe shell screenrecord --time-limit 10 /sdcard/Download/teste.mp4
C:\Scrcpy\adb.exe pull /sdcard/Download/teste.mp4 "%USERPROFILE%\Downloads\teste.mp4"
C:\Scrcpy\adb.exe shell rm -f /sdcard/Download/teste.mp4

Limitações

Esta extensão usa capturas de tela contínuas via ADB, portanto não tem a mesma fluidez do scrcpy, que usa transmissão de vídeo otimizada com codec H.264. O objetivo é ter uma visualização funcional e integrada dentro do Cursor.

O comando adb shell screenrecord pode ter restrições dependendo da versão do Android e do fabricante.


Solução de problemas

O painel EMULADOR não aparece

Ctrl + Shift + P → Developer: Reload Window


A tela não atualiza

C:\Scrcpy\adb.exe devices

Se o dispositivo não aparecer como device, o Cursor não conseguirá capturar a tela.


Aparece unauthorized

C:\Scrcpy\adb.exe kill-server
C:\Scrcpy\adb.exe start-server
C:\Scrcpy\adb.exe devices

A imagem fica lenta

"cursorEmulador.refreshMs": 700

A gravação não salva

Abra os Logs e verifique a mensagem de erro. Teste manualmente com o comando acima.


Resumo

O projeto transforma o Cursor em um ambiente mais prático para desenvolvimento Android/Flutter, adicionando um painel EMULADOR com controle completo do dispositivo diretamente na IDE.

ADB recomendado em:

C:\Scrcpy\adb.exe
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft