Releases: audichuang/ClipCode
Releases · audichuang/ClipCode
Release list
ClipCode v1.2.12
Version 1.2.12 - Keep the IntelliJ and VS Code sides byte-compatible
- Fixed: A file path or content line containing U+0085 (NEL) was a header to one tool and not the other. Pasting a VS Code copy into IntelliJ silently dropped the whole file; the reverse truncated a real file and invented a phantom one. Both sides now use the same explicit character class.
- Fixed: A CRLF content line that would parse as a custom file header was not escaped, so on restore it became a phantom file and the real file came back empty. The escape check now tests the line the way the parser sees it.
- Fixed: Paste & Restore no longer relocates files that already land correctly in the target project. A flat-layout repository (requests/requests, proj/proj) restored into a differently-named checkout used to nest every correct path one level deeper into a shadow tree, leaving the real files stale.
- The clipboard wire format is unchanged: every existing payload still restores byte-for-byte as before.
ClipCode v1.2.11
Version 1.2.11 - Stop Paste & Restore from destroying files
- Fixed: When the copy side could not embed a file (over the size limit, or unreadable) it substituted a one-line comment for the body. Paste & Restore wrote that comment over the real file. Such entries are now reported as skipped and left untouched.
- Fixed: Binary files in a copied commit were decoded as text and could be written back over the real asset. The Git paths now decline them, as the plain file copy already did.
- Fixed: Restored content that the project's default encoding cannot represent was silently written as '?'. Such a file is now written as UTF-8 instead of being corrupted.
- Fixed: Copying a commit from a shallow clone treated a grafted boundary commit as an initial commit and copied the entire repository tree. It now reports that the history is shallow and leaves the clipboard unchanged.
- A Git revision that cannot be read now says why, instead of a generic message.
ClipCode v1.2.10
Version 1.2.10 - Copy a whole merge from the Git Log
- Right-clicking a merge commit in the Git Log now copies every file the merge actually brought into the receiving branch, compared against the merge's first parent.
- Previously the copy followed the IDE's combined view, which lists only conflicted files and is empty for a clean merge, so incoming files were silently missing.
- File contents come from the merge commit itself, so conflict resolutions are included and later commits or uncommitted edits are never picked up.
- Selecting individual files in the changed-files browser still copies only those files.
- A commit with no net change keeps the clipboard unchanged and says so; a revision that cannot be read reports an error instead of quietly copying nothing.
ClipCode v1.2.9
Version 1.2.9 - Ignore selected paths from the context menu
- Right-click files or folders in the Project view or editor tabs and choose ClipCode: Ignore When Copying.
- Add project-level exclude rules immediately, including multiple selections, without opening Settings.
- Reuse existing rules without duplicates and preserve active include filters.
ClipCode v1.2.8
Version 1.2.8 - Complete node_modules text copying
- Include modern JavaScript/TypeScript modules, source maps, and standard extensionless documentation when copying library roots.
- Honor the configured file-size limit for external libraries instead of silently applying an additional 10 MB cap.
- Stop recursive directory symlink cycles while preserving normal linked-package paths.
Version 1.2.7 - Batch history reads and responsive restore
- Batch eligible historical Git content reads while retaining native caching, encoding, and conversion behavior.
- Restore large clipboard payloads in short, cancellable write commands so the IDE can process UI events between batches.
- Preserve overwrite and deletion Undo/Redo, including mixed line endings and binary files. Consecutive batches share Undo; intervening IDE commands can split the group.
- Avoid repeated Git add/remove prompts during restore without changing Git settings or staging files.
Version 1.2.6 - Responsive copying and empty-file preservation
- Fixed: Empty text files are preserved when copying files or folders and can be restored from the clipboard
- Fixed: Cancelling a folder copy stops before the next file, including cancellation during the final file
- Improved: Whole-payload notification statistics run off the UI thread to keep large copies responsive
- Compatibility: Verification matrix includes IntelliJ IDEA 2025.2.6.1, 2025.3.4, 2026.1 and 2026.2.2
- This release does not claim to fix IntelliJ Git graph or macOS Metal rendering freezes
Version 1.2.5 - Reliable Git copying and faster selection
- Fixed: Staged files now copy index content instead of working-tree edits. Unstaged deletions use the index before-content; staged deletions use HEAD
- Fixed: Git history selections no longer pick up unrelated editor files or become local changes merely because their paths match
- Improved: Large Git selections read the local-change snapshot once, and duplicate paths no longer trigger repeated revision reads
- Fixed: Cancelled copies stop cleanly. Git content decoding preserves UTF-16 text without adding a BOM and handles renamed files and deleted parent directories
- Fixed: PR comparison failures are reported instead of appearing as empty diffs or a synchronized remote. Refresh also fetches for branches without an upstream
- Compatibility: Removed deprecated API calls and unnecessary Kotlin interface bridges; verified with IntelliJ IDEA 2025.2.6.1 and 2026.2.2
Version 1.2.4 - Copy statistics that describe the clipboard
- Fixed: "Total characters", "Total lines" and "Total words" now measure the whole clipboard payload instead of only the raw file contents. They previously summed each file on its own, silently leaving out every
// file:header, the blank line between files, the pre/post text and the root metadata line — everything that gets pasted but was never counted (about 2.8% of a five-file copy, roughly 1,500 characters at the 30-file limit). The estimated token count already measured the payload, so a single notification was reporting two different things - Fixed: Git and PR panel copies now report all four statistics; they previously showed the estimated token count alone
- Changed: All four numbers are now shared with the Snipcode VS Code extension, which gained the three it was missing. The two tools report identical characters, lines, words and tokens for the same copy, pinned by the shared cross-tool test fixture and verified against 300,000 randomised inputs
- The four statistics come from one linear scan of the payload, so the notification costs one pass instead of several per-file ones
Version 1.2.3 - Faster, leaner copying
- Fixed: Copying a folder no longer keeps several copies of its contents in memory. Every directory level was concatenating its whole subtree's text — so memory grew with the content size multiplied by the folder depth — purely to produce three numbers for the copy notification. Those are now counted per file as it is read
- Fixed: A large copy no longer freezes the IDE while its token count is estimated. The estimate used to split the entire payload into one string per word on the UI thread, precisely when the payload was big enough to deserve the size warning; it is now a single linear scan. The number itself is unchanged and still matches the Snipcode VS Code extension byte for byte
- Path handling no longer recompiles the same regular expressions for every file — one of them was recompiled for every path segment of every file. Filter rules and wildcard patterns are now prepared once per copy instead of once per file
- Changed: For a folder copy the notification's "Total lines" and "Total words" now match what copying those same files individually reports; the previous figures lost one line at every file boundary. The clipboard content and the estimated token count are unaffected
Version 1.2.2 - Accurate token estimate, size warnings
- Fixed: The estimated token count in the copy notification now measures the whole clipboard payload — headers, pre/post text and the root metadata line included — instead of only the raw file contents. It previously disagreed with the number the ClipCode VS Code extension (Snipcode) reported for the very same copy; both tools now always report the identical figure, pinned by a shared cross-tool test fixture
- New: Oversized copies are now colour-coded — the notification turns into a warning past 1,000,000 estimated tokens and an error past 2,000,000, so a payload too large for an AI assistant gets noticed before it is pasted
- Fixed: Git and PR panel copies report their token count too; previously the same files reported statistics from the explorer but none at all when copied as changes
Version 1.2.1 - Cross-tool format alignment
- Fixed: Paste and Restore no longer treats a lone carriage return inside file content as a line break, matching the ClipCode VS Code extension (Snipcode) parser exactly
- Clipboard wire-format assembly is now unified behind a single formatter and pinned to the VS Code extension by a shared cross-tool contract test suite, so files copied in one tool keep restoring byte-for-byte in the other
Version 1.2.0 - PR panel, folder-level alignment, tighter VS Code interop
- New: ClipCode PR tool window — pick a base branch, review the base...HEAD diff, and copy the full changed sources in one click (with an origin behind-check)
- New: Copies now include a leading
// clipcode-root: <folder>metadata line (single-root projects), matching the ClipCode VS Code extension (Snipcode) - New: Paste and Restore detects when the copied paths are off by one folder level (copied from a parent folder, or into one) and offers to adjust all paths before restoring — deterministically via the metadata line, or via an on-disk heuristic for older clipboards
- Fixed: Deleted-file markers, size-skip notices, and read-error notices in Git copies are now escaped like real content, so a custom permissive header format can no longer turn them into phantom files on restore
- Fixed: Five reliability fixes across copy, settings, and Git paths
- Cross-tool contract with Snipcode locked down by new tests: deleted entries carrying old file content still restore as deletions, and the metadata line can never become a phantom file
Version 1.1.10 - Reliable copy/restore round-trip
- Fixed: A file whose own content contains a line like
// file: ...now round-trips correctly — such lines are escaped on copy and restored verbatim on paste, instead of being split into a phantom file - Fixed: Paste and Restore preserves a file's own leading indentation and interior blank lines; only the structural separators the format inserts between files are trimmed
- Clipboard format stays compatible with the ClipCode VS Code extension (Snipcode) — both sides were updated together
Version 1.1.8 - Safer paste header parsing
- Fixed: Paste and Restore no longer treats JavaScript object properties such as
file: undefined,as ClipCode file headers, preventing restored bundles from being truncated - Fixed: Paste and Restore only accepts custom file headers when the whole line matches, so strings containing
// file:inside source content no longer split files unexpectedly
Version 1.1.7 - Wrapper root paste path detection
- Fixed: Paste and Restore now prefers an existing top-level child directory under the current project root, such as inv-web-console, before falling back to node_modules for detached Windows absolute paths
Version 1.1.6 - Paste Windows node_modules paths
- Fixed: Paste and Restore now accepts Windows absolute clipboard paths that point into node_modules packages, safely restoring them under the current project's node_modules directory when no project-root suffix is available
Version 1.1.5 - Project-relative node_modules copy paths
- Fixed: Files under project roots, including node_modules packages that IntelliJ marks as libraries, now copy with project-relative headers so Paste and Restore can resolve them reliably
Version 1.1.4 - Windows path casing compatibility
- Fixed: Paste and Restore resolves copied Windows absolute paths even when IDE project roots use different casing than the copied path
Version 1.1.3 - Restore Windows absolute paths
- Fixed: Paste and Restore now resolves copied Windows absolute paths from another machine when they point into a nested content root
Version 1.1.2 - Multi-module edge case fixes
- Fixed: Copy All Open Tabs and default copy headers now use project-root-relative paths in multi-module projects
- Fixed: PATH filters and settings path selection now use the primary project root instead of the first content root
- Fixed: Paste no longer treats a nested module parent directory as ambiguous ...
ClipCode v1.2.7
Version 1.2.7 - Batch history reads and responsive restore
- Batch eligible historical Git content reads while retaining native caching, encoding, and conversion behavior.
- Restore large clipboard payloads in short, cancellable write commands so the IDE can process UI events between batches.
- Preserve overwrite and deletion Undo/Redo, including mixed line endings and binary files. Consecutive batches share Undo; intervening IDE commands can split the group.
- Avoid repeated Git add/remove prompts during restore without changing Git settings or staging files.
Version 1.2.6 - Responsive copying and empty-file preservation
- Fixed: Empty text files are preserved when copying files or folders and can be restored from the clipboard
- Fixed: Cancelling a folder copy stops before the next file, including cancellation during the final file
- Improved: Whole-payload notification statistics run off the UI thread to keep large copies responsive
- Compatibility: Verification matrix includes IntelliJ IDEA 2025.2.6.1, 2025.3.4, 2026.1 and 2026.2.2
- This release does not claim to fix IntelliJ Git graph or macOS Metal rendering freezes
Version 1.2.5 - Reliable Git copying and faster selection
- Fixed: Staged files now copy index content instead of working-tree edits. Unstaged deletions use the index before-content; staged deletions use HEAD
- Fixed: Git history selections no longer pick up unrelated editor files or become local changes merely because their paths match
- Improved: Large Git selections read the local-change snapshot once, and duplicate paths no longer trigger repeated revision reads
- Fixed: Cancelled copies stop cleanly. Git content decoding preserves UTF-16 text without adding a BOM and handles renamed files and deleted parent directories
- Fixed: PR comparison failures are reported instead of appearing as empty diffs or a synchronized remote. Refresh also fetches for branches without an upstream
- Compatibility: Removed deprecated API calls and unnecessary Kotlin interface bridges; verified with IntelliJ IDEA 2025.2.6.1 and 2026.2.2
Version 1.2.4 - Copy statistics that describe the clipboard
- Fixed: "Total characters", "Total lines" and "Total words" now measure the whole clipboard payload instead of only the raw file contents. They previously summed each file on its own, silently leaving out every
// file:header, the blank line between files, the pre/post text and the root metadata line — everything that gets pasted but was never counted (about 2.8% of a five-file copy, roughly 1,500 characters at the 30-file limit). The estimated token count already measured the payload, so a single notification was reporting two different things - Fixed: Git and PR panel copies now report all four statistics; they previously showed the estimated token count alone
- Changed: All four numbers are now shared with the Snipcode VS Code extension, which gained the three it was missing. The two tools report identical characters, lines, words and tokens for the same copy, pinned by the shared cross-tool test fixture and verified against 300,000 randomised inputs
- The four statistics come from one linear scan of the payload, so the notification costs one pass instead of several per-file ones
Version 1.2.3 - Faster, leaner copying
- Fixed: Copying a folder no longer keeps several copies of its contents in memory. Every directory level was concatenating its whole subtree's text — so memory grew with the content size multiplied by the folder depth — purely to produce three numbers for the copy notification. Those are now counted per file as it is read
- Fixed: A large copy no longer freezes the IDE while its token count is estimated. The estimate used to split the entire payload into one string per word on the UI thread, precisely when the payload was big enough to deserve the size warning; it is now a single linear scan. The number itself is unchanged and still matches the Snipcode VS Code extension byte for byte
- Path handling no longer recompiles the same regular expressions for every file — one of them was recompiled for every path segment of every file. Filter rules and wildcard patterns are now prepared once per copy instead of once per file
- Changed: For a folder copy the notification's "Total lines" and "Total words" now match what copying those same files individually reports; the previous figures lost one line at every file boundary. The clipboard content and the estimated token count are unaffected
Version 1.2.2 - Accurate token estimate, size warnings
- Fixed: The estimated token count in the copy notification now measures the whole clipboard payload — headers, pre/post text and the root metadata line included — instead of only the raw file contents. It previously disagreed with the number the ClipCode VS Code extension (Snipcode) reported for the very same copy; both tools now always report the identical figure, pinned by a shared cross-tool test fixture
- New: Oversized copies are now colour-coded — the notification turns into a warning past 1,000,000 estimated tokens and an error past 2,000,000, so a payload too large for an AI assistant gets noticed before it is pasted
- Fixed: Git and PR panel copies report their token count too; previously the same files reported statistics from the explorer but none at all when copied as changes
Version 1.2.1 - Cross-tool format alignment
- Fixed: Paste and Restore no longer treats a lone carriage return inside file content as a line break, matching the ClipCode VS Code extension (Snipcode) parser exactly
- Clipboard wire-format assembly is now unified behind a single formatter and pinned to the VS Code extension by a shared cross-tool contract test suite, so files copied in one tool keep restoring byte-for-byte in the other
Version 1.2.0 - PR panel, folder-level alignment, tighter VS Code interop
- New: ClipCode PR tool window — pick a base branch, review the base...HEAD diff, and copy the full changed sources in one click (with an origin behind-check)
- New: Copies now include a leading
// clipcode-root: <folder>metadata line (single-root projects), matching the ClipCode VS Code extension (Snipcode) - New: Paste and Restore detects when the copied paths are off by one folder level (copied from a parent folder, or into one) and offers to adjust all paths before restoring — deterministically via the metadata line, or via an on-disk heuristic for older clipboards
- Fixed: Deleted-file markers, size-skip notices, and read-error notices in Git copies are now escaped like real content, so a custom permissive header format can no longer turn them into phantom files on restore
- Fixed: Five reliability fixes across copy, settings, and Git paths
- Cross-tool contract with Snipcode locked down by new tests: deleted entries carrying old file content still restore as deletions, and the metadata line can never become a phantom file
Version 1.1.10 - Reliable copy/restore round-trip
- Fixed: A file whose own content contains a line like
// file: ...now round-trips correctly — such lines are escaped on copy and restored verbatim on paste, instead of being split into a phantom file - Fixed: Paste and Restore preserves a file's own leading indentation and interior blank lines; only the structural separators the format inserts between files are trimmed
- Clipboard format stays compatible with the ClipCode VS Code extension (Snipcode) — both sides were updated together
Version 1.1.8 - Safer paste header parsing
- Fixed: Paste and Restore no longer treats JavaScript object properties such as
file: undefined,as ClipCode file headers, preventing restored bundles from being truncated - Fixed: Paste and Restore only accepts custom file headers when the whole line matches, so strings containing
// file:inside source content no longer split files unexpectedly
Version 1.1.7 - Wrapper root paste path detection
- Fixed: Paste and Restore now prefers an existing top-level child directory under the current project root, such as inv-web-console, before falling back to node_modules for detached Windows absolute paths
Version 1.1.6 - Paste Windows node_modules paths
- Fixed: Paste and Restore now accepts Windows absolute clipboard paths that point into node_modules packages, safely restoring them under the current project's node_modules directory when no project-root suffix is available
Version 1.1.5 - Project-relative node_modules copy paths
- Fixed: Files under project roots, including node_modules packages that IntelliJ marks as libraries, now copy with project-relative headers so Paste and Restore can resolve them reliably
Version 1.1.4 - Windows path casing compatibility
- Fixed: Paste and Restore resolves copied Windows absolute paths even when IDE project roots use different casing than the copied path
Version 1.1.3 - Restore Windows absolute paths
- Fixed: Paste and Restore now resolves copied Windows absolute paths from another machine when they point into a nested content root
Version 1.1.2 - Multi-module edge case fixes
- Fixed: Copy All Open Tabs and default copy headers now use project-root-relative paths in multi-module projects
- Fixed: PATH filters and settings path selection now use the primary project root instead of the first content root
- Fixed: Paste no longer treats a nested module parent directory as ambiguous unless an actual duplicate file exists
Version 1.1.1 - Multi-module path resolution
- Fixed: Copy now emits project-root-relative paths to preserve module prefix in multi-module projects
- Fixed: Paste correctly prefers the project root module when a clipboard path could match multiple locations
- Improved: Confirmation dialog now separates "Create (new)" from "Overwrite...
ClipCode v1.2.6
Version 1.2.6 - Responsive copying and empty-file preservation
- Fixed: Empty text files are preserved when copying files or folders and can be restored from the clipboard
- Fixed: Cancelling a folder copy stops before the next file, including cancellation during the final file
- Improved: Whole-payload notification statistics run off the UI thread to keep large copies responsive
- Compatibility: Verification matrix includes IntelliJ IDEA 2025.2.6.1, 2025.3.4, 2026.1 and 2026.2.2
- This release does not claim to fix IntelliJ Git graph or macOS Metal rendering freezes
Version 1.2.5 - Reliable Git copying and faster selection
- Fixed: Staged files now copy index content instead of working-tree edits. Unstaged deletions use the index before-content; staged deletions use HEAD
- Fixed: Git history selections no longer pick up unrelated editor files or become local changes merely because their paths match
- Improved: Large Git selections read the local-change snapshot once, and duplicate paths no longer trigger repeated revision reads
- Fixed: Cancelled copies stop cleanly. Git content decoding preserves UTF-16 text without adding a BOM and handles renamed files and deleted parent directories
- Fixed: PR comparison failures are reported instead of appearing as empty diffs or a synchronized remote. Refresh also fetches for branches without an upstream
- Compatibility: Removed deprecated API calls and unnecessary Kotlin interface bridges; verified with IntelliJ IDEA 2025.2.6.1 and 2026.2.2
Version 1.2.4 - Copy statistics that describe the clipboard
- Fixed: "Total characters", "Total lines" and "Total words" now measure the whole clipboard payload instead of only the raw file contents. They previously summed each file on its own, silently leaving out every
// file:header, the blank line between files, the pre/post text and the root metadata line — everything that gets pasted but was never counted (about 2.8% of a five-file copy, roughly 1,500 characters at the 30-file limit). The estimated token count already measured the payload, so a single notification was reporting two different things - Fixed: Git and PR panel copies now report all four statistics; they previously showed the estimated token count alone
- Changed: All four numbers are now shared with the Snipcode VS Code extension, which gained the three it was missing. The two tools report identical characters, lines, words and tokens for the same copy, pinned by the shared cross-tool test fixture and verified against 300,000 randomised inputs
- The four statistics come from one linear scan of the payload, so the notification costs one pass instead of several per-file ones
Version 1.2.3 - Faster, leaner copying
- Fixed: Copying a folder no longer keeps several copies of its contents in memory. Every directory level was concatenating its whole subtree's text — so memory grew with the content size multiplied by the folder depth — purely to produce three numbers for the copy notification. Those are now counted per file as it is read
- Fixed: A large copy no longer freezes the IDE while its token count is estimated. The estimate used to split the entire payload into one string per word on the UI thread, precisely when the payload was big enough to deserve the size warning; it is now a single linear scan. The number itself is unchanged and still matches the Snipcode VS Code extension byte for byte
- Path handling no longer recompiles the same regular expressions for every file — one of them was recompiled for every path segment of every file. Filter rules and wildcard patterns are now prepared once per copy instead of once per file
- Changed: For a folder copy the notification's "Total lines" and "Total words" now match what copying those same files individually reports; the previous figures lost one line at every file boundary. The clipboard content and the estimated token count are unaffected
Version 1.2.2 - Accurate token estimate, size warnings
- Fixed: The estimated token count in the copy notification now measures the whole clipboard payload — headers, pre/post text and the root metadata line included — instead of only the raw file contents. It previously disagreed with the number the ClipCode VS Code extension (Snipcode) reported for the very same copy; both tools now always report the identical figure, pinned by a shared cross-tool test fixture
- New: Oversized copies are now colour-coded — the notification turns into a warning past 1,000,000 estimated tokens and an error past 2,000,000, so a payload too large for an AI assistant gets noticed before it is pasted
- Fixed: Git and PR panel copies report their token count too; previously the same files reported statistics from the explorer but none at all when copied as changes
Version 1.2.1 - Cross-tool format alignment
- Fixed: Paste and Restore no longer treats a lone carriage return inside file content as a line break, matching the ClipCode VS Code extension (Snipcode) parser exactly
- Clipboard wire-format assembly is now unified behind a single formatter and pinned to the VS Code extension by a shared cross-tool contract test suite, so files copied in one tool keep restoring byte-for-byte in the other
Version 1.2.0 - PR panel, folder-level alignment, tighter VS Code interop
- New: ClipCode PR tool window — pick a base branch, review the base...HEAD diff, and copy the full changed sources in one click (with an origin behind-check)
- New: Copies now include a leading
// clipcode-root: <folder>metadata line (single-root projects), matching the ClipCode VS Code extension (Snipcode) - New: Paste and Restore detects when the copied paths are off by one folder level (copied from a parent folder, or into one) and offers to adjust all paths before restoring — deterministically via the metadata line, or via an on-disk heuristic for older clipboards
- Fixed: Deleted-file markers, size-skip notices, and read-error notices in Git copies are now escaped like real content, so a custom permissive header format can no longer turn them into phantom files on restore
- Fixed: Five reliability fixes across copy, settings, and Git paths
- Cross-tool contract with Snipcode locked down by new tests: deleted entries carrying old file content still restore as deletions, and the metadata line can never become a phantom file
Version 1.1.10 - Reliable copy/restore round-trip
- Fixed: A file whose own content contains a line like
// file: ...now round-trips correctly — such lines are escaped on copy and restored verbatim on paste, instead of being split into a phantom file - Fixed: Paste and Restore preserves a file's own leading indentation and interior blank lines; only the structural separators the format inserts between files are trimmed
- Clipboard format stays compatible with the ClipCode VS Code extension (Snipcode) — both sides were updated together
Version 1.1.8 - Safer paste header parsing
- Fixed: Paste and Restore no longer treats JavaScript object properties such as
file: undefined,as ClipCode file headers, preventing restored bundles from being truncated - Fixed: Paste and Restore only accepts custom file headers when the whole line matches, so strings containing
// file:inside source content no longer split files unexpectedly
Version 1.1.7 - Wrapper root paste path detection
- Fixed: Paste and Restore now prefers an existing top-level child directory under the current project root, such as inv-web-console, before falling back to node_modules for detached Windows absolute paths
Version 1.1.6 - Paste Windows node_modules paths
- Fixed: Paste and Restore now accepts Windows absolute clipboard paths that point into node_modules packages, safely restoring them under the current project's node_modules directory when no project-root suffix is available
Version 1.1.5 - Project-relative node_modules copy paths
- Fixed: Files under project roots, including node_modules packages that IntelliJ marks as libraries, now copy with project-relative headers so Paste and Restore can resolve them reliably
Version 1.1.4 - Windows path casing compatibility
- Fixed: Paste and Restore resolves copied Windows absolute paths even when IDE project roots use different casing than the copied path
Version 1.1.3 - Restore Windows absolute paths
- Fixed: Paste and Restore now resolves copied Windows absolute paths from another machine when they point into a nested content root
Version 1.1.2 - Multi-module edge case fixes
- Fixed: Copy All Open Tabs and default copy headers now use project-root-relative paths in multi-module projects
- Fixed: PATH filters and settings path selection now use the primary project root instead of the first content root
- Fixed: Paste no longer treats a nested module parent directory as ambiguous unless an actual duplicate file exists
Version 1.1.1 - Multi-module path resolution
- Fixed: Copy now emits project-root-relative paths to preserve module prefix in multi-module projects
- Fixed: Paste correctly prefers the project root module when a clipboard path could match multiple locations
- Improved: Confirmation dialog now separates "Create (new)" from "Overwrite (existing)" and shows the absolute target path
- Prevented: Accidental data loss when an unrelated file with the same relative path exists outside the intended module
Version 1.1.0 - Major Refactor and Git Delete Reliability
- Fixed: Pasting a file marked as [DELETED] (from Git Log, staging area, or changes view) now reliably removes the file in the current working tree
- Fixed: Git deleted-file clipboard paths now resolve consistently across project roots and modules
- Improved: Paste and Restore runs in the background, keeping the UI responsi...
ClipCode v1.2.5
Version 1.2.5 - Reliable Git copying and faster selection
- Fixed: Staged files now copy index content instead of working-tree edits. Unstaged deletions use the index before-content; staged deletions use HEAD
- Fixed: Git history selections no longer pick up unrelated editor files or become local changes merely because their paths match
- Improved: Large Git selections read the local-change snapshot once, and duplicate paths no longer trigger repeated revision reads
- Fixed: Cancelled copies stop cleanly. Git content decoding preserves UTF-16 text without adding a BOM and handles renamed files and deleted parent directories
- Fixed: PR comparison failures are reported instead of appearing as empty diffs or a synchronized remote. Refresh also fetches for branches without an upstream
- Compatibility: Removed deprecated API calls and unnecessary Kotlin interface bridges; verified with IntelliJ IDEA 2025.2.6.1 and 2026.2.2
Version 1.2.4 - Copy statistics that describe the clipboard
- Fixed: "Total characters", "Total lines" and "Total words" now measure the whole clipboard payload instead of only the raw file contents. They previously summed each file on its own, silently leaving out every
// file:header, the blank line between files, the pre/post text and the root metadata line — everything that gets pasted but was never counted (about 2.8% of a five-file copy, roughly 1,500 characters at the 30-file limit). The estimated token count already measured the payload, so a single notification was reporting two different things - Fixed: Git and PR panel copies now report all four statistics; they previously showed the estimated token count alone
- Changed: All four numbers are now shared with the Snipcode VS Code extension, which gained the three it was missing. The two tools report identical characters, lines, words and tokens for the same copy, pinned by the shared cross-tool test fixture and verified against 300,000 randomised inputs
- The four statistics come from one linear scan of the payload, so the notification costs one pass instead of several per-file ones
Version 1.2.3 - Faster, leaner copying
- Fixed: Copying a folder no longer keeps several copies of its contents in memory. Every directory level was concatenating its whole subtree's text — so memory grew with the content size multiplied by the folder depth — purely to produce three numbers for the copy notification. Those are now counted per file as it is read
- Fixed: A large copy no longer freezes the IDE while its token count is estimated. The estimate used to split the entire payload into one string per word on the UI thread, precisely when the payload was big enough to deserve the size warning; it is now a single linear scan. The number itself is unchanged and still matches the Snipcode VS Code extension byte for byte
- Path handling no longer recompiles the same regular expressions for every file — one of them was recompiled for every path segment of every file. Filter rules and wildcard patterns are now prepared once per copy instead of once per file
- Changed: For a folder copy the notification's "Total lines" and "Total words" now match what copying those same files individually reports; the previous figures lost one line at every file boundary. The clipboard content and the estimated token count are unaffected
Version 1.2.2 - Accurate token estimate, size warnings
- Fixed: The estimated token count in the copy notification now measures the whole clipboard payload — headers, pre/post text and the root metadata line included — instead of only the raw file contents. It previously disagreed with the number the ClipCode VS Code extension (Snipcode) reported for the very same copy; both tools now always report the identical figure, pinned by a shared cross-tool test fixture
- New: Oversized copies are now colour-coded — the notification turns into a warning past 1,000,000 estimated tokens and an error past 2,000,000, so a payload too large for an AI assistant gets noticed before it is pasted
- Fixed: Git and PR panel copies report their token count too; previously the same files reported statistics from the explorer but none at all when copied as changes
Version 1.2.1 - Cross-tool format alignment
- Fixed: Paste and Restore no longer treats a lone carriage return inside file content as a line break, matching the ClipCode VS Code extension (Snipcode) parser exactly
- Clipboard wire-format assembly is now unified behind a single formatter and pinned to the VS Code extension by a shared cross-tool contract test suite, so files copied in one tool keep restoring byte-for-byte in the other
Version 1.2.0 - PR panel, folder-level alignment, tighter VS Code interop
- New: ClipCode PR tool window — pick a base branch, review the base...HEAD diff, and copy the full changed sources in one click (with an origin behind-check)
- New: Copies now include a leading
// clipcode-root: <folder>metadata line (single-root projects), matching the ClipCode VS Code extension (Snipcode) - New: Paste and Restore detects when the copied paths are off by one folder level (copied from a parent folder, or into one) and offers to adjust all paths before restoring — deterministically via the metadata line, or via an on-disk heuristic for older clipboards
- Fixed: Deleted-file markers, size-skip notices, and read-error notices in Git copies are now escaped like real content, so a custom permissive header format can no longer turn them into phantom files on restore
- Fixed: Five reliability fixes across copy, settings, and Git paths
- Cross-tool contract with Snipcode locked down by new tests: deleted entries carrying old file content still restore as deletions, and the metadata line can never become a phantom file
Version 1.1.10 - Reliable copy/restore round-trip
- Fixed: A file whose own content contains a line like
// file: ...now round-trips correctly — such lines are escaped on copy and restored verbatim on paste, instead of being split into a phantom file - Fixed: Paste and Restore preserves a file's own leading indentation and interior blank lines; only the structural separators the format inserts between files are trimmed
- Clipboard format stays compatible with the ClipCode VS Code extension (Snipcode) — both sides were updated together
Version 1.1.8 - Safer paste header parsing
- Fixed: Paste and Restore no longer treats JavaScript object properties such as
file: undefined,as ClipCode file headers, preventing restored bundles from being truncated - Fixed: Paste and Restore only accepts custom file headers when the whole line matches, so strings containing
// file:inside source content no longer split files unexpectedly
Version 1.1.7 - Wrapper root paste path detection
- Fixed: Paste and Restore now prefers an existing top-level child directory under the current project root, such as inv-web-console, before falling back to node_modules for detached Windows absolute paths
Version 1.1.6 - Paste Windows node_modules paths
- Fixed: Paste and Restore now accepts Windows absolute clipboard paths that point into node_modules packages, safely restoring them under the current project's node_modules directory when no project-root suffix is available
Version 1.1.5 - Project-relative node_modules copy paths
- Fixed: Files under project roots, including node_modules packages that IntelliJ marks as libraries, now copy with project-relative headers so Paste and Restore can resolve them reliably
Version 1.1.4 - Windows path casing compatibility
- Fixed: Paste and Restore resolves copied Windows absolute paths even when IDE project roots use different casing than the copied path
Version 1.1.3 - Restore Windows absolute paths
- Fixed: Paste and Restore now resolves copied Windows absolute paths from another machine when they point into a nested content root
Version 1.1.2 - Multi-module edge case fixes
- Fixed: Copy All Open Tabs and default copy headers now use project-root-relative paths in multi-module projects
- Fixed: PATH filters and settings path selection now use the primary project root instead of the first content root
- Fixed: Paste no longer treats a nested module parent directory as ambiguous unless an actual duplicate file exists
Version 1.1.1 - Multi-module path resolution
- Fixed: Copy now emits project-root-relative paths to preserve module prefix in multi-module projects
- Fixed: Paste correctly prefers the project root module when a clipboard path could match multiple locations
- Improved: Confirmation dialog now separates "Create (new)" from "Overwrite (existing)" and shows the absolute target path
- Prevented: Accidental data loss when an unrelated file with the same relative path exists outside the intended module
Version 1.1.0 - Major Refactor and Git Delete Reliability
- Fixed: Pasting a file marked as [DELETED] (from Git Log, staging area, or changes view) now reliably removes the file in the current working tree
- Fixed: Git deleted-file clipboard paths now resolve consistently across project roots and modules
- Improved: Paste and Restore runs in the background, keeping the UI responsive for large operations
- Improved: Paste and Restore explains whether deleted targets were already absent, unresolved, or ambiguous
- Upgraded: Build toolchain now targets Java 21 and IntelliJ IDEA 2025.2+
- Added: Automated tests for clipboard parsing, path resolution, restore planning, and Git content resolution
Version 1.0.0 - Initial Release
ClipCode - The ultimate code sharing tool for AI-assisted development!
Core Features
- Smart Copy: Copy single or multiple files/directories with customizable headers
- Copy All Open Tabs: Quickly copy content fr...
ClipCode v1.2.4
Version 1.2.4 - Copy statistics that describe the clipboard
- Fixed: "Total characters", "Total lines" and "Total words" now measure the whole clipboard payload instead of only the raw file contents. They previously summed each file on its own, silently leaving out every
// file:header, the blank line between files, the pre/post text and the root metadata line — everything that gets pasted but was never counted (about 2.8% of a five-file copy, roughly 1,500 characters at the 30-file limit). The estimated token count already measured the payload, so a single notification was reporting two different things - Fixed: Git and PR panel copies now report all four statistics; they previously showed the estimated token count alone
- Changed: All four numbers are now shared with the Snipcode VS Code extension, which gained the three it was missing. The two tools report identical characters, lines, words and tokens for the same copy, pinned by the shared cross-tool test fixture and verified against 300,000 randomised inputs
- The four statistics come from one linear scan of the payload, so the notification costs one pass instead of several per-file ones
Version 1.2.3 - Faster, leaner copying
- Fixed: Copying a folder no longer keeps several copies of its contents in memory. Every directory level was concatenating its whole subtree's text — so memory grew with the content size multiplied by the folder depth — purely to produce three numbers for the copy notification. Those are now counted per file as it is read
- Fixed: A large copy no longer freezes the IDE while its token count is estimated. The estimate used to split the entire payload into one string per word on the UI thread, precisely when the payload was big enough to deserve the size warning; it is now a single linear scan. The number itself is unchanged and still matches the Snipcode VS Code extension byte for byte
- Path handling no longer recompiles the same regular expressions for every file — one of them was recompiled for every path segment of every file. Filter rules and wildcard patterns are now prepared once per copy instead of once per file
- Changed: For a folder copy the notification's "Total lines" and "Total words" now match what copying those same files individually reports; the previous figures lost one line at every file boundary. The clipboard content and the estimated token count are unaffected
Version 1.2.2 - Accurate token estimate, size warnings
- Fixed: The estimated token count in the copy notification now measures the whole clipboard payload — headers, pre/post text and the root metadata line included — instead of only the raw file contents. It previously disagreed with the number the ClipCode VS Code extension (Snipcode) reported for the very same copy; both tools now always report the identical figure, pinned by a shared cross-tool test fixture
- New: Oversized copies are now colour-coded — the notification turns into a warning past 1,000,000 estimated tokens and an error past 2,000,000, so a payload too large for an AI assistant gets noticed before it is pasted
- Fixed: Git and PR panel copies report their token count too; previously the same files reported statistics from the explorer but none at all when copied as changes
Version 1.2.1 - Cross-tool format alignment
- Fixed: Paste and Restore no longer treats a lone carriage return inside file content as a line break, matching the ClipCode VS Code extension (Snipcode) parser exactly
- Clipboard wire-format assembly is now unified behind a single formatter and pinned to the VS Code extension by a shared cross-tool contract test suite, so files copied in one tool keep restoring byte-for-byte in the other
Version 1.2.0 - PR panel, folder-level alignment, tighter VS Code interop
- New: ClipCode PR tool window — pick a base branch, review the base...HEAD diff, and copy the full changed sources in one click (with an origin behind-check)
- New: Copies now include a leading
// clipcode-root: <folder>metadata line (single-root projects), matching the ClipCode VS Code extension (Snipcode) - New: Paste and Restore detects when the copied paths are off by one folder level (copied from a parent folder, or into one) and offers to adjust all paths before restoring — deterministically via the metadata line, or via an on-disk heuristic for older clipboards
- Fixed: Deleted-file markers, size-skip notices, and read-error notices in Git copies are now escaped like real content, so a custom permissive header format can no longer turn them into phantom files on restore
- Fixed: Five reliability fixes across copy, settings, and Git paths
- Cross-tool contract with Snipcode locked down by new tests: deleted entries carrying old file content still restore as deletions, and the metadata line can never become a phantom file
Version 1.1.10 - Reliable copy/restore round-trip
- Fixed: A file whose own content contains a line like
// file: ...now round-trips correctly — such lines are escaped on copy and restored verbatim on paste, instead of being split into a phantom file - Fixed: Paste and Restore preserves a file's own leading indentation and interior blank lines; only the structural separators the format inserts between files are trimmed
- Clipboard format stays compatible with the ClipCode VS Code extension (Snipcode) — both sides were updated together
Version 1.1.8 - Safer paste header parsing
- Fixed: Paste and Restore no longer treats JavaScript object properties such as
file: undefined,as ClipCode file headers, preventing restored bundles from being truncated - Fixed: Paste and Restore only accepts custom file headers when the whole line matches, so strings containing
// file:inside source content no longer split files unexpectedly
Version 1.1.7 - Wrapper root paste path detection
- Fixed: Paste and Restore now prefers an existing top-level child directory under the current project root, such as inv-web-console, before falling back to node_modules for detached Windows absolute paths
Version 1.1.6 - Paste Windows node_modules paths
- Fixed: Paste and Restore now accepts Windows absolute clipboard paths that point into node_modules packages, safely restoring them under the current project's node_modules directory when no project-root suffix is available
Version 1.1.5 - Project-relative node_modules copy paths
- Fixed: Files under project roots, including node_modules packages that IntelliJ marks as libraries, now copy with project-relative headers so Paste and Restore can resolve them reliably
Version 1.1.4 - Windows path casing compatibility
- Fixed: Paste and Restore resolves copied Windows absolute paths even when IDE project roots use different casing than the copied path
Version 1.1.3 - Restore Windows absolute paths
- Fixed: Paste and Restore now resolves copied Windows absolute paths from another machine when they point into a nested content root
Version 1.1.2 - Multi-module edge case fixes
- Fixed: Copy All Open Tabs and default copy headers now use project-root-relative paths in multi-module projects
- Fixed: PATH filters and settings path selection now use the primary project root instead of the first content root
- Fixed: Paste no longer treats a nested module parent directory as ambiguous unless an actual duplicate file exists
Version 1.1.1 - Multi-module path resolution
- Fixed: Copy now emits project-root-relative paths to preserve module prefix in multi-module projects
- Fixed: Paste correctly prefers the project root module when a clipboard path could match multiple locations
- Improved: Confirmation dialog now separates "Create (new)" from "Overwrite (existing)" and shows the absolute target path
- Prevented: Accidental data loss when an unrelated file with the same relative path exists outside the intended module
Version 1.1.0 - Major Refactor and Git Delete Reliability
- Fixed: Pasting a file marked as [DELETED] (from Git Log, staging area, or changes view) now reliably removes the file in the current working tree
- Fixed: Git deleted-file clipboard paths now resolve consistently across project roots and modules
- Improved: Paste and Restore runs in the background, keeping the UI responsive for large operations
- Improved: Paste and Restore explains whether deleted targets were already absent, unresolved, or ambiguous
- Upgraded: Build toolchain now targets Java 21 and IntelliJ IDEA 2025.2+
- Added: Automated tests for clipboard parsing, path resolution, restore planning, and Git content resolution
Version 1.0.0 - Initial Release
ClipCode - The ultimate code sharing tool for AI-assisted development!
Core Features
- Smart Copy: Copy single or multiple files/directories with customizable headers
- Copy All Open Tabs: Quickly copy content from all open editor tabs
- Statistics: Shows file count, lines, words, and estimated token count
Git Integration
- Copy from Git Staging Area (staged/unstaged files)
- Copy from Git Changes view with change type labels ([NEW], [MODIFIED], [DELETED], [MOVED])
- Copy from Git Log/History window
Paste & Restore
- Restore files from clipboard content (Ctrl+Shift+Alt+V)
- Automatic directory structure creation
- Smart parsing of Git change labels
- Overwrite protection with confirmation dialog
Advanced Filtering
- PATH filters: Include/exclude specific directories
- PATTERN filters: Wildcards for file names (e.g., .java, test_)
- Individual rule enable/disable
- File size and count limits
Customization
- Configurable header format with $FILE_PATH placeholder
- Pre/post text wrappers
- Notification preferences
Compatibility: IntelliJ IDEA 2025.2+ and all JetBrains IDEs
ClipCode v1.2.3
Version 1.2.3 - Faster, leaner copying
- Fixed: Copying a folder no longer keeps several copies of its contents in memory. Every directory level was concatenating its whole subtree's text — so memory grew with the content size multiplied by the folder depth — purely to produce three numbers for the copy notification. Those are now counted per file as it is read
- Fixed: A large copy no longer freezes the IDE while its token count is estimated. The estimate used to split the entire payload into one string per word on the UI thread, precisely when the payload was big enough to deserve the size warning; it is now a single linear scan. The number itself is unchanged and still matches the Snipcode VS Code extension byte for byte
- Path handling no longer recompiles the same regular expressions for every file — one of them was recompiled for every path segment of every file. Filter rules and wildcard patterns are now prepared once per copy instead of once per file
- Changed: For a folder copy the notification's "Total lines" and "Total words" now match what copying those same files individually reports; the previous figures lost one line at every file boundary. The clipboard content and the estimated token count are unaffected
Version 1.2.2 - Accurate token estimate, size warnings
- Fixed: The estimated token count in the copy notification now measures the whole clipboard payload — headers, pre/post text and the root metadata line included — instead of only the raw file contents. It previously disagreed with the number the ClipCode VS Code extension (Snipcode) reported for the very same copy; both tools now always report the identical figure, pinned by a shared cross-tool test fixture
- New: Oversized copies are now colour-coded — the notification turns into a warning past 1,000,000 estimated tokens and an error past 2,000,000, so a payload too large for an AI assistant gets noticed before it is pasted
- Fixed: Git and PR panel copies report their token count too; previously the same files reported statistics from the explorer but none at all when copied as changes
Version 1.2.1 - Cross-tool format alignment
- Fixed: Paste and Restore no longer treats a lone carriage return inside file content as a line break, matching the ClipCode VS Code extension (Snipcode) parser exactly
- Clipboard wire-format assembly is now unified behind a single formatter and pinned to the VS Code extension by a shared cross-tool contract test suite, so files copied in one tool keep restoring byte-for-byte in the other
Version 1.2.0 - PR panel, folder-level alignment, tighter VS Code interop
- New: ClipCode PR tool window — pick a base branch, review the base...HEAD diff, and copy the full changed sources in one click (with an origin behind-check)
- New: Copies now include a leading
// clipcode-root: <folder>metadata line (single-root projects), matching the ClipCode VS Code extension (Snipcode) - New: Paste and Restore detects when the copied paths are off by one folder level (copied from a parent folder, or into one) and offers to adjust all paths before restoring — deterministically via the metadata line, or via an on-disk heuristic for older clipboards
- Fixed: Deleted-file markers, size-skip notices, and read-error notices in Git copies are now escaped like real content, so a custom permissive header format can no longer turn them into phantom files on restore
- Fixed: Five reliability fixes across copy, settings, and Git paths
- Cross-tool contract with Snipcode locked down by new tests: deleted entries carrying old file content still restore as deletions, and the metadata line can never become a phantom file
Version 1.1.10 - Reliable copy/restore round-trip
- Fixed: A file whose own content contains a line like
// file: ...now round-trips correctly — such lines are escaped on copy and restored verbatim on paste, instead of being split into a phantom file - Fixed: Paste and Restore preserves a file's own leading indentation and interior blank lines; only the structural separators the format inserts between files are trimmed
- Clipboard format stays compatible with the ClipCode VS Code extension (Snipcode) — both sides were updated together
Version 1.1.8 - Safer paste header parsing
- Fixed: Paste and Restore no longer treats JavaScript object properties such as
file: undefined,as ClipCode file headers, preventing restored bundles from being truncated - Fixed: Paste and Restore only accepts custom file headers when the whole line matches, so strings containing
// file:inside source content no longer split files unexpectedly
Version 1.1.7 - Wrapper root paste path detection
- Fixed: Paste and Restore now prefers an existing top-level child directory under the current project root, such as inv-web-console, before falling back to node_modules for detached Windows absolute paths
Version 1.1.6 - Paste Windows node_modules paths
- Fixed: Paste and Restore now accepts Windows absolute clipboard paths that point into node_modules packages, safely restoring them under the current project's node_modules directory when no project-root suffix is available
Version 1.1.5 - Project-relative node_modules copy paths
- Fixed: Files under project roots, including node_modules packages that IntelliJ marks as libraries, now copy with project-relative headers so Paste and Restore can resolve them reliably
Version 1.1.4 - Windows path casing compatibility
- Fixed: Paste and Restore resolves copied Windows absolute paths even when IDE project roots use different casing than the copied path
Version 1.1.3 - Restore Windows absolute paths
- Fixed: Paste and Restore now resolves copied Windows absolute paths from another machine when they point into a nested content root
Version 1.1.2 - Multi-module edge case fixes
- Fixed: Copy All Open Tabs and default copy headers now use project-root-relative paths in multi-module projects
- Fixed: PATH filters and settings path selection now use the primary project root instead of the first content root
- Fixed: Paste no longer treats a nested module parent directory as ambiguous unless an actual duplicate file exists
Version 1.1.1 - Multi-module path resolution
- Fixed: Copy now emits project-root-relative paths to preserve module prefix in multi-module projects
- Fixed: Paste correctly prefers the project root module when a clipboard path could match multiple locations
- Improved: Confirmation dialog now separates "Create (new)" from "Overwrite (existing)" and shows the absolute target path
- Prevented: Accidental data loss when an unrelated file with the same relative path exists outside the intended module
Version 1.1.0 - Major Refactor and Git Delete Reliability
- Fixed: Pasting a file marked as [DELETED] (from Git Log, staging area, or changes view) now reliably removes the file in the current working tree
- Fixed: Git deleted-file clipboard paths now resolve consistently across project roots and modules
- Improved: Paste and Restore runs in the background, keeping the UI responsive for large operations
- Improved: Paste and Restore explains whether deleted targets were already absent, unresolved, or ambiguous
- Upgraded: Build toolchain now targets Java 21 and IntelliJ IDEA 2025.2+
- Added: Automated tests for clipboard parsing, path resolution, restore planning, and Git content resolution
Version 1.0.0 - Initial Release
ClipCode - The ultimate code sharing tool for AI-assisted development!
Core Features
- Smart Copy: Copy single or multiple files/directories with customizable headers
- Copy All Open Tabs: Quickly copy content from all open editor tabs
- Statistics: Shows file count, lines, words, and estimated token count
Git Integration
- Copy from Git Staging Area (staged/unstaged files)
- Copy from Git Changes view with change type labels ([NEW], [MODIFIED], [DELETED], [MOVED])
- Copy from Git Log/History window
Paste & Restore
- Restore files from clipboard content (Ctrl+Shift+Alt+V)
- Automatic directory structure creation
- Smart parsing of Git change labels
- Overwrite protection with confirmation dialog
Advanced Filtering
- PATH filters: Include/exclude specific directories
- PATTERN filters: Wildcards for file names (e.g., .java, test_)
- Individual rule enable/disable
- File size and count limits
Customization
- Configurable header format with $FILE_PATH placeholder
- Pre/post text wrappers
- Notification preferences
Compatibility: IntelliJ IDEA 2025.2+ and all JetBrains IDEs