Pack files and folders into a single, copy-pasteable document for large-language models (LLMs).
Features
Pack Selected Files/Folders
Right-click files or folder (or use the Command Palette) to run Pack for LLM, concatenating the files into one document with a customizable delimiter.
Pack Directory Tree (Tree View)
Generate a collapsible, "tree"-style listing of a folder’s structure for LLM context without listing every file path in full. `
Customizable
Define a custom file delimiter, exclude specific extensions or hidden files, or toggle whether to honor your workspace’s .gitignore definitions.
Usage
Select files or folders
In the Explorer, right-click on one or more files or folders you want to pack.
Run the command
Choose Pack for LLM from the context menu, or open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and search for Pack for LLM.
Copy/save
Copy the result or save the document for your LLM workflow.
Pack Tree (Bonus)
Use the Pack for LLM: Pack tree command to inform the LLM about your directory structure.
Extension Settings
This extension contributes the following settings (accessible via Ctrl+Shift+P → “Preferences: Open Settings (UI)” and searching for packForLLM):
packForLLM.delimiter Type: string Default: <<< FILE: ${file} >>>
Template for the delimiter inserted before each file.
packForLLM.endDelimiter Type: string Default: <<< EOF >>>
Template for the delimiter inserted after each file’s content.
packForLLM.useGitignore Type: boolean Default: true
Whether to respect the workspace’s .gitignore.
packForLLM.ignoreExtensions Type: string Default: ""
Comma-separated list of file extensions to ignore.
packForLLM.ignoreHidden Type: boolean Default: true
Whether to skip files and folders whose name begins with a dot (e.g. .env, .vscode/).
Requirements
vscode: ^1.100.0
Known Issues
Large workspaces or deeply nested structures may take time to process.