Skip to content

laststance/expansion-pack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Expansion Pack

A self-contained VS Code extension that replaces a curated set of utility extensions with trusted local implementations.

The original copy-to feature remains available as one feature inside Expansion Pack.

VS Code Marketplace VSCode License

Migration Status

Original extension Expansion Pack status What it does
Bookmarks Implemented core Toggle, list, clear, and navigate line bookmarks in the active workspace.
Markdown Preview Mermaid Support Implemented core Render Mermaid fenced code blocks inside Markdown preview.
Better TOML Implemented core Add TOML file recognition, syntax highlighting, brackets, comments, and basic diagnostics.
npm Intellisense Implemented core Suggest packages from workspace package.json inside import and require strings.
Bracket Select Implemented core Select text inside or including the nearest bracket pair.
PostCSS Language Support Implemented core Add PostCSS file recognition, syntax highlighting, brackets, comments, and basic diagnostics.
Comment Anchors Implemented core Highlight and list configured anchor tags such as TODO, FIXME, and ANCHOR.
Code Runner Implemented core Run the active file in a reusable terminal using a language executor map.
Git Tree Compare Implemented core Compare the working tree against another git ref in an Explorer tree view.
Color Highlight Implemented core Highlight visible CSS color literals in the editor.
Copy File Name Implemented core Copy selected Explorer item names, with or without extensions.
Git File History Implemented core Browse commit history for the current file and open commit diffs.
SQLite Viewer Implemented core Inspect SQLite table previews in a read-only webview.
YAML Implemented core Add YAML file recognition, syntax highlighting, brackets, comments, and basic diagnostics.
Copy File Path with Line Number Implemented core Copy the active file path with current line and column.
Surround Implemented core Wrap current selections with parentheses, quotes, brackets, braces, or backticks.

Features

Copy To

  1. Right-click a file or folder in Explorer.
  2. Select Expansion Pack: Copy to....
  3. Choose a configured preset or Browse....

Settings:

{
  "expansionPack.copyTo.destinationPath": "~/Downloads",
  "expansionPack.copyTo.presets": [
    { "label": "Downloads", "path": "~/Downloads" }
  ]
}

Legacy copyTo.destinationPath and copyTo.presets settings are still read as fallbacks.

Bookmarks

Use the Command Palette:

  • Expansion Pack: Toggle Bookmark
  • Expansion Pack: List Bookmarks
  • Expansion Pack: Go to Next Bookmark
  • Expansion Pack: Go to Previous Bookmark
  • Expansion Pack: Clear Bookmarks

Bookmarked lines are highlighted in visible editors and stored in workspace state.

Markdown Preview Mermaid Support

  1. Open a Markdown file.
  2. Add a fenced code block with mermaid as the language.
  3. Run VS Code's built-in Markdown: Open Preview command.

Example:

```mermaid
graph TD
  A[Start] --> B[Done]
```

Expansion Pack renders the diagram in the Markdown preview using the bundled mermaid package.

{
  "expansionPack.markdownMermaid.languages": ["mermaid"]
}

Better TOML

Open .toml files or Pipfile.

Expansion Pack provides TOML language recognition, comments, bracket pairing, syntax highlighting, and basic diagnostics for duplicate keys and invalid table headers.

npm Intellisense

  1. Open a JavaScript or TypeScript file.
  2. Type inside an import source, for example import React from ".
  3. Completion suggestions include dependencies from workspace package.json files.

Bracket Select

Use the Command Palette or editor context menu:

  • Expansion Pack: Select Inside Brackets
  • Expansion Pack: Select Including Brackets

Supported bracket pairs are (), [], {}, and <>.

PostCSS Language Support

Open .pcss, .postcss, or .css files and choose PostCSS as the language mode when needed.

Expansion Pack provides PostCSS language recognition, block comments, bracket pairing, syntax highlighting for at-rules, variables, custom properties, selectors, values, and basic unmatched-brace diagnostics.

Comment Anchors

Comment Anchors scans open files and adds informational diagnostics for configured tags.

Use Expansion Pack: List Comment Anchors to jump to anchors in open files.

{
  "expansionPack.commentAnchors.tags": [
    "ANCHOR",
    "TODO",
    "FIXME",
    "NOTE",
    "REVIEW",
    "SECTION"
  ]
}

Code Runner

  1. Open a file.
  2. Run Expansion Pack: Run Code.
  3. The file runs in the reusable Expansion Pack Runner terminal.

Default executors:

VS Code language id Executor
javascript, javascriptreact node
typescript, typescriptreact npx ts-node
python python3
ruby ruby
php php
shellscript bash

Override executors with:

{
  "expansionPack.codeRunner.executorMap": {
    "typescript": "pnpm exec tsx {file}",
    "javascript": "node"
  },
  "expansionPack.codeRunner.saveBeforeRun": true
}

Git Tree Compare

  1. Open a git workspace.
  2. Open the Explorer side bar.
  3. Use the Git Tree Compare view.
  4. Use the branch icon to change the base ref, or the refresh icon to reload.
  5. Select a changed file to open it, or use the item context menu to open a diff.

Color Highlight

Open a file containing color literals such as #ffcc00, rgb(255, 204, 0), or hsl(48, 100%, 50%).

Expansion Pack highlights matching literals in visible editors automatically.

Copy File Name

  1. Right-click one or more files/folders in Explorer.
  2. Select Expansion Pack: Copy File Name or Expansion Pack: Copy File Name Without Extension.
  3. Names are copied to the clipboard, one per line.

Git File History

  1. Open a file tracked by git.
  2. Run Expansion Pack: Open Git File History from the Command Palette, editor context menu, or Explorer context menu.
  3. Pick a commit.
  4. Expansion Pack opens a diff for that file at the selected commit.

The command reads up to 50 commits with git log --follow.

SQLite Viewer

  1. Right-click a .db, .sqlite, or .sqlite3 file.
  2. Select Expansion Pack: Open SQLite Viewer.
  3. Expansion Pack opens a read-only webview with table previews.

SQLite Viewer uses the local sqlite3 CLI and displays the first 100 rows per user table.

YAML

Open .yaml, .yml, .eyaml, or .eyml files.

Expansion Pack provides YAML language recognition, comments, bracket pairing, syntax highlighting, and basic diagnostics for tab indentation and suspicious mapping entries.

Copy File Path with Line Number

  1. Put the cursor in an editor.
  2. Run Expansion Pack: Copy File Path with Line Number or Expansion Pack: Copy Relative File Path with Line Number.
  3. The clipboard receives path:line:column.

Surround

  1. Select text in an editor.
  2. Run Expansion Pack: Surround with....
  3. Choose the wrapper pair.

Direct commands are also available for parentheses and double quotes.

Development

pnpm install
pnpm run lint
pnpm run typecheck
pnpm run build
pnpm run test:smoke
pnpm run verify
pnpm exec vsce package

pnpm run lint uses eslint-config-ts-prefixer and fails on warnings so ESLint stays at zero issues. pnpm run test:smoke launches VS Code with a temporary fixture workspace and checks the migrated command, language, diagnostic, clipboard, editor-selection, Git, and SQLite paths.

Marketplace Packaging

  • Extension name: expansion-pack
  • Publisher: laststance
  • Icon: images/icon.png
  • Entry point: dist/extension.js
  • Build command: pnpm run build
  • Verification command: pnpm run verify
  • Package command: pnpm exec vsce package
  • Third-party notices: THIRD_PARTY_NOTICES.md

Acknowledgements

Expansion Pack is a clean-room behavior recreation. No upstream source code, grammars, bundled assets, or license text from the original extensions has been copied into this repository. Mermaid rendering uses the bundled mermaid npm package; see THIRD_PARTY_NOTICES.md.

Original extension Extension ID Author / owner Upstream license noted by GitHub API
Bookmarks alefragnani.bookmarks@14.1.1 Alessandro Fragnani / alefragnani GPL-3.0
Markdown Preview Mermaid Support bierner.markdown-mermaid@1.32.1 Matt Bierner / mjbvz MIT
Better TOML bungcip.better-toml@0.3.2 bungcip Not asserted by GitHub API
npm Intellisense christian-kohler.npm-intellisense@1.4.5 Christian Kohler / ChristianKohler MIT
Bracket Select chunsen.bracket-select@2.0.2 wangchunsen Not asserted by GitHub API
PostCSS Language Support csstools.postcss@1.0.9 CSSTools / csstools Not asserted by GitHub API
Comment Anchors exodiusstudios.comment-anchors@1.10.4 Starlane Studios / StarlaneStudios MIT
Code Runner formulahendry.code-runner@0.12.2 Jun Han / formulahendry MIT
Git Tree Compare letmaik.git-tree-compare@1.20.0 Maik Schreiber / letmaik MIT
Color Highlight naumovs.color-highlight@2.8.0 Sergii Naumov / iamsergii GPL-3.0
Copy File Name ouweiya.copy-file-name@3.0.9 ouweiya Not asserted by GitHub API
Git File History pomber.git-file-history@1.0.1 pomber MIT
SQLite Viewer qwtel.sqlite-viewer@25.12.2 qwtel Not asserted by GitHub API
YAML redhat.vscode-yaml@1.23.0 Red Hat / redhat-developer MIT
Copy File Path with Line Number snwfdhmp.copy-file-path-with-line-number@0.0.1 snwfdhmp No upstream repository provided
Surround yatki.vscode-surround@1.5.0 yatki MIT

License

This repository is currently licensed under ISC. Bundled third-party dependencies keep their own licenses as documented in THIRD_PARTY_NOTICES.md.

About

A simple VSCode extension that adds a "Copy to..." option to the File Explorer context menu, allowing you to quickly copy files and folders to a configurable destination.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors