CodeSnip Search es una extensión de código abierto para Visual Studio Code que revoluciona la forma en que navegas por tu código. En lugar de buscar coincidencias exactas de texto (como el tradicional Ctrl+Shift+F), CodeSnip permite realizar búsquedas semánticas usando lenguaje natural.
Con CodeSnip, puedes preguntarle a tu editor "dónde se guarda el estado del usuario" o "lógica para reconectar la base de datos", y la extensión encontrará los fragmentos de código con el significado más cercano utilizando Inteligencia Artificial 100% local y privada.
- 🧠 Búsqueda Semántica: Encuentra fragmentos de código por su significado, no por los nombres exactos de variables o palabras clave.
- 🔒 100% Privado y Local: A diferencia de GitHub Copilot o ChatGPT, tu código NUNCA sale de tu computadora. La extensión descarga y ejecuta un modelo de embeddings de IA (
all-MiniLM-L6-v2) internamente usandotransformers.js. - ⚡ Rendimiento Optimizado: Utiliza una caché vectorial inteligente (
.vscode/codesnip-cache/) que solo re-indexa los archivos que han sido modificados. - 🚀 Búsqueda en Tiempo Real (Debounced): El QuickPick nativo de VS Code devuelve los resultados al instante a medida que pausas tu escritura.
- 🎯 Selección Automática: Al hacer clic en un resultado, la extensión abre el archivo y selecciona el bloque lógico de código completo.
- Visual Studio Code v1.80.0 o superior.
- Node.js (v18.x o superior) para compilar y probar.
Actualmente la extensión no está publicada en el Marketplace, por lo que puedes usarla y compilarla localmente:
-
Clona el repositorio:
git clone https://github.com/Dev-Donaaaiire/CodeSnip.git cd CodeSnip -
Instala las dependencias:
npm install
-
Compila y ejecuta la extensión:
- Abre la carpeta
CodeSnipen VS Code. - Presiona
F5para lanzar el Extension Development Host. (Esto abrirá una nueva ventana con la extensión cargada). - En la nueva ventana, la extensión comenzará a indexar los archivos automáticamente. Verás una barra de progreso en la esquina inferior derecha.
- Abre la carpeta
- Asegúrate de tener un proyecto/carpeta abierta en VS Code.
- Abre la Paleta de Comandos (
Cmd/Ctrl+Shift+P). - Escribe y selecciona
CodeSnip: Search Workspace. - En la barra de búsqueda, escribe tu consulta en lenguaje natural (ej. "¿Cómo se valida la contraseña del usuario?").
- Selecciona el fragmento más relevante de la lista de resultados para navegar automáticamente a él.
También puedes forzar la re-indexación manual de todo el proyecto usando el comando CodeSnip: Force Re-index Workspace.
src/indexer.ts: Escanea el workspace excluyendo inteligentemente dependencias (node_modules,dist, etc.) y fragmenta el código fuente (chunking).src/embeddingEngine.ts: Carga el modelo HuggingFaceall-MiniLM-L6-v2utilizando WebAssembly (WASM) nativo a través de@xenova/transformers.src/vectorStore.ts: Almacena de manera inmutable los embeddings y usa la función matemática de Similitud del Coseno para comparar el vector de tu consulta contra los vectores del código.src/searchPanel.ts: Controla elQuickPickasíncrono y se asegura de ignorar los filtros nativos de VS Code (alwaysShow: true) para permitir un ranking 100% semántico.
¡Las contribuciones son bienvenidas! Este es un proyecto Open Source creado para potenciar la productividad local de los desarrolladores. Siéntete libre de hacer un fork, crear nuevas ramas y abrir Pull Requests.
Distribuido bajo la Licencia MIT. Consulta el archivo LICENSE para más información.