Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>NNYJ TweaksNew to Visual Studio Code? Get it now.
NNYJ Tweaks

NNYJ Tweaks

nnyj

|
2 installs
| (0) | Free
QoL bundle: Markdown tables, policy toggles, editor group fixes and line highlights, each feature toggleable
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

NNYJ Tweaks

Stars Downloads Latest Release Build

Quality-of-life bundle for VS Code. Each feature toggles independently in the Settings UI and reacts live, no reload.

Features

  • Policy toggle: status bar item to grant timed allow overrides for AI CLI policy ask groups, reads group names from policy.json, writes overrides.json consumed by external policy guards
  • Open left: when opening a file auto-splits a new editor group to the right of a locked webview group, moves the new group to the left so the webview stays rightmost
  • Close empty: when the last tab in a locked group closes, unlocks and closes the group, VS Code otherwise leaves an empty locked canvas that closeEmptyGroups skips
  • Line highlight: toggle a background highlight on selected lines, single color, tracks line moves during edits, in-session only (cleared on window reload)
  • Markdown tables:
    • Tab and Shift+Tab navigate cells and pad columns
    • Tab past the last cell adds a row
    • Insert, move and align columns from the editor context menu
    • Convert selected CSV or TSV, including quoted fields
    • Format all tables through a command or optional format-on-save

Usage

Policy toggle: click the $(lock) policy status bar item, pick a group (or all groups), pick a duration (30m, 2h, custom 90m/6h/2d). Active overrides show remaining time in the status bar and expire on their own.

Commands:

Command Description
Policy Toggle: Allow Group Temporarily Pick group and duration
Policy Toggle: Clear All Overrides Remove every override
Line Highlight: Toggle on Selected Lines Toggle highlight on selection
Line Highlight: Clear All Remove all highlights

Suggested keybinding:

{ "key": "alt+q", "command": "nnyjTweaks.lineHighlight.toggle", "when": "editorTextFocus" }

Open left and close empty run automatically, no commands.

Table commands use the Table: prefix in the Command Palette and the Markdown Table editor context menu.

  • Table editing supports Markdown, MDX and Quarto
  • Code fences are skipped
  • CSV and TSV use the first row as headers and convert embedded newlines to <br>
  • Unicode padding counts emoji graphemes as two columns
  • NNYJ Syntax Highlight supplies fixed emoji display widths and table borders
  • Disable other table extensions that bind Tab to prevent conflicts

Settings

Property Default Description
nnyjTweaks.policyToggle.enabled true Enable the policy status bar toggle
nnyjTweaks.openLeft.enabled true Enable locked-group placement fix
nnyjTweaks.closeEmpty.enabled true Enable locked empty group close
nnyjTweaks.lineHighlight.enabled true Enable line highlight commands
nnyjTweaks.lineHighlight.color #ffe60030 Highlight background, hex with alpha
nnyjTweaks.table.enabled true Enable table editing
nnyjTweaks.table.format_on_save false Format tables before saving
nnyjTweaks.policyToggle.policyPath C:/N/scripts/ai/policy/policy.json Source of ask group names
nnyjTweaks.policyToggle.overridesPath C:/N/scripts/ai/policy/overrides.json Overrides file read by the policy guards
nnyjTweaks.policyToggle.durations ["30m", "1h", "2h", "4h", "8h"] Durations offered in the picker

[!NOTE] Policy toggle only writes the overrides file, enforcement happens in the external guard scripts that read it. Without those, the feature does nothing useful.

How it works

Policy toggle watches the overrides directory (a directory watch, since guards delete and recreate the file, which kills file-level watches) and refreshes the status bar every 30s so expiry shows without an event. Overrides are written atomically via temp file rename; an empty override set deletes the file.

Open left listens to tab group changes. A newly opened single-file group whose left neighbor contains no file tabs is treated as an auto-split beside a locked webview, and gets moved one group left.

Close empty listens to tab close events. After a short settle delay, a group left with zero tabs is closed via the tab groups API (no focus change, safe across auxiliary windows). A sole active group is only unlocked, so the next editor reuses it instead of splitting beside it.

Install

From the VS Code Marketplace, or sideload a release vsix:

gh release download -R nnyj/vscode-nnyj-tweaks -p '*.vsix'
code --install-extension nnyj-tweaks-*.vsix

Or build locally:

npm run package
code --install-extension nnyj-tweaks-1.1.0.vsix

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft