Skip to content

Export2AI v1.2.6

Choose a tag to compare

@github-actions github-actions released this 31 May 01:56
· 19 commits to main since this release

Export2AI v1.2.6

Released 2026-05-31.

Export2AI turns any workspace folder into a clean, AI-ready .zip — it skips junk like node_modules, optionally strips comments and compresses code, and shows an offline token estimate for your target model (exact for OpenAI, approximate for others).

What's in this release

Added

  • Single-file copy command — right-click a file in Explorer and choose Export2AI: Copy Content to Clipboard to copy exact UTF-8 text without creating a zip. The command rejects folders, multi-selects, binary files, invalid UTF-8, read failures, and clipboard failures with visible Export2AI messages instead of quiet no-ops.
  • Packaged extension artwork — the VSIX manifest now points at icons/icon-1254x1254.png for Cursor, VS Code Marketplace, and Open VSX, and the README starts with the packaged icons/gh_banner.png banner at its native aspect ratio.

Changed

  • Marketplace README spacing — moved the README heading and summary above the banner image and removed fixed banner dimensions so Open VSX / Cursor render the Overview tab without large blank vertical gaps.
  • VSIX output folder — npm run package now writes release packages to build/export2ai-{version}.vsix instead of the repository root. Release automation, docs, and release notes now use the same path.
  • Marketplace asset validation — release automation packages the VSIX before upload/publish and runs test:marketplace-assets against the embedded manifest icon path and PNG dimensions.
  • Copy structure default format — export2ai.outputFormat now defaults to plaintext instead of markdown.
  • Instant Explorer folder badges (single-pass aggregation) — token badges for every folder are now computed from one workspace walk instead of a separate subtree scan per folder. TokenCounter.countFilesPerPath() tokenizes each file once and aggregateDirectoryEstimates() sums those counts up each file's ancestor directories, caching the root and every folder in a single pass before firing one decoration-refresh event. provideFileDecoration is now a synchronous cache read (the same approach VS Code's built-in Git decoration provider uses).
  • Full-extension debug logging — export2ai.debug now covers activation, command registration, settings navigation, zip creation, copy-structure, single-file copy, token-estimate refreshes, ignore setup, and file collection. Output lines use the Export2AI channel and a compact local-PC timestamp instead of UTC ISO strings.
  • Visible debug startup — Export2AI now activates after workbench startup, so when export2ai.debug is already enabled the Export2AI Output channel is revealed with the activation log; when debug is turned on while the extension is running, the channel is revealed and a visible debug: enabled marker is written.
  • Debug scope handling — checking export2ai.debug at User scope now enables diagnostics even if a workspace setting still contains export2ai.debug: false; configuration reads no longer emit resource-scope warnings for window-scoped settings.
  • Lazy debug channel creation — the Export2AI Output channel is not created while export2ai.debug is off. Debug defaults to false and logging starts only after the User or Workspace setting is checked.
  • Published extension identity — marketplace builds now use publisher avnsx, name export2ai, and extension ID avnsx.export2ai.

Fixed

  • Redundant token scanning — the old design re-read and re-tokenized each file once per ancestor folder (O(depth × files)), so badges appeared one folder at a time and large repos paid repeated I/O. Files are now read and tokenized exactly once per refresh; per-folder on-demand scans remain only as a fallback during the initial ~5 s deferred-scan window (and for non-primary roots in multi-root workspaces).
  • Stale estimates after edits — a workspace refresh now performs a fresh walk and rebuilds the folder cache, so saving, creating, deleting, or renaming files updates the status bar and badges (previously the cached root short-circuited the refresh).
  • Debug setting respected — routine settings-navigation diagnostics no longer write to Output when export2ai.debug is off, including delayed cooldown messages.
  • Zip completion hardening — token-estimate refresh failures no longer abort zip creation or hide the created zip notification, and zip-path clipboard failures now show a visible Export2AI error.

Install

From the VSIX (this release):

  1. Download export2ai-1.2.6.vsix from the assets below.
  2. In Cursor / VS Code: Extensions → ⋯ → Install from VSIX… and pick the file.
    Or from a terminal: code --install-extension export2ai-1.2.6.vsix

From source:

npm install
npm run package   # builds build/export2ai-1.2.6.vsix

Licensed under the GNU General Public License v3.0.