dsh-at-file
FSMargoo/dsh-at-fileCodex 风格的 `@file` 文件引用,输入框里直接搜索并引用工作区文件。
The best Git history visualization plugin in the DSH ecosystem — no contest. A swimlane commit graph, branch/tag badges, a three-column diff, stage/commit/push and remote management — the VSCode Git panel transplanted straight into the DSH workbench. Inspecting repos, managing branches or pushing code from DSH? dock-git is the ultimate weapon.
Git history visualization plugin of the dock family: mounts a side-bar launcher (activity item git) that renders the current workspace's git commit history graph (commits / branches / tags / remotes) and supports branch, tag, config, remote, stage, commit and push operations.
git switch (no path-semantics ambiguity); merge one local branch into another (git merge --no-edit, pulled into the current branch).--no-verify, repository hooks never run).git reset) with a selectable mode (mixed / soft / hard), or revert it (git revert --no-edit, creating an inverse commit).--force-with-lease supported).user.name / user.email.| Dependency | Type | Notes |
|---|---|---|
| dock >= 0.1.0 | peer (required) | workbench shell: the side-bar panel, editor-area view and ctx.workbench come from it |
git CLI | system runtime | required: every Git operation spawns the system git, which must be on PATH |
| DSH Web environment | runtime | required; client platform is Web |
cordis ^4.0.0-rc.7 | peer | plugin framework (ships with DSH) |
react ^18.2.0 | peer (optional) | needed for client rendering; without it the panel UI does not activate |
Optional companions: dock-git is fully independent of file browsing and does not need dock-files; if you also install dock-files plus viewer plugins, files in commit details can seamlessly open through the workbench.
Requires the dock base plugin:
Recommended install from the npm registry:
dsh plugin --profile web add dock-base
dsh plugin --profile web add dock-git
Or install from GitHub (alternative):
dsh plugin --profile web add github:AKS1st/dock
dsh plugin --profile web add github:AKS1st/dock-git
/wb-git route only accepts POSTs from trusted origins (loopback / trustedHosts plus same-origin check).- (option injection), .. / @{ (range/refspec smuggling), pathspec magic (:), control characters and NUL are all rejected.repoRoot is confined to the session workspace (realpath prefix comparison) — git cannot run in arbitrary directories.git switch, which never falls back to path semantics (working-tree files cannot be accidentally restored).MIT