Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>MultiCopynator: copy files as bundleNew to Visual Studio Code? Get it now.
MultiCopynator: copy files as bundle

MultiCopynator: copy files as bundle

Jan Pereira

|
15 installs
| (0) | Free
VS Code extension to copy multiple files and folders as a single text block, including their paths and contents.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

MultiCopynator — copy multiple files as one block

VS Code Marketplace Installs Rating

VS Code extension that copies multiple files and folders as a single text block, including relative paths and content with language-aware code fences.

In VS Code Explorer:

  • Select one or more files and/or folders.
  • Right-click → “Copy selection as bundle”.
  • The result is copied to your clipboard with optional metadata and triple backtick code fences.

Example output

- Name: "src/extension.ts"
- Size: "12345 bytes"
- Relative path: "src/extension.ts"
```ts
// file content…
```

```json
{ "package": "content…" }
```

Features

  • Copy multiple files and folders into a single text output, sorted by path.
  • Language detection for code fences (```lang) based on file extension.
  • Automatically skips binary files.
  • Configurable glob filters (by default ignores node_modules, .git, images, PDFs, zips, etc.).
  • Total size limit to avoid huge pastes (with smart truncation of the last file if needed).
  • Configurable truncation for large JSON files.
  • Option to exclude Markdown files from the copy.
  • Optional per-file metadata (Name/Size/Relative path) outside or inside the code fence.
  • Copy summary after completion: file count, approx. bytes, and any skips/truncation.

Command

  • Explorer context menu: “Copy selection as bundle” (id: multicopy.copyAsBundle).

Settings

These settings live under multicopy.* in VS Code settings:

  • multicopy.maxBytes (number, default 20000000)

    • Maximum total bytes to copy. If exceeded, the last file may be truncated.
  • multicopy.separator (string, default "\n\n")

    • Separator between files in the final block.
  • multicopy.includeHeaders (boolean, default true)

    • Include per-file metadata: Name, Size, Relative path.
  • multicopy.metadataInsideFence (boolean, default false)

    • If true, metadata is placed inside the code fence; if false, outside.
  • multicopy.excludeMarkdown (boolean, default true)

    • Exclude .md files from the copy.
  • multicopy.maxJsonBytes (number, default 200000)

    • Maximum size for including full JSON. Larger files are truncated and marked accordingly.
  • multicopy.ignoreGlobs (array of strings)

    • Glob patterns to ignore. By default: **/node_modules/**, **/.git/**, **/*.png, **/*.jpg, **/*.jpeg, **/*.gif, **/*.pdf, **/*.zip.

How it works

  • Folders are expanded recursively when selected.
  • Output is sorted alphabetically by path for stable results.
  • Binary detection uses a simple heuristic and skips likely-binary files.
  • JSON truncation is controlled by multicopy.maxJsonBytes, independent from the global multicopy.maxBytes limit.
  • If nothing remains after filters (e.g., binary or ignored by globs), a warning is shown.

Installation

  • Marketplace: janpereira-dev.multicopynator

Localization

The extension is localized (es, es-ES, pt-BR, pt-PT, en-US).

Untrusted workspaces

Works in untrusted workspaces. It only reads files to build the copied block.

Tips

  • Great for sharing code context in issues, PRs, or chat, keeping paths and syntax highlighting.
  • Adjust maxBytes for larger shares; mind the target platform limits where you paste.
  • Customize ignoreGlobs to filter artifacts (dist, build, .lock, etc.).

Known limitations

  • Binary detection is heuristic; some unusual text files might be treated as binary.
  • Very low maxBytes values can result in a partial copy of the first file only.
  • Images and binaries are skipped by design; attach them separately if needed.

License

MIT © 2024–present — see LICENSE.

Español

Extensión para Visual Studio Code que permite copiar múltiples archivos y carpetas como un único bloque de texto, incluyendo rutas relativas y contenidos con resaltado por lenguaje.

En el Explorador de VS Code:

  • Selecciona uno o varios archivos y/o carpetas.
  • Clic derecho → “Copiar selección como bloque”.
  • El resultado se copia al portapapeles con metadatos opcionales y bloques de código con triple acento grave.

Ejemplo de salida

- Name: "src/extension.ts"
- Size: "12345 bytes"
- Relative path: "src/extension.ts"
```ts
// contenido del archivo…
```

```json
{ "package": "contenido…" }
```

Características

  • Copia múltiples archivos y carpetas como un texto único, ordenado por ruta.
  • Detección de lenguaje para las cercas de código (```lang) según la extensión.
  • Omite archivos binarios automáticamente.
  • Filtrado por patrones glob configurables (por defecto ignora node_modules, .git, imágenes, PDFs, zips, etc.).
  • Límite total de bytes para evitar desbordes (con truncado inteligente del último archivo si es necesario).
  • Truncado configurable para JSON grande (evita pegar JSONs enormes completos).
  • Posibilidad de excluir Markdown del copiado.
  • Metadatos opcionales por archivo (Nombre/Tamaño/Ruta relativa) fuera o dentro del bloque de código.
  • Mensaje de estado tras copiar: cuenta de archivos, bytes aproximados y avisos (saltados/truncados).

Comando

  • Menú contextual del Explorador: “Copiar selección como bloque” (id: multicopy.copyAsBundle).

Configuración

Estos ajustes están bajo multicopy.* en la configuración de VS Code:

  • multicopy.maxBytes (number, por defecto 20000000)

    • Límite máximo de bytes del bloque total a copiar. Si se excede, el último archivo puede truncarse.
  • multicopy.separator (string, por defecto "\n\n")

    • Texto separador entre cada archivo en el bloque final.
  • multicopy.includeHeaders (boolean, por defecto true)

    • Incluye metadatos por archivo: Nombre, Tamaño y Ruta relativa.
  • multicopy.metadataInsideFence (boolean, por defecto false)

    • Si es true, los metadatos se colocan dentro de la cerca de código; si es false, fuera.
  • multicopy.excludeMarkdown (boolean, por defecto true)

    • Excluye archivos .md del copiado.
  • multicopy.maxJsonBytes (number, por defecto 200000)

    • Tamaño máximo para incluir JSON completo. Si el archivo JSON sobrepasa este límite, se corta y se añade una marca de truncado.
  • multicopy.ignoreGlobs (array de cadenas)

    • Patrones glob a ignorar. Por defecto incluye: **/node_modules/**, **/.git/**, **/*.png, **/*.jpg, **/*.jpeg, **/*.gif, **/*.pdf, **/*.zip.

Detalles de funcionamiento

  • Los archivos se expanden al seleccionar carpetas, y se listan de forma recursiva.
  • El orden final está alfabetizado por ruta para obtener salidas consistentes.
  • Detección de binarios por inspección del contenido; si parece binario, se omite.
  • Para JSON, el truncado respeta multicopy.maxJsonBytes de forma independiente al límite total multicopy.maxBytes.
  • Cuando no hay nada que copiar tras filtros (p. ej., todo binario o globs), se muestra un aviso.

Instalación

  • Marketplace: janpereira-dev.multicopynator

Idiomas

La extensión está localizada (es, es-ES, pt-BR, pt-PT, en-US).

Permisos y espacios de trabajo no confiables

Funciona en espacios no confiables. Solo lee archivos para construir el bloque a copiar.

Sugerencias de uso

  • Útil para compartir contextos de código en issues, PRs o chats, conservando rutas y resaltado.
  • Ajusta maxBytes si planeas compartir repos grandes; ten en cuenta las restricciones de cada plataforma donde lo pegarás.
  • Personaliza ignoreGlobs para filtrar artefactos (dist, build, .lock, etc.).

Limitaciones conocidas

  • La detección de binarios es heurística; archivos de texto con caracteres de control atípicos pueden considerarse binarios.
  • Si el límite maxBytes es muy bajo, podrías obtener solo un parcial del primer archivo.
  • Imágenes y binarios se omiten por diseño; si necesitas incluirlos, adjúntalos por separado.

Licencia

MIT © 2024–presente — ver LICENSE.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft