Skip to content
| Marketplace
Sign in
Visual Studio Code>Snippets>DevStackNew to Visual Studio Code? Get it now.
DevStack

DevStack

skyler

|
215 installs
| (0) | Free
DevStack - The Complete Developer Toolkit - Virtual file system, workflow automation, and more than 101+ other development tools / features in one seamless extension. Cutting down dev times never before seen.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Z

DEVSTACK

The Ultimate VSCode Development Suite

Postgres Visual Studio Code TypeScript PowerShell

pnpm JavaScript GitHub React Vercel Remix

TOC

  1. OVERVIEW
  2. FEATURES
  3. GETTING STARTED
  4. FUNCTION SHOWCASE
  5. PROJECT ROADMAP
  6. LICENSE
  7. ACKNOWLEDGMENTS


OVERVIEW


Elevate your development environment with precision-engineered tooling. DevStack represents a comprehensive integration of over 97+ essential development utilities within a unified VSCode extension, providing complete functionality while maintaining optimal performance standards and system resource efficiency.
Each section now includes the following:
  • Breakdown of the major functionality, including usage, pictures, videos and more of each function / process.
  • Following each section includes a total break down of every single other function relative to its respective category.
  • Before only major functionality was listed, but now every function available to you is described within the readme.
  • Each Header is also a link to its respective location within the docs on the website
  • You will also find config examples, full feature breakdown of the function if needed, usage or how to access that sections function and any other important details you need to know
  • at the start of the breakdown of the extensions functions there will be a outlined toc
  • at the end the functions list there will be a source map, outlining and linking to every function listed

FEATURES

Virtual Filing System

A programmable file tree system that goes beyond simple file navigation:

Key Capabilities What You Can Do
Unlimited programmable items
  • Comprehensive organization system that eliminates the need for multiple extensions as you can place more than just file/folders within the file system.
  • Items included to work with the system such as but not limited to: URL's, VSCode commands, PowerShell commands, Bash commands, run commands and processes sequentially.
  • If your use case allows, you may concurrently execute your commands.
  • If you have the need you can even set both up to run once, having one set of commands sequential while the other set runs concurrently.
  • Store any value within a file item, copying it to your clipboard allowing you to paste anywhere you need.
Multiple file types Supports multiple item types: files, folders, URLs, commands, snippets, md, ps1, sh
Advanced execution Sequential, concurrent, or mixed workflows
Project-agnostic Global and workspace-specific configurations
Smart organization Copy to clipboard, chain execution, and more



Catalyst UI Library
1808+ components ( 193+ free ) One of the largest React component libraries available, the largest to be accessible through your vscode interface:
Production-ready Built with Tailwind, TypeScript
ShadCN compatible Same patterns, better implementation
One-click installation Complete setup with dependencies
A large ammount and variety of tools React/Tailwind sandbox for rapid prototyping, vscode & tailwind theme builders, encoders, Monaco .md editor, custom snippet viewer / editing tools, and much more
Integrated with vscode Each component's usage example can be inserted at cursor
Accompanying icon library React icon library with an inventory of over 550+ icons
VSCode Extension Integration
  • Never again having to visit the components libraries site in order to grab a usage example, as each of the 1800+ components can be inserted into the editor.
  • Providing 2 usage examples: 1 basic variant with no props, the second with every prop available to use with that component, meanwhile the extension also offers 1 click install and configuration.
  • taking your brand new project with no dependencies, to full tailwind and library compatibility without doing a single thing, making it the easiest library to integrate into your project in comparison to every other library available.



Smart Development Tools
File Linking // @dev path:line - Clickable links to any file/line
File Search // @devsearch path:term - Search-based navigation
Auto Actions Automatic Remix action generation from forms
Prisma Tools CRUD generator, include/action objects, schema navigation
GitHub Integration Auto commit/push, repo management, VSIX packaging
And more...
  • At this point, replacing more than 100+ extensions, all the while not slowing your computer or vscode instance down in the slightest, built following very strict requirements and guildlines in order to impede on our developement session.
  • Even going so far as including a performance switch, unlocking more performance to accomplish tasks that asks too much of your vscode instance



Documentation & Markdown
MD Editor Monaco-based editor with live preview
Readme Generator AI-powered README creation
Snippet Management Global snippets with fuzzy search
Formatting 33+ file types with live preview
Cheat Sheets VSCode commands, Markdown, shortcuts
Thought process behind building these into the extension...
  • I find that every time I switch windows to go and look for a reference, it just multiplies the amount of time wasted.
  • Any time I find myself repeadetly going to a resource online, I try to build it into the extension asap.
  • That way you can stay focused coding instead of wondering around and navigating the internet searching for things.



Performance & Workflow
Performance Switch
  • Toggle modes for large file handling, or whenever your going to deal with a resource heavy process and need to free up performance.
  • The feature has a couple of levels to choose from depending on the needs at the current time.
  • Handling a large file and vscodes background processes starting to show just how much they really do in the background?
  • For example if it was due to working in a json file or typescript file, you can turn off all background process with on click that have any relation to either of those file types.
  • Whenever your task is completed, selecting the restore options which restores your instance back to its original state and turning everything back on. Without even opening up any config files
Custom VSIX Packager Alternative to vsce with smaller files
Batch Operations Rename, format, import management
Clipboard Pro Enhanced clipboard with 20-item history
Bookmarks & Search Advanced navigation tools

GETTING STARTED

Requirements

Your VSCode instance must be within a workspace for the extension to become and remain active. For example, if you open a single file while that instance is not within a workspace or in a new window / instance, the extension will not be available for use and will be hidden from view.

Usage

Details...

VSCode GUI

Aspect Details
To Add Items
  • click on the plus icon in the extensions title pane
  • you have a choice of adding an item through the vscode interaface or the web interface, for your first time use the vscode interface as it can be a lot simpler for adding simple items
  • a quick pic will pop up asking what type of item you would like to add
  • after selecting an option, enter the items label
  • it will then ask for the value you would to assign this item, for example, editor.foldLevel2 would be the value you place here. If you have a value in your clipboard it will automatically paste that value here for you. If you browsing the available commands and copied the one you needed, that value will be inserted for you once you reach this step. Regardless of what you are adding, whenever you come to this step this process will take place.
  • you can now select which folder to place the item within
  • step-by-step visual breakdown
To Add Files As Items
  • in the explorer view, right click on any file select add to devstack
  • same process as above, except it will not ask for a value because the files location will be that value
  • step-by-step visual breakdown
To Edit / Delete Items
  • in the extensions file tree, you may right click any item to bring up a context menu that will allow you:
  • edit item, where you will be put through the step-by-step process of editing the label, value and its location
  • edit label
  • edit value
  • move item
  • delete
  • toggle hidden, switches from false to true and vice versa
  • context menu
To Edit / Delete Folders
  • in the extensions file tree, you may right click any folder to bring up a context menu that will allow you:
  • edit folder label
  • move folder
  • delete
  • expand folder by default
  • collapse folder by default
  • toggle hidden, switches from false to true and vice versa
  • context menu
To Execute / Trigger Items
  • a simple click on the item will trigger whatever you have it configured to do
  • Quick Demo Usage Video

.json Config Settings

| Aspect | Details | | --- | --- | |Note|You will never need to edit the config file, I'm only including it for the people who would rather configure the extenstion through the config file instead of the VSCode GUI or Web GUI. If you use code over code-insiders ( bleeding edge release ), use code in-place of code-insiders. In the following config, there will one example for each type.| |Global and Workspace Folders|

  • Folders need the following values:
    • label - string
    • type - folder
    • expanded - boolean, whether or not the folder is expanded on start-up.
    • global - boolean
    • items - array
    • hidden - boolean ( optional )
  • Items placed inside global folders will be available to you no matter the workspace you are working in. Workspace folders and the items contained within, will only be available while working within that workspace.
| |Config Example|

{
"categories": [
{
"label": "MAIN",
"expanded": false,
"type": "folder",
"global": true,
"items": [
{
"label": "CRM",
"path": "code-insiders -n f:/DevStack",
"type": "powershellCommand"
}
]
},
{
"label": "UTILS",
"expanded": false,
"type": "folder",
"global": false,
"items": [
{
"label": "prisma.schema",
"path": "prisma/prisma.schema",
"type": "file"
}
]
},
{
"label": "HIDDEN",
"expanded": false,
"type": "folder",
"global": false,
"hidden": true,
"items": [
{
"label": "generateAndBuild",
"path": "pnpm run generate && pnpm run build",
"hidden": true,
"type": "powershellCommand"
}
]
}
]
}
| |Items|
  • The following types are available:
    • url - opens default browser at your items value
    • command - triggers the command
    • file - opens the file within vscode
    • snippet - copies the snippets body to your clipboard
    • powershellCommand - triggers command within powershell
    • debianCMD - triggers command with windows debian wsl
    • chain - extecutes the given commands sequentially
    • concurrent - executes the given commands all at once
    • copyValue - copies the value to your clipboard
  • Each item has the following values:
    • label - string
    • path - the items value
    • type - 'file'|'url'|'command'|'snippet'|'powershellCommand'|'debianCMD'|'chain'|'concurrent'|'copyValue'
| |Config Example|

{
"categories": [
{
"label": "MAIN",
"expanded": false,
"type": "folder",
"global": true,
"items": [
{
"label": "Google",
"path": "https://www.google.com",
"type": "url"
},
{
"label": "CRM",
"path": "code-insiders -n f:/DevStack",
"type": "powershellCommand"
},
{
"label": "SAVE ALL",
"path": "workbench.action.files.saveAll",
"type": "command"
},
// for chain and concurrent item types, you can place any number of items to execute as you wish. The items that you included can either be hidden or not, personally I have a folder that contains all the commands I use within these two types and are kept hidden from view. To configured the commands to execute place each items label in the path value seperated by commas just like the given examples below.
// chain or sequential: once triggered it will execute each item, only moving on to the next once the current item finishes. The commands are fed into a function in which it determins which type of command it is before executing it in its respective enviroment. It checks to see whether it is a file|md, command, url, powershellCommand, debianCMD, copyValue, chain, conncurrent
// concurrent: Making the same checks on its item type as chain, it fires off the set of commands all at once in their respective enviroments, while any powershell commands that are executed will pipe through a single terminal. The terminal output will be reminiscent of the previous version turbo repos terminal output. If you are unfamiliar with it, all powershell output will be piped into a singular instance. Each commands output will vary in different colors, if for example your concurrent command was to set off 3 dev servers, each dev server will output to the same terminal window but each having their own set color. Allowing you to quickly determine what is happening in each shell. The terminal allows input that will pipe it through each of the active shells, if / when you need to close the dev servers you can do so at anytime, the terminal will remain open and act as any normal powershell window would. In the future, I will figure out how to do the same within the windows debian WSL shell and pipe its commands through the same instance, as of now it just executes each command within its own shell.
// with the code configured as it is, you can create a concurrent command that contains a sequential type item within its set commands. Allowing you to run both types at once if your use case needs / allows it.
{
"label": "Kill Terminals && Start DEV Server",
"path": "saveall, killterms, devApp",
"type": "chain"
},
{
"label": "dev:all",
"path": "devApp, devCalc",
"type": "concurrent"
},
{
"label": "HIDDEN",
"expanded": false,
"type": "folder",
"global": true,
"hidden": true,
"items": [
{
"label": "saveall",
"path": "workbench.action.files.saveAll",
"type": "command",
"hidden": true
},
]
},
// creates a terminal shell similar to opening a new Debian (WSL) terminal within the vscode instance, instead of the other options that are available. This opens up the options at your disposal of what can be done with the given commands. The following item is a great example, in which the program with its set flags will not open in any other shell type. Once this command executes, the shell changes folder locations and opens vlc with the set playlist that is stored within the windows file system. After execution, the terminal is free to use with any other commands you would like and can even be closed and does not vlc that is currently running, as if you had manually typed in the command yourself.
{
"label": "VLC w/ playlist",
"path": "cd /mnt/f/music && '/mnt/c/Program Files/VideoLAN/VLC/vlc.exe' playlist.xspf",
"type": "debianCMD"
},
{
"label": "Copy to clipboard",
"path": "Value to be copied into the clipboard",
"type": "copyValue"
},
{
"label": "prisma.schema",
"path": "prisma/prisma.schema",
"type": "file"
},
// Place the snippets title / name within the label. Whenever you create a snippet with the extension it places the snippet within a globally available file, making it accessible from any workspace. In order to maintain vscodes functionality of inline snippet insertion, that global file is copies to your current workspaces .vscode folder, so don't edit that file because it will overwritten at startup. You can either use the extensions snippet file or use your own in place of it. Allowing you to have multiple snippet files stored within your .vscode folder, ocrmnavigator.code-snippets is the extensions snippet file.
{
"label": "Snippet Name",
"path": "ocrmnavigator.code-snippets",
"type": "snippet"
}
]
},
]
}
|

FUNCTION SHOWCASE

Details...

Functions TOC

I. II. III. IV. V. VFS VI. OVERVIEW VII. AVAILABLE OPTIONS VIII. DETAILED DESCRIPTIONS IX. OVERVIEW X. AVAILABLE OPTIONS XI. MARKDOWN XII. SNIPPETS XIII. UI LIBRARY XIV. ICONS LIBRARY XV. CSS XVI. AI XVII. PROMPT XVIII. REMIX-RUN XIX. SHADCN XX. GITHUB XXI. PRISMA XXII. VSCODE XXIII. REFERENCE XXIV. VSCODE & TAILWIND STYLING XXV. TOOLS XXVI. CONFIG XXVII. XXVIII. XXIX.

VFS

Virtual Filing System

| Aspect | Details | | --- | --- | |Function|Programmable virtual file tree system| |Description|

  • files
    • Quick access to your most-used files
    • Edit display labels for files
    • Copy file paths from the items context menu
    • reveal file in explorer from context menu
    • can also be set to hidden
  • folder shortcuts
    • able to set global and workspace folders
    • add as many folders you need for either global or workspace
    • folders can be set to expand on instance start to be expanded or collapsed
    • folders can also be set to hidden
  • URL's
    • access websites directly from the extensions pane
  • VSCode Command
    • executed via vscodes api
  • PowerShell Command
    • executes in windows powershell, just as if you had typed it out
  • Bash Command
    • executes in windows debian wsl terminal env
  • Snippet
    • adding to the already included functionality of inline snippet insertion, saving a snippet as an item will have its body content placed into your clipboard whenever clicked
  • Sequential Command Execution
    • execute whatever items you want in your desired set order
  • Concurrent Command Execution
    • execute whatever items in a threaded capacity
  • Copy to clipboard
    • placing any value you have set into your clipboard
| |Usage|see usage| |Advanced Usage|Sequential/concurrent execution, project-agnostic configuration| |Preview|Image| |Config|
{
"categories": [
{
"label": "MAIN",
"expanded": false,
"type": "folder",
"global": true,
"items": [
{ "label": "Google", "path": "https://www.google.com", "type": "url" },
{ "label": "CRM",  "path": "code-insiders -n f:/DevStack", "type": "powershellCommand" },
{ "label": "SAVE ALL", "path": "workbench.action.files.saveAll", "type": "command" },
{ "label": "Kill Terminals && Start DEV Server", "path": "saveall, killterms, devApp", "type": "chain" },
{ "label": "dev:all", "path": "devApp, devCalc", "type": "concurrent"  },
{
"label": "HIDDEN",
"expanded": false,
"type": "folder",
"global": true,
"hidden": true,
"items": [
{ "label": "saveall", "path": "workbench.action.files.saveAll", "type": "command", "hidden": true },
]
},
{ "label": "VLC w/ playlist", "path": "cd /mnt/f/music && '/mnt/c/Program Files/VideoLAN/VLC/vlc.exe' playlist.xspf", "type": "debianCMD" },
{  "label": "Copy to clipboard", "path": "Value to be copied into the clipboard",  "type": "copyValue" },
{ "label": "prisma.schema", "path": "prisma/prisma.schema", "type": "file" },
{  "label": "Snippet Name", "path": "ocrmnavigator.code-snippets", "type": "snippet" }
]
},
]
}
|

VSCode Commands

Aspect Details
Function Program VSCode commands as file tree items
Description Any VSCode command can be programmed as an item in the file tree. No limit to quantity
Usage
  • Add
  • edit
  • remove
  • trigger whenever clicked within the extensions window
  • set type command in config object or click the plus icon in the title pane
Advanced Usage Chain commands, sequential execution, cheat sheet with 360+ commands
Preview Image

PowerShell Command

Aspect Details
Function Execute inline PowerShell commands
Description Create any inline PowerShell command needed. Can run scripts, node scripts, build processes
Usage
  • Add
  • edit
  • remove
  • trigger whenever clicked within the extensions window
  • set type powershellCommand in config object or click the plus icon in the title pane
Advanced Usage Complex scripts, parameter passing, project-specific commands
Preview Image

Bash Commands

Aspect Details
Function Execute Debian WSL commands
Description Run any command in Debian WSL environment. Execute programs with pre-programmed flags
Usage
  • Add
  • edit
  • remove
  • trigger whenever clicked within the extensions window
  • set type debianCMD in config object or click the plus icon in the title pane
Advanced Usage WSL integration, environment variables, complex workflows
Preview Image

Sequential Execution

Aspect Details
Function Run commands in specified order
Description Program any number of items to trigger one after another, ensuring each process executes in required order
Usage
  • Add
  • edit
  • remove
  • trigger whenever clicked within the extensions window
  • set type chain in config object or click the plus icon in the title pane
Advanced Usage Mixed sequential/concurrent flows, conditional execution
Preview Video
Preview Image

Concurrent Execution

Aspect Details
Function Run commands simultaneously
Description Execute commands all at once for speed. Can run alongside sequential commands
Usage
  • Add
  • edit
  • remove
  • trigger whenever clicked within the extensions window
  • set type concurrent in config object or click the plus icon in the title pane
Advanced Usage Priority-based execution, resource management
Preview [Video]
Description
  • Two new execute functions have been added to handle different execution patterns:
    • Sequential Execution: Functions are called with await, enabling features like the sequential executor to run commands one after another in order.
    • Concurrent Execution: The await keyword is omitted to allow parallel command execution for the concurrent feature.
  • The concurrent executor now pipes both PowerShell and Bash commands into a single terminal instance while maintaining several key features:
    • - Each command's output continues to display in a distinct color for easy differentiation
      • - The main terminal instance remains interactive, allowing you to input commands such as canceling running processes
      • - When processes are cancelled, the terminal instance remains open and functions as a regular PowerShell terminal
    • All other commands execute in their own separate environments and terminal instances that persist after completion. This means if a command fails, its output remains available for review and debugging.
Usage Navigate to extension settings and toggle "Bleeding Edge" to true to enable experimental features
Advanced Usage set "ocrmnavigator.CONCURRENT": bleeding-edge, in your global / workspace settings files

Extension Properties To Include Extra Functionality

Aspect Details
Function setting values in order to unlock or remove certain functionality within the extension
Location Workspace root labeled .order66
Values
  • G4 and .vsix the first value for each item is its default
    • UPDATE_PROMPT_OBJECTS: false
    • CONVERT_README_DEV_MD: false
    • AUTORUN_SCRIPTS: false
    • AUTORUN_DIR: src,
    • PRO7: false
    • ARCHIVER: custom
    • DELETE_OLD_VSIX: true
    • AUTO_INSTALL_VSIX: true
    • OPEN_PUB_DASH: false
    • RELOAD_INSTANCE: false
  • BE quickpick menu
    • BE_QP: false
  • Auto Fold Level 2 Pkg.json On File Open
    • AUTO_FOLD_PKG: false
true

Project Agnostic Configuration

| Aspect | Details | | --- | --- | |Function|Split configuration between global and workspace| |Description|First-level folders can be globally available or confined to specific workspace| |Usage|Configure folders as global or workspace-specific| |Advanced Usage|Hybrid configurations, per-project customization| |Config Files|Global and workspace JSON config files| |Preview Image|Image| |Preview Video|Video| |Config|


{
"label": "MAIN",
"expanded": false,
"type": "folder",
// this value can either be set within the config itself, or when creating / editing folder items within the web GUI or vscode GUI.
"global": true,
"items": []
}
|

DevStack Quickpick

Overview

Aspect Details
Function Quick access menu for DevStack features
Description Comprehensive quick pick menu accessing formatters, database operations, and build processes
Usage Alt + Shift + D to open menu
Advanced Usage Includes G3 (git add/commit/push), G4 (upgrade patch), Prisma DB operations, file system cleaning
Features Git operations (G3, G4)
Prisma database management
File system cleaning
VSCode restart options
Build processes
Preview Image

Available Options

Git Operations

Option Description
G3 git add && commit && push
G4 git add && commit && push && pnpm version patch && git push && git push --tags
G4 & .vsix One click does all for developing extensions
G4 & push vercel Same as G4 but drops the creation of the vsix archive
G4 & Pub To NPM Same as G4 but drops the creation of the vsix archive in place for npm publish

Build Processes

Option Description
Custom VSIX Packager Custom vsix packager with smaller package sizes than vsce
.vsix build local & install Just compiles, builds archive and installs it

VSCode Operations

Option Description
R EXT Reload Extension
R TS Reload Typescript server
R Window Reload Window
DevTools Opens Devtools for vscode

Fold Operations

Option Description
Fold Region Fold regions 1 through 7
Toggle Region Toggle regions 1 through 7

Format Operations

Option Description
format Current Json File Formats current json, turning multiline objects into inline
format Json File Formats current json, turning multiline objects into inline (takes file path as argument)
format Packge Dev Json format package.dev.json, turning multiline objects into inline
format GBL Nav Config Json formats global nav configuration json file
Toggle json Validation Turns off error checking
Toggle jsonc Validation Turns off error checking

Prisma Operations

Option Description
* Remote Executes all commands for remote server (requires LOCAL and REMOTE in env file)
* Local Executes all commands for local server (swaps DATABASE_URL)
Reset prisma reset
Push prisma push
Seed prisma seed
Gen generate prisma docs
Studio starts the studio server for prisma

File System Operations

Option Description
Clean * Removes caches, node_modules, and anything generated via build process
Duke NUKEM Removes everything before installing with a clean slate
i install library
build Build Project

Performance Switch

Option Description
Disable For Current File disables background processes for current file type
Enable For Current File enables background processes for current file type
DISABLE EVERYTHING disables background processes for ALL file types
Enable Everything enables background processes for ALL file types
Toggle Global Disable toggles between the two states

Detailed Descriptions

G4 & .vsix Build Process

  1. Scans workspace root for .order66 config file (falls back to defaults)
  2. Saves any editors in dirty state
  3. Triggers all node.js scripts in autorun folder (configurable via AUTORUN_DIR='src') except any scripts labeled pro7.js
  4. Converts README.dev.md to README.md (if CONVERT_README_DEV_MD=true)
  5. Deletes old .vsix archives
  6. Deletes old .7zip archives
  7. Scans for packager and runs compile command
  8. Creates vsix archive (custom or vsce via ARCHIVER setting)
  9. Secures sensitive files in password protected archive (if PRO7=true) or runs pro7.js in the autorun folder
  10. Checks git status and runs appropriate github commands
  11. Auto-installs locally (if AUTO_INSTALL_VSIX=true)
  12. Opens publisher dashboard (if OPEN_PUB_DASH=true)
  13. Restarts vscode instance (if RELOAD_INSTANCE=true)

There was a change to the order in which each step executed, and a couple that were added. Unaware at the time of building the scripts for this, microsoft flags any password protected archives that are within the .vsix archive. Now deletes old .vsix and .7zip archives earlier, and the .vsix archive step has been moved up, while the .7zip archive process has been moved to execute later but before the push to github

Preview: Image

Custom VSIX Packager

  • Meets all requirements for listing extension
  • Smaller package sizes than vsce
  • More resilient build process (won't error out with SVGs in readme)

Pro7 Archiver

Secures sensitive files within password protected archives for safe GitHub pushing.

Note: Everything in one click - complete extension publishing workflow.

BE Quickpick

Overview

The BE Quickpick provides quick access to various backend development tools and utilities.

Available Options

Settings Management

Option Description
Global Settings File Opens the global settings JSON file for editing
WS Settings File Opens the workspace settings JSON file for editing
toggle Ws Disable Toggles workspace-specific settings disable/enable
toggle Ext Disable Toggles extension-specific settings disable/enable
toggle F Disable Toggles file-specific settings disable/enable
toggle Global Disable Toggles global settings disable/enable
restore Ws Settings Except File Restores workspace settings while preserving file-specific configurations
restore Gbl Settings Except File Restores global settings while preserving file-specific configurations

Development Tools

Option Description
auto Create Schema Automatically generates database schema files
trigger Autorun Folder Executes scripts located in the autorun folder
check Vsix Now Immediately checks for VSIX extension updates
vsix Build Local Install Builds VSIX package and installs it locally

Markdown Processing

Option Description
MD File To Safe Inline String Converts markdown files to safe inline string format
md pre-processer Processes markdown files with pre-processing rules

Regex Utilities

Option Description
toggle Regex Preview Toggles regex pattern preview mode
open Regex Helper Opens regex helper tool for pattern creation
toggle Regex GM Toggles global/multiline regex flags

Reveal In Explorer

Aspect Details
Function Open file location in system explorer
Description r-click any file to reveal its location in Windows Explorer/Finder
Usage r-click in extensions pane → Reveal in Explorer
Advanced Usage Works from DevStack sidebar and editor context menu
Preview Image

Copy Path

Aspect Details
Function Copy file path to clipboard
Description Copies full file path or relative path to clipboard
Usage r-click in extensions pane → Copy Path
Advanced Usage Works with multiple path formats
Preview Video

Search

Aspect Details
Function Allows you to search through all of your commands that you have made in the extension and executing its item when selected, while also allowing you to see exactly what the command is before executing it
Description Quick search functionality with title bar access
Usage Click title bar button for instant access
Preview Video
Preview Image

MARKDOWN

MD Viewer/Renderer

Aspect Details
Function Render markdown files in browser
Description View markdown files with proper rendering in browser
Usage r-click in editor → DevStack → select option
Advanced Usage Custom CSS, export options, theming
Preview Image

MD Viewer/Renderer In VSCode

Aspect Details
Function Side-by-side markdown preview in VSCode
Description Displays markdown renderer side by side within VSCode
Usage r-click in editor → DevStack → select option
Advanced Usage Live editing, sync scrolling, split views
Preview Image

Catalyst Editor

Aspect Details
Description Staring out as a markdown editor, evolving into multi language support editor built using microsofts monaco editor. Leveraging its api system to continusouly add features along side its default feature set.
Features
  • Multi language support covering:
    • Markdown
    • JavaScript
    • TypeScript
    • HTML
    • CSS
    • SCSS
    • JSON
    • Python
    • SQL
    • YAML
    • XML
    • Java
    • C#
    • C++
    • PHP
    • Rust
    • Go
    • Shell
  • Multi tab auto save
  • Persistent editor settings saved locally
  • Toggle mini-map
  • Toggle line numbering
  • Toggle line folding w/ custom rules sets alongside default regions
    • #region / #endregion
  • Markdown preview, in either full screen or split
  • Full screen
  • Access to all md files within your currently active workspace allowing you to:
    • Open
    • Edit
    • Delete
  • Keyboard shortcuts including:
    • Alt + S - Manual save
    • Alt + R - Rename tab
    • Alt + P - Toggle preview
    • Alt + N - Create new tab
    • Alt + W - Close current tab
    • Alt + F - Search / find
    • Ctrl + +
    • Alt + T - Create new TypeScript tab
    • Alt + M - Create new Markdown tab
  • Reset local storage
  • Place entire tab's content into clipboard
  • Format document
  • Toggle line wrapping
  • Find & replace
  • Command palette
  • Editor sidebar containing:
    • Outline
      • your document's table of contents that dynamically creates clickable links to navigate within your document
    • Markdown reference sheet
      • whenever an item is clicked placing its contents into your clipboard to be used wherever pasted
      • For example if you click on the table, it will place a markdown formatted table in the clipboard
      • all sections, templates, and guides follow the guidelines set forth from github in respect to their markdown renderer
      • includes 100% of GitHub-flavored Markdown formatting examples
    • File explorer
      • select files within your file system to open and edit within the edtior
    • Readme generator
      • number of sections, where when clicked are put into your clip board to use any where in your document, toc's, badges, and more
      • great tool to help speed up the process of building your readme
    • Readme Builder
      • collection of pre-made templates to choose from, as well as real README's that follow a great methodology when building readme's that you can instead choose, and putting your own spin on it
Preview MD Render VSCode
Preview Video
Preview MD Reference
Preview MD Guide
Example readme-template
Example 2 readme-template
Example 3 readme-template
.md Outline navigates you to desired location within doc
Sections designed readme sections, ready to use
Sidebar dedicated sidebar with a host of functions
Fulll Readme Guide dedicated sidebar with a host of functions

Convert MD File To Safe Inline String

Aspect Details
Description Converts markdown file content into a JSON-safe inline string by escaping special characters and replacing line breaks with \n
Usage r-click on an MD file in explorer or use command palette with active editor open, can also take in a file url as an argument to progmatically trigger
Preview [Image]
BE Quickpick available for use in the be quickpick menu located on the status bar
Usage select Convert MD File To Safe Inline String from the be quickpic

SNIPPETS

Editor / Viewer

Aspect Details
Function Global snippet management
Description Snippet viewer/editor built using a Monaco editor for creating / editing / viewing snippets
Usage Access via extensions title pane / web gui
Advanced Usage Fuzzy search, quick insertion, automatic workspace sync
Preview Image

Context Snippets

Aspect Details
Function Insert snippets from editor context
Description Access snippets directly from editor context menu, with search capabilities
Usage r-click → devstack → context snippets
Advanced Usage Language-specific snippets, variables, placeholders
Preview Image

UI LIBRARY

Catalyst UI

Aspect Details
Description 1808+ components with free/premium tiers. Currently up and running with 193 free components, while offering a plethora of tools to use covering a wide range or development topics.
Usage shortcut to website accessible through the title pane
Advanced Usage
  • Search/filter
  • component viewer
  • live preview
  • react sandbox
  • one click installtion of library and configuration of tailwind, and another option just to install components
Tools
  • list of available tools to use
    • Sandbox
      • live react / tailwind development environment
      • libraries inventory accessible within the sandbox
      • Image
      • Image
  • Color Wheel
  • MD Reference sheet
  • Icons
  • VSCode Cmds Reference
  • v3 <-> v4 tailwind css converter
  • tailwind and vscode theme builder
  • formatters
  • catalyst editor
  • encoder
  • list of resusable tools to use within your own projects | Site | Link |

Insert Component via Editors Context Menu

Aspect Details
Function Granting access to the entire library from within the editors context menu, inserting all 1808+ components at cursor
Usage r-click → Catalyst UI → Select component
Preview Image

Insert Component via Quickpick

Aspect Details
Function A quickpick with search capabilities featuring a nested list of available options that inserts the component at cursor
Usage ui ( located on status bar ) → Select component
Preview Image

Install Library Through Extension

Aspect Details
Function One-click UI library installation
Description Installs Catalyst UI library with proper folder structure and configurations
Usage r-click → Install Catalyst UI
Installation Breakdown
  • full installation
    • installs all required libaries
    • creates tailwind.config.js
    • creates styles/tailwind.css
    • create postcss.config.js
    • creates all available components within the components folder
  • components only
    • installs all required libraries
    • creates all available components within the components folder
Preview Image

ICONS LIBRARY

Icons

Aspect Details
Function React icon library
Description Icon library designed for simplicity and accuracy with sensible naming convention
Installation pnpm add @catalystsoftware/icons
Usage import { Message } from '@catalystsoftware/icons'
Advanced Usage Filled variants, custom colors, sizing
Preview Image
npm install @catalystsoftware/icons
# or
pnpm add @catalystsoftware/icons

Icons Quickpick

Aspect Details
Function Access icon library via quick pick
Description Browse and insert icons from @catalystsoftware/icons library
Usage Open via editor context menu → Catalyst → Icons
Advanced Usage Search functionality, instant insertion at cursor
Library Info Logical naming convention: [MainTheme][Container/Feature][Filled]
Preview Image

CSS

  • coming soon

AI

Detrministic AI Engine Compiler

| Aspect | Deteails | | --- | --- | |Function|Advanced AI prompt optimization| |Description|Deterministic compiler for AI prompts providing consistent, reliable responses| |Usage|Use pre-prompt templates| |Advanced Usage|Cross-engine consistency, complex project handling| |More Info|Full Documentation|

PROMPT

Prompt - COMING SOON

| Aspect | Details | | --- | --- | |Function|Pre-prompt management with multiple AI providers| |Description|System for managing pre-prompts with 29 AI provider configurations| |Usage|Set default pre-prompts| |Usage|
  • 29 AI provider configurations
  • Hot-swap between providers
  • Pre-prompt templates
  • Monaco editor for complex prompts
  • Auto-save functionality
| |Usage|Hot-swap providers, Monaco editor, file management|

REMIX-RUN

npx create-remixv2

Aspect Details
Function Remix v2 project creation
Description Create Remix v2 projects with 30+ popular stacks and custom stack references
Usage npx create-remixv2
Preview Image

Automatic Remix Action

Aspect Details
Function Automatic Remix action generation
Description Scans for Form components and automatically generates corresponding actions
Usage Inserts pre-coded action
Preview Image

Context Components/Functions

Aspect Details
Function Insert Remix context components
Description Insert Remix-specific components and functions from context menu
Usage r-click → Remix → Select component
Advanced Usage Custom components, hooks, utilities
Preview Image

V1 → V2 Routing Conversion

Aspect Details
Function Convert route conventions
Description Converts Remix v2 routing convention to v1 automatically
Usage Viewers dropdown located in the extensions title pane → project → select option
Advanced Usage Safety rollback, warnings, backup
Preview Image

Convert Single App To Mono Repo

Aspect Details
Function Monorepo conversion tool
Description Converts single Remix app into monorepo structure
Usage Viewers ( located in the extensions title pane ) → master apps → select option
Warning Always push changes before conversion
Preview Image

Open Route File in Browser

Aspect Details
Function Preview routes in browser
Description Open route files directly in browser for preview
Usage r-click → Open Route in Browser
Advanced Usage URL copying, index/splat route support
Config Files None required
Preview Image

Create Route Files

Aspect Details
Function Quick route file creation
Description Create route files quickly with templates
Usage r-click in editor → Remix → select option
Advanced Usage Templates, nested routes, action/loader stubs
Preview Image

Install Auth in Remix

Aspect Details
Function One-click auth setup
Description Install authentication with routes in Remix applications
Usage Viewers ( located in the extensions title pane ) → project → select option
Advanced Usage OTP implementation, dependencies, route setup
Preview Image

Install OTP in Remix

Aspect Details
Function OTP implementation
Description Install OTP (One-Time Password) authentication in Remix with auth routes
Usage Viewers ( located in the extensions title pane ) → project → select option
Advanced Usage Email/SMS providers, rate limiting, templates
Preview Image

Create Tests for Routes and Actions in Remix-Run

Aspect Details
Function Auto-generate test files
Description Create comprehensive test files for routes and actions
Usage r-click ( editor ) → Remix → Create Tests
Preview Image

Remix Run Insert Code

Aspect Details
Function Range of Remix framework code snippets and functions
Description Comprehensive Remix development utilities
Usage r-click ( editor ) → Remix → Create Tests
Features
  • Auto-create actions
  • Route file creation
  • Browser preview
  • Auth installation
  • Test generation
Preview Image

Create Single App - React Router

Aspect Details
Function Creates a pre-configured react-router app reminiscent of a remix stack
Usage Viewers → Master Apps → Select option
Preview Image

Convert Remix-Run to Platform X

Aspect Details
Function Platform conversion tool
Description Convert Remix app to other platforms/frameworks
Usage Viewers → Master Apps → Select option
Preview Image

Error Boundary

Aspect Details
Function Inserts error boundary at cursor
Usage R-click ( editor ) → Remix → select option
Preview Image
Preview Image

Meta Function

Aspect Details
Function Inserts meta function at cursor
Usage R-click ( editor ) → Remix → select option
Preview Image
Preview Image

Links Function

Aspect Details
Function Inserts links functions at cursor
Usage R-click ( editor ) → Remix → select option
Preview Image
Preview Image

Create Monorepo

Aspect Details
Function Creates a fully configured monorepo "stack" with automatic setup and first build. Includes component libraries, Tailwind, and other configurations ready to use immediately
Usage Viewers → Master Apps → select option
Preview Image

Build & Deploy Project

Aspect Details
Function Customize the build process of your monorepo project, similar to Turborepo functionality
Usage Viewers → Master Apps → select option
Preview Image

RR Folder Routing

Aspect Details
Function Configures React Router to use folder-based routing convention
Usage Viewers → projet → select option
Preview Image

Preview Route URL

Aspect Details
Function Allows you to preview the current file's URL without opening the browser
Usage R-click ( editor ) → Remix → select option
Preview Image

Create Action Object

Aspect Details
Function Generate Prisma action objects
Description Create action objects for Prisma operations
Usage R-click ( editor ) → Remix → select option
Preview Image

SHADCN

Add ShadCN Components

Aspect Details
Function Add ShadCN components to project
Description Add ShadCN UI components to your project with one click
Usage Viewers → project → Install ShadCN Components Only
Outline Just adds components and installs libraries
Preview Image

Install ShadCN Components w/configs

Aspect Details
Function Full ShadCN installation
Description Installs complete ShadCN UI library with all components
Usage Viewers → project → Install ShadCN Components Only
Outline
  • Auto-installs dependencies
  • Configures paths
  • Updates / creates config files
  • Installs all components
Preview Image

Insert ShadCN Components

Aspect Details
Function Insert ShadCN components
Description Add individual ShadCN UI components to project
Usage R-click → ShadCN → Select component
Available Components
  • Typography
  • Nav Menu
  • Pagination
  • Date Time Picker
  • Date W/ Input
  • DOB Date Picker
  • Avatar
  • Alert Dialog
  • Switch Card
  • Switch
  • Textarea
  • Tooltip
  • Sidebar
  • Context Menu
  • Popover
  • Menubar
  • Hover Card
  • Dropdown Menu
  • Drawer
  • Chart
  • Combobox
  • Checkbox
  • Install ShadCN w/ All Components
  • Fetch w/ state and useEffect
  • Sm Table w/ Columns
  • Fuse Input w/ X
  • Designed Button ClassName
  • Add Missing Imports
  • Command Dialog
  • Draggable Responsive Dialog Drawer
  • ButtonStyled
  • Context
  • Group
  • Toggle
  • OTP
  • Hover
  • Menu
  • Dropdown
  • Responsive
  • Command
  • Accordion
  • Button
  • Input
  • Card
  • Dialog
  • Form
  • Select
  • Table
  • Tabs
  • Alert
  • Sheet
  • Route File
  • TanStack Table File
  • useEffect
  • useState
  • Map
  • On Submit w/ Fetcher
  • Button W/ On Click With Submit
  • ClassNames
  • Fetcher.Form With Items
  • Loader
  • Action
Preview Image

GITHUB

Repo Management

GitHub functions located on the status bar to the left in the Devstack quickpick or can select several options via the github submenu within the editor context | Aspect | Details | | --- | --- | |Function|GitHub repository management and functionality| |Description|see devstack quickpic for full feature outline| |Usage|Use GitHub commands in DevStack quickpick||R-click editor → github → select option| |Preview|Image| |Preview|Image|

Open Repo in Browser

Aspect Details
Function Open GitHub repository
Description Open GitHub repository in browser from any file
Usage r-click → Open GitHub Repo
Preview Video

Open Repo at File

Aspect Details
Function Navigate to specific file in repo
Description Open GitHub repository at specific file location
Usage r-click → Open GitHub at File
Preview Video

Pro7 Archiver

| Aspect | Details | | --- | --- | |Function|Creates and password encrypted archive, storing files that contain sensitive information so as to be included among your files when pushing to github| |Description|scans workspace root for .pro7 config file, if it collects it it will grab the values out of the file and collect the respective files that were outlined ( similar to .gitignore, but your including files instead of ignoring them ), if the scan does not pick up a .pro7 file, it will then default to only include your .env file. Starting the packaging process it will scan your .env file for PRO7_PASSWORD value where you can set a predefined password. if there is no PRO7_PASSWORD value contained within your .env file, it will then prompt you for you in order to continue. Once the archive has been created it will place within your workspace root directory, and if activated via g4 & .vsix, will continue its process and move onto the next step which would be pushing your repo. This ensures that your archive includes the most up to date, with zero extra effort| |Usage|Option will be inlcuded within the devstack quickpic & this function will be added to the g4 & .vsix function for it to automatically run and keep an updated archive within your github repo| |Adv Usage|If you are looking to include this with a custom command sequence that gets triggered when included in either a concurrent|sequential object type, create a hidden item with the following values "path": "ocrmnavigator.pro7Archiver", "type": "command" and then finish it off labeling it whatever you desire. Then include that label in your custom object and will now trigger whenever you activate that command| |.pro7|

{
.env
.secrets.env
config/
secrets/
*.key
*.pem
api-keys.json
}<\pre><\code>|

if at any time the archiver doesn't work for you within the extension itself, as I have found that even though its a straight conversion from the script I built it appears to error out very easily. place the attached script inside the auto run folder labeled pro7.js and it will run seperatly from the other autorun scripts due to microsoft antivirus checks as microsoft does not trust any zip files to be included within the .vsix archive and remember to set the settings value to false, "ocrmnavigator.PRO7": false,

pro7.js
const fs = require('fs');
const path = require('path');
const { glob } = require('glob');
const sevenBin = require('7zip-bin');
const { extractFull, add, list } = require('node-7z');

const WORKSPACE_ROOT = path.join(__dirname, '..', '..');
const PRO7_FILE = path.join(WORKSPACE_ROOT, '.pro7');
const ENV_FILE = path.join(WORKSPACE_ROOT, '.env');
const OUTPUT_PATH = path.join(WORKSPACE_ROOT, `pro7-${Date.now()}.7z`);
require('dotenv').config({ path: ENV_FILE });

async function pro7Archiver() {
    try {
        const password = process.env.PRO7_PASSWORD;
        if (!password) {
            console.error('✗ PRO7_PASSWORD is not set in .env file!');
            console.log('\nPlease set PRO7_PASSWORD in your .env file');
            process.exit(1);
        }

        let filesToArchive = [];

        if (fs.existsSync(ENV_FILE)) {
            filesToArchive.push(ENV_FILE);
            console.log('\n✓ Found .env file');
        }

        if (fs.existsSync(PRO7_FILE)) {
            console.log('✓ Found .pro7 file');

            const content = fs.readFileSync(PRO7_FILE, 'utf8');
            const lines = content.split('\n');

            for (const line of lines) {
                const trimmed = line.trim();

                if (!trimmed || trimmed.startsWith('#')) continue;

                if (trimmed.includes('*')) {
                    const globFiles = await glob(trimmed, { cwd: WORKSPACE_ROOT, absolute: true });
                    filesToArchive.push(...globFiles);
                    console.log(`✓ Found ${globFiles.length} files`);
                } else {
                    const fullPath = path.join(WORKSPACE_ROOT, trimmed);
                    if (fs.existsSync(fullPath)) {
                        filesToArchive.push(fullPath);
                        console.log(`✓ Added: ${trimmed}`);
                    } else {
                        console.log(`✗ Not found: ${trimmed}`);
                    }
                }
            }

            filesToArchive = [...new Set(filesToArchive)];
        } else {
            console.log('✗ .pro7 file not found');
        }

        if (filesToArchive.length === 0) {
            console.error('\n✗ No files to archive!');
            process.exit(1);
        }

        console.log('\n✓ Cleaning up old archives...');
        const existingArchives = await glob('pro7-*.7z', { cwd: WORKSPACE_ROOT, absolute: true });
        for (const archive of existingArchives) {
            fs.unlinkSync(archive);
            console.log(`  Deleted: ${path.basename(archive)}`);
        }

        const stream = add(OUTPUT_PATH, filesToArchive, {
            password: password,
            method: ['0=BCJ2', '1=LZMA2'],
            $bin: sevenBin.path7za,
            $progress: true
        });


        await new Promise((resolve, reject) => {
            stream.on('end', resolve);
            stream.on('error', reject);
        });

        console.log('✓ Archive path:', OUTPUT_PATH);

        const listStream = list(OUTPUT_PATH, {
            password: password,
            $bin: sevenBin.path7za
        });

        let fileCount = 0;
        listStream.on('data', (data) => {
            if (data.file) fileCount++;
        });

        await new Promise((resolve, reject) => {
            listStream.on('end', resolve);
            listStream.on('error', reject);
        });

        console.log(`✓ Archive contains `);
        console.log(`✓ ARCHIVING COMPLETED SUCCESSFULLY - CONTAINS ${fileCount} ${fileCount === 1 ? 'FILE' : 'FILES'}`);

    } catch (error) {
        console.error('\n' + '='.repeat(60));
        console.error('✗ ARCHIVE CREATION FAILED');
        console.error('='.repeat(60));
        console.error('\nError message:', error.message);
        console.error('Stack trace:', error.stack);
        process.exit(1);
    }
}
console.log('='.repeat(60));
console.log('PRO7 ARCHIVER');
console.log('='.repeat(60));
pro7Archiver();

PRISMA

[!TIP] Whenever there is a prisma function that you want trigger, if it requires the schema object name in order to function my best advise is type the schema objects name outside of any function you have already created, ie User with the proper casing. After you typed this above and outside of the action function, highlight it, r-click and select the desired function to trigger. This is due to most of the functions insert code at cursor. You can imagine, if you triggered it right in the middle of your prisma function inside your action, it would blow your action or loader function up, splitting your prisma function in half and because its never just a few lines of code, can even push the entire action / loader out of view completely. Even when using click to schema object, you can literally be anywhere in the workspace, type out the objects name User randomly in a typescript file, trigger the function and you will navigate to your schema file and the file will open at your desired object.

Create Include Object

Aspect Details
Function Generate Prisma include objects
Description Create include objects that include all relations for Prisma models
Usage
  • r-click on a Prisma object to automatically create an include object for your Prisma queries.
  • Best practice: type the schema object name (case-sensitive) a few lines down from your function, then r-click and trigger.
  • File system cleaning
  • VSCode restart options
  • This prevents the function from disrupting your existing code. Example: type User separately, r-click it, and generate the include object without affecting your prisma.
Preview Image

Click to Schema Object

Aspect Details
Function Jump to Prisma schema definition
Description Hightlight, right click and have the extension navaigate to the object within your schema file.
Usage r-click model name → Prisma → Open Schema Object
Advanced Usage Works from any file referencing Prisma models
Preview Image

Generate Crud Resolvers / Rest End Points

Aspect Details
Function Auto-generate CRUD endpoints & Auto-generate API endpoints
Description Generate CRUD resolvers and REST endpoints automatically
Usage R-click → Prisma → "CRUD"
Usage REST/GraphQL, preview, customization
Usage
  • Hover preview before generation
  • Full CRUD operations
  • TypeScript support
Preview Image
Preview Image
Preview Image
Preview Image

Auto Create Schema

Aspect Details
Description Scans app/src folders for Prisma functions (create, findFirst, etc.), extracts model names, fields, and relations, then automatically generates or updates the Prisma schema file with proper typing and attributes
Usage R-click editor → Prisma → select option
Advanced Usage Merges with existing schema.prisma, applies field rules from constants/fieldRules.ts (e.g., email gets @unique), auto-creates related models from include statements, preserves existing models and custom fields
BLEEDING EDGE
WARNING This feature set will only be active for users that have bleeding edge enabled and will not effect users that do not have this set to true
Usage select Auto Create Schema from the be quickpic

Visualize Schema Relations

Aspect Details
Function Creates a visual diagram showing relationships between database tables/models
Description COMING SOON!
Usage R-click editor → Prisma → select option

VSCODE

Performance Switch

Aspect Details
Function Toggle performance modes
Description Switch between performance modes for working with large files
Usage Options available via the devstack quickpic or editors context menu
Features
  • Disable For Current File
    • Disables DevStack features for the currently active file to improve performance
  • Enable For Current File
    • Re-enables DevStack features for the currently active file
  • Disable Everything
    • Globally disables all DevStack features across the workspace
  • Enable Everything
    • Re-enables all DevStack features across the workspace
  • Toggle Global Disable
    • Toggles the global disable state for all DevStack feature
Preview Image
Preview Image

Custom VSIX Packager

Aspect Details
Function Alternative VSIX packaging
Description Custom VSIX packager as alternative to vsce
Usage DevStack Quickpic → Custom VSIX Packager
Usage
  • Smaller file sizes than vsce
  • Custom ignore patterns
  • Structure visualization
Preview Image

Region Folding

Aspect Details
Function 1-7 fold region, instead of folding by actual level folds by region level. The same goes with the second set but is a toggle. If you want to use the functions listed below create an item in devstack with type command, also found in devstack quickpick
Function Overview
  • Fold Region Level 1 - ocrmnavigator.foldRegionLevel1
  • Fold Region Level 2 - ocrmnavigator.foldRegionLevel2
  • Fold Region Level 3 - ocrmnavigator.foldRegionLevel3
  • Fold Region Level 4 - ocrmnavigator.foldRegionLevel4
  • Fold Region Level 5 - ocrmnavigator.foldRegionLevel5
  • Fold Region Level 6 - ocrmnavigator.foldRegionLevel6
  • Fold Region Level 7 - ocrmnavigator.foldRegionLevel7
  • Toggle Region Level 1 - ocrmnavigator.toggleFoldRegionLevel1
  • Toggle Region Level 2 - ocrmnavigator.toggleFoldRegionLevel2
  • Toggle Region Level 3 - ocrmnavigator.toggleFoldRegionLevel3
  • Toggle Region Level 4 - ocrmnavigator.toggleFoldRegionLevel4
  • Toggle Region Level 5 - ocrmnavigator.toggleFoldRegionLevel5
  • Toggle Region Level 6 - ocrmnavigator.toggleFoldRegionLevel6
  • Toggle Region Level 7 - ocrmnavigator.toggleFoldRegionLevel7

FORMATTING AND ERRORS JSON FILES

Aspect Details
Function Includes formatting json and jsonc files converting multiline items to inline, toggles error logging json and jsonc files. If you want to use the functions listed below create an item in devstack with type command, also found in devstack quickpick
Function Overview
  • format Current Json File - ocrmnavigator.formatCurrentJsonFile
  • format Packge Dev Json - ocrmnavigator.formatPackgeDevJson
  • format Global Navigator Config Json - ocrmnavigator.formatGlobalNavigatorConfigJson
  • toggle Json Validation - ocrmnavigator.toggleJsonValidation
  • toggle Jsonc Validation - ocrmnavigator.toggleJsoncValidation

Encoder/Decoder

Aspect Details
Function File format conversion
Description Convert between file formats: Base64, SVG, MP4 to MP3, etc.
Usage Access via web GUI
Advanced Usage 13+ formats, batch processing, quality settings
Preview [Video]

File Formatting Configurator

Aspect Details
Function Opens configuration interface for setting up custom formatters
Description Configure formatters per file type with live preview of changes
Usage Web GUI
Preview [Video]

Formatter

Aspect Details
Function Multi-format file formatter
Description Format 33+ file types with, can also set as default formatter per file type, to set select Format Document with..., select configure and select desired foramtter
Usage r-click → Formatters → select option
Preview Image

Inline Imports

Aspect Details
Function Convert multi-line imports to single line
Description Transforms multi-line imports into single-line format while converting @ to ~
Usage r-click → Format document with → select option
Preview Video

Batch Rename

Aspect Details
Function Mass file renaming tool
Description Edit multiple filenames via generated .txt file
Usage Hightlight files → r-click → Batch Rename
Advanced Usage Pattern matching, regex support, undo functionality

File Line Jumper

Aspect Details
Function Creates clickable file links with line numbers
Description Creates clickable links in any file that open at specific line numbers. Available before and after return statements
Usage Use // @dev path:line syntax
Example // @dev app/components/catalyst-ui/primitives/table.tsx:6
Preview Video
Preview Image

File Search Jumper

Aspect Details
Function Creates search-based file links
Description Create links that search for terms and navigate to first instance
Usage Use // @devsearch path:term
Example // @devsearch app/components/catalyst-ui/data/table-data.tsx:Table
Preview Video
Preview Image

File Nesting - Coming Soon

Aspect Details
Function Configure file nesting rules
Description Organize related files in explorer view
Usage Configure via settings

Remove Trailing Commas

Aspect Details
Function Clean JSON/JavaScript trailing commas
Description Removes trailing commas from JSON and JS objects
Usage r-click → Formatters → select option
Preview Image

Remove All Comments

Aspect Details
Function Strip code comments
Description Strips all comments from the current file
Usage r-click → Formatters → select option or command palette
Preview Image

Remove console.log from file

Aspect Details
Function Clean console logs from file
Description Removes all console.log statements from the current file
Usage r-click → Formatters → select option or command palette
Preview Image

Remove console.log from folder

Aspect Details
Function Clean console logs from folder
Description Removes all console.log statements from all files in the selected folder
Usage r-click folder → Formatters → select option
Preview Image

Remove console.log from workspace

Aspect Details
Function Clean console logs from workspace
Description Removes all console.log statements from all files in the entire workspace
Usage Command palette → select remove console.log from workspace
Preview Image

Remove Unused Imports From File

Aspect Details
Function Clean unused imports
Description Detects and removes import statements that are not used in the file
Usage r-click → Formatters → select option or command palette
Preview Image

REFERENCE

Shortcuts

Aspect Details
Function Keyboard shortcuts reference
Description Reference for all keyboard shortcuts in the extension
Usage
Context Snippets alt + s
Clipboard++ alt + c
Show Bookmarks alt + b
DevStack Quick Pick alt + d
Open UI Dashboard alt + a
Show Error History alt + h
Catalyst UI Quickpick alt + x
Icons Quickpick alt + v

VSCode Commands Cheat Sheet

Aspect Details
Function VSCode commands reference
Description Cheat sheet with 360+ commonly used VSCode commands
Usage Access via reference menu
Advanced Usage Search, filter by category, quick copy
Preview Image

Clipboard History Pro

Aspect Details
Function Multi-item clipboard manager
Description Track and reuse your last 20 clipboard items
Usage Click Clipboard++ located on the status bar
Advanced Usage
  • Hover previews
  • Status bar access
  • Persistent across sessions

Bookmarks

Aspect Details
Function Line-specific code bookmarks
Description
  • Mark and navigate to specific lines across your workspace
  • Stores up to 20 bookmarks
  • Status bar access
  • Quick navigation
Usage Click Bookmarks located on the status bar
Add bookmark r-click line → DevStack → Add Bookmark
Preview Image

Markdown Cheat Sheet

Aspect Details
Function Markdown reference guide
Description Cheat sheet with GitHub-flavored Markdown examples
Usage Web GUI
Preview Image

Color Wheel

Aspect Details
Function Advanced color picker
Description ShadCN-inspired color picker with multiple format outputs
Usage Web GUI
Preview Image

Wizards Section

Aspect Details
Function Command reference and organization
Description Collection of all extension commands for custom workflows. To enable you to create any custom workflow using the command item type
Usage Browse categorized command list, outlined within the accordian below
Advanced Usage Create custom chains/concurrent commands, integrate with other extensions
List...
Name Value
VFS
COMMANDS, POWERSHELL, OPEN FILE FROM DEVSTACK PANE, VSCODE COMMAND, ETC
Copy Value copyValue
Execute Debian WSL CMD debianCMD
Bash Cmd addTerminalCommandToCategory
Snippets File snippetsFile
Command cmdsEdit
Chain chainsCreate
Cmd / Powershell Cmd / URL / VSCode Cmd / Debian Cmd / File / MD / Folder cmdsCreate
Playlist openMusicInBrowser
Chains devStackView
Execute Terminal CMDS executeItem
Chain / Cmd Sequencer addAutoSequencer
Execute a chain of items autoSequencer
Copy Path copyPath
Execute Command executeSTRCommand
Execute Command executeCommand
Concurrently concurrent
EDITING ITEMS IN DEVSTACK
Batch Add Files to CRM Navigator addFilesToNavigator
Toggle To Hide Item In UI hideSingleItem
Toggle Hidden Nav Items toggleHiddenItems
Add to tree items addUnusedToFileTree
Add File to DevStack addFileToNavigator
Add File/s to DevStack initialFile
Edit Label editFileLabel
Remove Item deleteItem
Move Folder Up moveCategoryUp
Move Folder Down moveCategoryDown
Remove Folder deleteCategory
Move File Up moveFileUp
Remove URL removeUrl
Edit Command editCommand
Move File Item moveItem
Select as Move Destination setMoveTarget
Edit Web URL editWebUrl
Add Sub Folder addSubcategory
Refresh Navigator refresh
Expand Folder By Default expandFolder
Collapse Folder By Default collapseFolder
Add Item addItemToDevstack
Create uiCreate
DevStack Chains chainsEdit
SEARCH DEVSTACK
DevStack: Search showQuickPick
Search quickSearch
Search in Navigator search
UI WEB APP
DevStack cmdsView
Media Player openPlayer
Add Menu addActions
Main Menu mainActions
Configurators uiConfigurators
Master Apps uiMasterApps
UI Dashboard openUi
OTHER FUNCTIONLAITY
Convert To Become Agnostic convertToAgnostic
Reference uiReference
clean clean
Configuration configSub
prevState prevState
Show History showHistory
DevStack devStackSubmenu
Search For Unused Exports searchForExportsThatAreNotInUse
Add Bookmark bookmarks.add
Show Bookmarks bookmarks.show
Show Clipboard History clipboardManager.showHistory
Reveal in Explorer revealInExplorer
Open Viewer viewersSub
MARKDOWN
Render MD renderMd
MD mdViewWorkspaceList
MD createUiMD
Render MD In VSCode renderedMDFile
View MD mdFile
MD w/ Viewer createMDWCheat3Wide
Edit .MD Label editMDLabel
SNIPPETS
Context Snippets contextSnippets
%s insertSnippet
refreshWorkspaceSnippets refreshWorkspaceSnippets
Import Snippets importSnippets
Copy Snippet Body copySnippetToClipboard
JSON
JSON Comments jsonComments
UI COMPONENTS LIBRARY
Install Catalyst-UI exluding config files installCatalystUIOnly
Install Catalyst-UI Free exluding config files installCatalystUIFreeOnly
Install Catalyst UI Comps installCatalystUIFree
Install Catalyst UI installCatalystUI
Components UIComponents
Components List UIComponentsList
Change Free Premium changeFreePremium
TanStack Table Scaffolding myTanStackTable
Project Scaffolding myProjectSetup
Components Viewer UIComponentsViewer
Required for clientOnly - use-hydrated.js useHydrated
Custom client-only.js that replaces remix-utils version clientOnly
Search w/ Fuse.js searchWFusejs
Search w/ Filter searchWFilter
Command w/ CommandInput commandWCommandInput
Command w/ Search commandWSearch
BG w/ Hover bgWHover
BG Blue w/ Hover blue
API Route apiRoute
Command - Pagination cammandPagination
ICON LIBRARY
icons insertIcon
CSS LIBRARY
Scroll Bar - based on CSS theme themedScrollBar
AI
Open Pre-Prompt openPrePrompt
Send Function Context to Copilot sendFunctionContextToCopilot
Show Modernization Stats showModernizationStats
Convert Class to Hooks convertClassToHooks
Modernize Code modernizeCode
Navigate To Error navigateToError
Undo Last Auto-Fix undoLastFix
Confirm Fix Worked (Learn Pattern) confirmFixWorked
Clear Error History clearErrorHistory
Show Error History showErrorHistory
Find Errors, Missing Imports & More errorsMissingImportsPlus
REMIX-RUN
Automatic Remix Action autoRemixAction
Build & Deploy buildProjectConfigurator
Create Single App - React Router createSingleApp
Error Boundary addErrorBoundary
Meta Function addMetaFunction
Links Function addLinksFunction
Create Action Object createActionObject
Auth Design Page authDesignPage
Create Include Object createIncludeObject
Create Monorepo createMonorepo
Convert to Monorepo convertToMono
Build & Deploy Project buildProject
Remix remixAdd
Functions remix
RR Folder Routing reactrouterFileBasedRouting
Create Tests For Route and Action testRouteFile
Install Auth in Remix w/ Auth Routes installAuthRemix
Install OTP Into Remix w/ Auth Routes installOTPRemix
Add ESlint and Prettier configs configureEslingPrettier
Converts the v1 routing convention to v2 convertV1ToV2
Open Route in Browser openRouteInBrowser
Preview Route URL previewRoute
Test Route Conversion testRouteConversion
Open the files route openUrlFromEditor
SHADCN
Typography typography
Nav Menu navMenu
Pagination pagination
Date Time Picker dateTime
Date W/ Input dateWInput
DOB Date Picker dobDate
Avatar avatar
Alert Dialog alertDialog
Switch Card switchCard
Switch shadCNswitch
Textarea textarea
Tooltip addShadcnTooltip
Sidebar addShadcnSidebar
Context Menu addShadcnContextMenu
Popover addShadcnPopover
Menubar addShadcnMenubar
Hover Card addShadcnHoverCard
Dropdown Menu addShadcnDropdownMenu
Drawer addShadcnDrawer
Chart addShadcnChart
Combobox addShadcnCombobox
Checkbox addShadcnCheckbox
Install ShadCN w/ All Components installShadcn
Fetch w/ state and useEffect addFetch
Sm Table w/ Columns addCleanSmTable
Fuse Input w/ X addFuseInput
Designed Button ClassName designedButtonClassName
Add Missing Imports addMissingImports
Command Dialog commandDiaolog
Draggable Responsive Dialog Drawer draggableresponsivedialogdrawer
ButtonStyled ButtonStyled
Context Context
Group Group
Toggle Toggle
OTP OTP
Hover Hover
Menu Menu
Dropdown Dropdown
Responseive Responseive
Command Command
Accordion Accordion
Button addShadcnButton
Input addShadcnInput
Card addShadcnCard
Dialog addShadcnDialog
Form addShadcnForm
Select addShadcnSelect
Table addShadcnTable
Tabs addShadcnTabs
Alert addShadcnAlert
Sheet addShadcnSheet
Route File addRouteFile
TanStack Table File addTableFile
useEffect addUseEffect
useState addUseState
Map addMap
On Submit w/ Fetcher addOnSubmitFunionatlity
Button W/ On Click With Submit addOnClickWithSubmit
ClassNames addClassNames
Fetcher.Form With Items addFetcherForm
Loader addLoader
Action addAction
GITHUB
Open GitHub Repo At File openGitHubRepoAtFile
Open GitHub Repo In Browser openGitHubRepo
G4PUBNPM G4PUBNPM
GitHub Functions
Auto Commit, Push and Upgrade autoCommitPushUpgrade
Auto Commit and Push autoCommitPush
Upgrade Patch, create & reveal VSIX upgradeExtension
PRISMA
Update Prisma updatePrisma
Prisma prisma
Generate CRUD Resolvers generateCrudResolvers
Open Object In Schema clickToSchemaObject
dbAllLocal dbAllLocal
dbAllRemote dbAllRemote
dbReset dbReset
dbPush dbPush
dbSeed dbSeed
dbGen dbGen
dbStudio dbStudio
Visualize Schema Relations visualizeSchemaRelations
VSCODE
Performance Switch: Disable For Current File disableForCurrentFile
Performance Switch: Enable For Current File enableForCurrentFile
Performance Switch: Disable Everything disableEverything
Performance Switch: Enable Everything enableEverything
Performance Switch: Toggle Global Disable toggleGlobalDisable
Build Extension +++ YEEEETMOTHERFUCKER2
yeet yeet
Remove All Comments removeAllComments
Batch Rename renameBatch
Custom .VSIX Packager customVsixPackager
Auto Fold #region foldParentRegions
Remove Trailing Commas removeJson
YEEEET!!! YEEEETMOTHERFUCKER
Formatters formattersSub
Auto Fold #region autoFoldRegion
Remove console.log statements from this file removeConsoleLogsFromFile
Remove console.log statements from folder removeConsoleLogsFromFolder
Remove console.log statements from workspace removeConsoleLogsFromWorkspace
Inline Imports inlinesImports
Remove Unused Imports From File removeUnusedImports
Format with DevStack formatCurrentFile
Formatters configureFormatters
Configure Missing Imports configureImports
DukeNUKEM DukeNUKEM
Missing Imports && Variables missingImportsAndVariables
REFERENCE
Tailwind Converter tailwindConverter
Open Left Off Note openLeftOffNote
Navigate to Bookmark navigateToBookmark
View Left Off Note openExistingNote
VSCode Cmds Reference showCommandsReference
Color Wheel colorWheel
MD Guide viewMarkdownGuide
build build
REXT REXT
RTS RTS
RWINDOW RWINDOW
DEVOOLS DEVOOLS
CONFIG
Create Export Index ( registry ) createFolderSmartIndex
View Example Config configExample
Edit .json Config editConfig
Share Config With Friend shareConfig
Default Apps editDefaultValues
Export Config exportConfig
Import Config importConfig
VSCODE && TAILWIND STYLING
Blacked Out blackedOut
Blued Out bluedOut
VSCode Theme Configurator themeViewer
Window Differentiator windowDifferentiator
Reset Colors - Window Differentiator resetWindowDifferentiator
--- ## VSCODE & TAILWIND STYLING

VSCode & Tailwind Theme Builder

Aspect Details
Function Create custom VSCode & Tailwind themes
Description Visual theme configurator with live preview, then provides v4, v3 css formats and vscode settings file format
Usage Web GUI Preview Image

Blacked Out

Aspect Details
Function Dark theme preset
Description Ultra-dark theme configuration for VSCode, sets your active workspaces theme settings
Usage Settings Dropdown → select option
Preview Image

Blued Out

Aspect Details
Function Dark theme preset, in dark blue
Description Ultra-dark theme configuration for VSCode, sets your active workspaces theme settings
Usage Settings Dropdown → select option
Preview Image

Window Differentiator

Aspect Details
Function Multi-window color coding
Description Assign different colors to multiple VSCode windows, provides a different color each time the function is triggered with about 20+ variants
Usage Settings Dropdown → select option
Preview Image

Reset - Window Differentiator

Aspect Details
Function Reset window colors
Description Restores default window colors
Usage Settings Dropdown → select option
Preview Image

TOOLS

Left Off Note|Aspect|Details|

|---|---| |Function|Project-specific notes system| |Description|Leave detailed, project-specific notes for where you left off| |Usage|Context menu → Open Leftoff Note| |Advanced Usage|Persistent notes per workspace, markdown support| |Preview|Image|

Tailwind Converter

Aspect Details
Function Convert between Tailwind versions
Description V3←→V4 Tailwind class converter tool
Usage Web GUI
Preview Image

React/Tailwind Sandbox

Aspect Details
Function Live development environment
Description Dedicated live development environment for component design with Monaco editor and dynamic dock
Usage Web GUI
Advanced Usage Hot reload, component library integration, export
Config Files Sandbox config files

CONFIG

Share Config With Friends / Export All Configs

Aspect Details
Function Export DevStack configuration
Description
  • Share your setup with others via exported config files
  • Includes README with setup instructions
  • Exports to shareWithFriends folder
Usage Settings dropdown → Share Config
Warning Review for sensitive data before sharing
Preview Image
Preview Image

View Config Example

Aspect Details
Function Configuration reference
Description View example DevStack configuration files
Usage settings dropdown → select option && Web GUI Sidebar
Preview Image
Preview Image

Add Missing Imports w/ Global Config

Aspect Details
Function Auto-import missing dependencies
Description Automatically adds missing import statements based on global configuration
Usage r-click in editor → formatters → select option
Preview Image

Default Apps Configuration

| Aspect | Details | | --- | --- | |Function|Manage active features| |Description|Control which DevStack features load on startup| |Usage|Accessible via extensions settings, workspace or global user settings files, or from the web GUI| |Config|

{
"ocrmnavigator.vscodeVersion": "Code - Insiders",
"ocrmnavigator.configPath": ".vscode/ocrmnavigator/search-config.json",
"ocrmnavigator.toggleHiddenItems": true,
"ocrmnavigator.superuserTaskRunner":  true,
"ocrmnavigator.strPrismaUpdater":  true,
"ocrmnavigator.commands":  true,
"ocrmnavigator.vscodecmdref":  true,
"ocrmnavigator.markdownViewer": true,
"ocrmnavigator.snippets":  true,
"ocrmnavigator.snippetsInEditor":  true,
"ocrmnavigator.editorContextSnippets":  true,
"ocrmnavigator.formatters":  true,
"ocrmnavigator.trailingCommas":  true,
"ocrmnavigator.batchRename":  true,
"ocrmnavigator.addMissingImports":  true,
"ocrmnavigator.eslintPrettier":  true,
"ocrmnavigator.remixUtils":  true,
"ocrmnavigator.theme":  true,
"ocrmnavigator.blackedOut":  true,
"ocrmnavigator.windowDifferentiator":  true,
"ocrmnavigator.shadCNComponents":  true,
"ocrmnavigator.repoMgr":  true,
"ocrmnavigator.openGithub":  true,
"ocrmnavigator.githubFunctions":  true,
"ocrmnavigator.prismaFunctions":  true,
"ocrmnavigator.remixComponents":  true,
"ocrmnavigator.clickToSchema":  true,
"ocrmnavigator.crudResolvers":  true,
"ocrmnavigator.extMgrForDevs":  true,
"ocrmnavigator.fileNesting":  true,
"ocrmnavigator.revealExplorer":  true,
"ocrmnavigator.copyPath":  true,
"ocrmnavigator.bookmarks":  true,
"ocrmnavigator.searchBar":  true,
"ocrmnavigator.clipBoardHistory":  true,
"ocrmnavigator.colorWheel":  true,
"ocrmnavigator.lucideIcons":  true,
"ocrmnavigator.share":  true,
"ocrmnavigator.url":  true,
"ocrmnavigator.jsonComments":  true,
"ocrmnavigator.con":  true,
"ocrmnavigator.removeAllComments":  true,
"ocrmnavigator.unusedFunctions":  true,
"ocrmnavigator.viewers":  true,
"ocrmnavigator.uiDashboard":  true,
"ocrmnavigator.devStackFunctions":  true,
"ocrmnavigator.openLeftOffNote":  true,
"ocrmnavigator.autoFoldRegion":  true,
"ocrmnavigator.notesTodoAndThings":  true,
"ocrmnavigator.renderMd":  true,
"ocrmnavigator.visualizeSchemaRelations":  true,
"ocrmnavigator.createFolderSmartIndex":  true,
"ocrmnavigator.tailwindConverter":  true,
"ocrmnavigator.convertToAgnostic":  true,
"ocrmnavigator.concurrent":  true,
"ocrmnavigator.autoSequencer":  true,
}

Create Export Index|Aspect|Details|

|---|---| |Function|Creates a index file that acts as a registry, allowing for easier imports for the effected functions / components| |Description|

  • Within the blocks folder of my components library, instead of importing each and every single individual demo, ie <Demoone />, <DemoTwo />
  • the registry file was already created, so this step was already completed
  • next I imported via import * as Components from './index';
  • then I was able to access every single registry item via, <Components.LoanApp />, <Components.ServiceRepairForm />
  • This saved a lot of time, because I was able to do a find and replace, allowing me to insert <Components. infront of every function within seconds for 1550+ blocks
| |Usage|
  • Right clicking on any folder will reveal the create export index option
  • Selecting it will create an index.tsx file, exporting all of that folder's items recursively to allow easier imports when called
| |Preview|Image|

Edit .json Config

Aspect Details
Function Opens the config file in your editor, allowing you to make edits without having to dig through the file system to find it
Usage Settings dropdown → select option
Preview Image

Export Config

Aspect Details
Function Export the config, writing to a file in your workspace's root directory
Usage Settings dropdown → select option
Preview Image

Import Config

Aspect Details
Function Import a backup or import a config you made changes to with ease
Usage Settings dropdown → select option
Preview Image

Add ESLint & Prettier Configs

| Aspect | Details | | --- | --- | |Function|Install linting configurations| |Description|Adds ESLint and Prettier configuration files to project| |Usage|Viewers dropdown → project → select option| |Preview|Image|

To do Notes Reminders and Post Its

Aspect Details
Function Allowing you to create to do lists, notes, reminders and even a section for quick notes during coding sessions
Description Uses a repo as a single source of truth, allowing you to access it no matter the workspace you are currently coding in. There is also a web app, that was designed for use on mobile devices. There are some really nice ui features implemented into the web app, that I wish all todo/note apps had. For example, its annoying whenever you go to review to do lists, to open one list, check off its items, exit out and go back to your lists view, enter another to do list, reviews its items and so on. Instead, whenever your viewing your list of to dos, the bottom right hand corner features a toggle, when clicked it merges all of your to do list into one and seperates each lists items by its title. Line items are no longer editable, but the entire line item is now clickable in order to change its state from incomplete to completed. Obviously allowing you to quickly review everything at once with ease.
Explorer Pane
  • 4 sections broken up displaying each sections relevant items
  • on the title of each section has a button for easily creating that sections items
  • just like any other explorer pane, each sections title can be clicked on to either hide or show its contents
  • each section hosts a labeling system to allow you to categorize its items with priority, trash, and completed
  • each items contenxt menu allows you to label that item as well as delete the item from the repo / list
To Do
  • using vscodes file tree displays clickable list items that when clicked complete the line item and automatically syncs to your todo/notes repo
  • when clicking on a lists title, opens that list in a markdown doc in the editor for you to make edits
  • whenever you save within the editor, pushes to your todo/notes repo
  • displayed check lists renders all nested items allowing you to fold by section with the file tree
  • in regards to the todo/notes repo you can
    • create new repos to use
    • share repos
    • change the current repo
    • and everything else that is usually at your disposal when it comes to github
Notes
  • simple note format
    • first line use for your docs title # NOTE
    • from the 3rd line down, the remainder of the doc can be used as you see fit
    • no limit on the amount of notes
Reminders
  • same format as notes except for the reminders date and time
  • 1st line title # REMINDER
  • 3rd line date and time for reminder DUE: 2025-05-22 09:00
  • 5th line onwards, use as you wish
Post its
  • used as a quick and dirty notes section, like a post it pad
  • during coding, for me anyways, there are times where its easier to have .txt doc up, create a new file within the project or something similar where I can place code pieces that Im constantly using in the current file that I am coding in. I wanted a way to be able to take care of that but with out the extra over head of opening up other programs, create new files within the project, etc and then have to manage these items later down the road
  • for an example see the code snippet below
  • whenever a tab is active, instead of the tab trigger being dead space in the ui, it now acts as a copy button for that tabs content
  • each items context menu contains the following funtions:
    • copy contents
    • clear contents
    • delete all
  <Tabs>
    <TabsList>
      <TabsTrigger value="white">{white color}</TabsTrigger>
      <TabsTrigger value="green">{green color}</TabsTrigger>
      <TabsTrigger value="blue">{blue color}</TabsTrigger>
      <TabsTrigger value="yellow">{yellow color}</TabsTrigger>
      <TabsTrigger value="purple">{purple color}</TabsTrigger>
    </TabsList>
    <TabsContent value="white">
      notes data
    </TabsContent>
    <TabsContent value="green">
      notes data
      </TabsContent>
    <TabsContent value="blue">
      notes data
      </TabsContent>
    <TabsContent value="yellow">
      notes data
      </TabsContent>
    <TabsContent value="purple">
      notes data
      </TabsContent>
  </Tabs>

[!TIP] If you were using the to do extension prior, and would like a very easy, painless way to transfer over to use within this extension. Before removing the old extension, change the name of the values in your global settings file from ntrsync to ocrmnavigator so each of them are like the following "ocrmnavigator.branch": "main", and because the code was just transferred over, on your next instance start the explorer pane will load up exactly like it did before.

Markdown Pre-Processor

Aspect Details
Function pre-processor for markdown documents that processes a variables system, source map creator/updater, toc creator/updater with toc type, list conversion, code section conversion
Description currently only the vars systemk, list conversion and code section conversions are available within the extension. I'll include the file for you, if you would like the other features as well
Usage devstack quickpick option labeled Markdown Pre-Processor, if using the js file you can place within the autorun folder or run from the terminal. In the js file you can change the source file, target file, and set which sections of the pre-processor to run as well as which type of table of contents list that you want in your converted md file
Lists for lists to render inside a table, the lists need to be an inline html list, which you can imagine are horrible for human reading consumption, but with the conversion you can create your lists just like you would any where else in a markdown doc ie - list item and it will convert it to an inline html format
Code Sections
TOC
Sourcemap
Variables

markdown-pre-processor.js

const fs = require('fs');
const path = require('path');

const srcFile = 'README.dev.md'
const tgtFile = 'README.md'

const variableSystem = true
const sourcemapUpdater = true
const tocUpdater = true
const tocType = 'roman'; // 'unordered', 'ordered', 'roman', 'accordion'
const tableConversion = true

const sourceFile = path.join(__dirname, '..', '..', srcFile);
const targetFile = path.join(__dirname, '..', '..', tgtFile);
console.log('='.repeat(60));
console.log('CONVERT README.DEV.MD');
console.log('='.repeat(60));

try {
  let content = fs.readFileSync(sourceFile, 'utf8');
  
  content = content.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
  console.log('✓ Normalized line endings');
  
  // VARIABLE SYSTEM
  // #region ============================================
  if (variableSystem) {
    const variables = {};
    
    const constRegex = /<!--\s*const\s+(\w+)\s*:\s*(.+?)\s*-->/g;
    const constMatches = [...content.matchAll(constRegex)];
    
    constMatches.forEach(match => {
      variables[match[1]] = match[2].trim();
      console.log(`✓ Variable set: ${match[1]} = ${match[2].trim()}`);
    });
    
    content = content.replace(constRegex, '');
    
    let lastContent, iterations = 0;
    do {
      lastContent = content;
      content = content.replace(/\${(\w+)}/g, (match, varName) => {
        if (variables[varName] !== undefined) return variables[varName];
        console.warn(`⚠  Variable not found: ${varName}`);
        return match;
      });
    } while (content !== lastContent && ++iterations < 10);
    
    content = content.replace(/^\s*<!--\s*-->\s*$/gm, '');
    
    if (Object.keys(variables).length > 0) {
      console.log(`✓ Processed ${Object.keys(variables).length} variables`);
    }
  }
  // #endregion

  // TOC UPDATER
  // #region ============================================
  if (tocUpdater) {
    console.log('\nGenerating Table of Contents...');
    
    const lines = content.split('\n');
    const headers = [];
    let foundToc = false;
    let tocLineIndex = -1;
    
    for (let i = 0; i < lines.length; i++) {
      const line = lines[i];
      
      if (line.match(/^##\s+.*?\*?\*?TOC\*?\*?/i)) {
        foundToc = true;
        tocLineIndex = i;
        console.log(`Found TOC at line ${i + 1}: ${line.substring(0, 60)}`);
        continue;
      }
      
      if (foundToc) {
        const imageMatch = line.match(/^##\s+<img[^>]+>\*?\*?(.+?)\*?\*?/);
        const simpleMatch = line.match(/^##\s+(.+)$/);
        
        if (imageMatch) {
          let title = imageMatch[1].trim();
          title = title.replace(/<br\s*\/?>\s*$/i, '').trim();
          const anchor = title.toLowerCase().replace(/\s+/g, '-').replace(/[^\w-]/g, '');
          headers.push({ title, anchor, line: i });
          console.log(`  Found header: ${title}`);
        } else if (simpleMatch) {
          let title = simpleMatch[1].trim();
          title = title.replace(/<br\s*\/?>\s*$/i, '').replace(/\*\*/g, '').trim();
          if (title.toLowerCase() === 'sourcemap') continue;
          const anchor = title.toLowerCase().replace(/\s+/g, '-').replace(/[^\w-]/g, '');
          headers.push({ title, anchor, line: i });
          console.log(`  Found header: ${title}`);
        }
      }
    }
    
    let tocContent = '';
    const romanNumerals = ['I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X',
                          'XI', 'XII', 'XIII', 'XIV', 'XV', 'XVI', 'XVII', 'XVIII', 'XIX', 'XX',
                          'XXI', 'XXII', 'XXIII', 'XXIV', 'XXV', 'XXVI', 'XXVII', 'XXVIII', 'XXIX', 'XXX',
                          'XXXI', 'XXXII', 'XXXIII', 'XXXIV', 'XXXV', 'XXXVI', 'XXXVII', 'XXXVIII', 'XXXIX', 'XL',
                          'XLI', 'XLII', 'XLIII', 'XLIV', 'XLV', 'XLVI', 'XLVII', 'XLVIII', 'XLIX', 'L'];
    
    headers.forEach((header, idx) => {
      let prefix = '';
      
      switch (tocType) {
        case 'ordered':
          prefix = `${idx + 1}. `;
          break;
        case 'roman':
          prefix = `${romanNumerals[idx] || (idx + 1)}. `;
          break;
        case 'unordered':
        case 'accordion':
          prefix = '- ';
          break;
      }
      
      tocContent += `${prefix}[${header.title.toUpperCase()}](#${header.anchor})\n`;
    });
    
    if (tocType === 'accordion') {
      tocContent = `<details closed><summary style="font-size: 1.2em; color: #1447e6;"><b>TOC</b></summary>\n\n${tocContent}\n</details>`;
    }
    
    if (tocLineIndex !== -1) {
      const tocHeaderLine = lines[tocLineIndex];
      const afterTocIndex = tocLineIndex + 1;
      
      let nextSectionIndex = -1;
      for (let i = afterTocIndex; i < lines.length; i++) {
        if (lines[i].match(/^##\s+/)) {
          nextSectionIndex = i;
          break;
        }
      }
      
      const beforeToc = lines.slice(0, afterTocIndex).join('\n');
      const afterNextSection = nextSectionIndex !== -1 ? lines.slice(nextSectionIndex).join('\n') : '';
      
      content = beforeToc + '\n\n' + tocContent + '\n\n' + afterNextSection;
      console.log(`✓ TOC updated with ${headers.length} entries (${tocType} style)`);
    } else {
      console.warn('⚠  TOC section not found');
    }
  }
  // #endregion

// SOURCEMAP UPDATER
// #region ============================================
if (sourcemapUpdater) {
  console.log('\nGenerating Sourcemap...');
  
  const lines = content.split('\n');
  const sections = [];
  let currentSection = null;
  let inSourcemapSection = false;
  let foundToc = false;
  
  for (let i = 0; i < lines.length; i++) {
    const line = lines[i];
    
    if (line.match(/^##\s+.*?\*?\*?TOC\*?\*?/i)) {
      foundToc = true;
      continue;
    }
    
    const h2ImageMatch = line.match(/^##\s+<img[^>]+>\*?\*?(.+?)\*?\*?/);
    const h2Match = line.match(/^##\s+(.+)$/);
    
    if (h2ImageMatch || h2Match) {
      let title = h2ImageMatch ? h2ImageMatch[1].trim() : h2Match[1].trim();
      
      title = title.replace(/<br\s*\/?>\s*$/i, '').replace(/\*\*/g, '').trim();
      
      if (title.toLowerCase() === 'sourcemap') {
        inSourcemapSection = true;
        currentSection = null;
        continue;
      }
      
      if (inSourcemapSection && title.toLowerCase() !== 'sourcemap') {
        inSourcemapSection = false;
      }
      
      const skipSections = [
        'toc',
        'sourcemap',
        'license',
        'overview',
        'features',
        'getting started',
        'usage',
        'roadmap',
        'project roadmap',
        'acknowledgments',
        'acknowledgements'
      ];
      
      const titleLower = title.toLowerCase();
      
      if (skipSections.includes(titleLower) || !foundToc || title.trim() === '') {
        currentSection = null;
        continue;
      }
      
      const anchor = title.toLowerCase().replace(/\s+/g, '-').replace(/[^\w-]/g, '');
      
      if (anchor === '') {
        currentSection = null;
        continue;
      }
      
      currentSection = { title, anchor, subsections: [] };
      sections.push(currentSection);
      console.log(`  Section: ${title}`);
    }
    
    if (!inSourcemapSection && currentSection) {
      const h3Match = line.match(/^###\s+(.+)$/);
      if (h3Match) {
        const subtitle = h3Match[1].trim();
        
        if (subtitle === '') continue;
        
        const subanchor = subtitle.toLowerCase().replace(/\s+/g, '-').replace(/[^\w-]/g, '');
        
        if (subanchor === '') continue;
        
        currentSection.subsections.push({ title: subtitle, anchor: subanchor });
        console.log(`    Subsection: ${subtitle}`);
      }
    }
  }
  
  let sourcemapContent = '';
  sections.forEach(section => {
    if (section.title && section.anchor) {
      sourcemapContent += `- [${section.title}](#${section.anchor})\n`;
      section.subsections.forEach(sub => {
        if (sub.title && sub.anchor) {
          sourcemapContent += `  - [${sub.title}](#${sub.anchor})\n`;
        }
      });
    }
  });
  
  const licenseRegex = /^##\s+.*?\*?\*?License\*?\*?/im;
  const licenseMatch = content.match(licenseRegex);
  
  if (licenseMatch) {
    const licenseIndex = content.indexOf(licenseMatch[0]);
    
    const sourcemapRegex = /^##\s+.*?\*?\*?Sourcemap\*?\*?/im;
    const existingSourcemap = content.match(sourcemapRegex);
    
    if (existingSourcemap) {
      const sourcemapStartIndex = content.indexOf(existingSourcemap[0]);
      const afterSourcemap = content.substring(sourcemapStartIndex);
      const nextSectionMatch = afterSourcemap.match(/^##\s+/m);
      
      if (nextSectionMatch) {
        const nextSectionIndex = afterSourcemap.indexOf(nextSectionMatch[0]);
        const beforeSourcemap = content.substring(0, sourcemapStartIndex);
        const afterSourcemapSection = content.substring(sourcemapStartIndex + nextSectionIndex);
        content = beforeSourcemap + afterSourcemapSection;
        const newLicenseMatch = content.match(licenseRegex);
        if (newLicenseMatch) {
          const newLicenseIndex = content.indexOf(newLicenseMatch[0]);
          const beforeLicense = content.substring(0, newLicenseIndex);
          const fromLicense = content.substring(newLicenseIndex);
          content = beforeLicense + '## Sourcemap\n\n' + sourcemapContent + '\n\n' + fromLicense;
        }
      }
    } else {
      const beforeLicense = content.substring(0, licenseIndex);
      const fromLicense = content.substring(licenseIndex);
      content = beforeLicense + '## Sourcemap\n\n' + sourcemapContent + '\n\n' + fromLicense;
    }
    
    console.log(`✓ Sourcemap updated with ${sections.length} sections (placed before License)`);
  } else {
    console.warn('⚠  License section not found - placing Sourcemap at end');
    content += '\n\n## Sourcemap\n\n' + sourcemapContent + '\n';
  }
}
// #endregion
  // TABLE CONVERSION LOGIC
  // #region ============================================
  if (tableConversion) {
    function convertMarkdownListToHtml(listText) {
      const lines = listText.split('\n').filter(line => line.trim());
      let html = '<ul>';
      let indentStack = [0];
      
      for (let i = 0; i < lines.length; i++) {
        const match = lines[i].match(/^(\s*)-\s+(.+)$/);
        if (!match) continue;
        
        const spaces = match[1].length;
        const text = match[2].trim();
        const currentIndent = indentStack[indentStack.length - 1];
        
        if (spaces > currentIndent) {
          html += '<ul>';
          indentStack.push(spaces);
        } else if (spaces < currentIndent) {
          while (indentStack.length > 1 && spaces < indentStack[indentStack.length - 1]) {
            html += '</li></ul>';
            indentStack.pop();
          }
          html += '</li>';
        } else if (i > 0) {
          html += '</li>';
        }
        
        html += `<li>${text}`;
      }
      
      html += '</li>';
      while (indentStack.length > 1) {
        html += '</ul></li>';
        indentStack.pop();
      }
      html += '</ul>';
      
      return html;
    }
    
    function processTableCell(cellContent) {
      cellContent = cellContent.trim();
      
      if (cellContent.includes('```')) {
        const codeMatch = cellContent.match(/```(\w+)?\s*\n([\s\S]*?)```/);
        if (codeMatch) {
          const code = codeMatch[2];
          return `<pre><code>${code.replace(/</g, '&lt;').replace(/>/g, '&gt;')}</code></pre>`;
        }
      }
      
      if (cellContent.match(/(^|\n)\s*-\s+/)) {
        return convertMarkdownListToHtml(cellContent);
      }
      
      return cellContent;
    }
    
    const lines = content.split('\n');
    const output = [];
    let i = 0;
    let tablesFound = 0;
    
    while (i < lines.length) {
      const line = lines[i];
      
      if (line.match(/^\|.+\|$/)) {
        const nextLine = i + 1 < lines.length ? lines[i + 1] : '';
        
        if (nextLine.match(/^\|[\s\-:|]+\|$/)) {
          tablesFound++;
          
          output.push(line);
          output.push(nextLine);
          i += 2;
          
          let rowsProcessed = 0;
          while (i < lines.length) {
            const currentLine = lines[i];
            
            if (currentLine.match(/^\|/)) {
              let fullRow = currentLine;
              let rowLines = [currentLine];
              
              while (!fullRow.match(/\|$/) && i + 1 < lines.length) {
                i++;
                fullRow += '\n' + lines[i];
                rowLines.push(lines[i]);
              }
              const pipePositions = [];
              for (let j = 0; j < fullRow.length; j++) {
                if (fullRow[j] === '|') pipePositions.push(j);
              }
              
              if (pipePositions.length >= 2) {
                const cells = [];
                for (let j = 0; j < pipePositions.length - 1; j++) {
                  const start = pipePositions[j] + 1;
                  const end = pipePositions[j + 1];
                  const cellContent = fullRow.substring(start, end);
                  cells.push(cellContent);
                }
                
                const processedCells = cells.map(cell => processTableCell(cell));
                output.push('|' + processedCells.join('|') + '|');
                rowsProcessed++;
              } else {
                output.push(...rowLines);
              }
              
              i++;
            } else if (currentLine.trim() === '') {
              if (i + 1 < lines.length && lines[i + 1].match(/^\|/)) {
                output.push(currentLine);
                i++;
              } else {
                break;
              }
            } else {
              break;
            }
          }
          
          console.log(`✓ Table #${tablesFound}: ${rowsProcessed} rows processed`);
          continue;
        }
      }
      
      output.push(line);
      i++;
    }
    
    content = output.join('\n');
    
    if (tablesFound > 0) {
      console.log(`✓ Table conversion: ${tablesFound} tables processed`);
    }
  }
  // #endregion
  
  fs.writeFileSync(targetFile, content, 'utf8');
  
  console.log('='.repeat(60));
  console.log(`✓ Processing complete:`);
  if (variableSystem) console.log(`  - Variable system: enabled`);
  if (tocUpdater) console.log(`  - TOC updater: enabled (${tocType})`);
  if (sourcemapUpdater) console.log(`  - Sourcemap updater: enabled`);
  if (tableConversion) console.log(`  - Table conversion: enabled`);
  console.log('✓ Successfully converted README.dev.md to README.md');
  console.log(`✓ Output written to: ${targetFile}`);
  console.log('='.repeat(60));
  
} catch (error) {
  if (error.code === 'ENOENT') {
    console.error('✗ Error: README.dev.md not found');
  } else {
    console.error('✗ Error converting file:', error.message);
  }
  process.exit(1);
}

Sourcemap

  • VFS
    • Virtual Filing System
    • VSCode Commands
    • PowerShell Command
    • Bash Commands
    • Copy To Clipboard
    • Sequential Execution
    • Concurrent Execution
    • Bleeding Edge
    • Project Agnostic Configuration
    • DevStack Quickpick
    • G4 and X-VSCE
    • Reveal In Explorer
    • Copy Path
    • Search
  • Markdown
    • Viewer Renderer
    • MD Viewer/Renderer VSCode
    • Monaco Editor
    • MD Reference Guide
    • Readme Builder
    • Readme Generator
    • Convert MD File To Safe Inline String
  • Snippets
  • Editor / Viewer
  • Context Snippets
  • UI Library
    • Catalyst UI
    • Insert Component via Editor's Context Menu
    • Insert Component via Quickpick
    • Install
    • Live React/Tailwind Sandbox
  • Icon Library
    • Icons
    • Icons Quickpick
  • CSS
    • Coming soon
  • AI
    • Deterministic AI Engine Compiler
  • Prompt
    • Prompt - COMING SOON
  • Remix-Run
    • npx create-remixv2
    • Automatic Remix Action
    • Context Components/Functions
    • V1 → V2 Routing Conversion
    • Convert Single App To Mono Repo
    • Open Route File in Browser
    • Create Route Files
    • Install Auth in Remix
    • Install OTP in Remix
    • Create Tests for Routes and Actions in Remix-Run
    • Remix Run Insert Code
    • Routing Convention Conversion Remix-Run
    • Create Tests for Routes and Actions in Remix-Run
    • Create Single App - React Router
    • Convert Remix-Run to Platform X
    • Error Boundary
    • Meta Function
    • Links Function
    • Create Monorepo
    • Build & Deploy Project
    • RR Folder Routing
    • Preview Route URL
    • Create Action Object
  • ShadCN
    • Add ShadCN Components
    • Install ShadCN Components w/configs
    • Insert ShadCN Components
  • GitHub
    • Repo Management
    • Open Repo in Browser
    • Open Repo at File
  • Prisma
    • Create Include Object
    • Create Action Object
    • Click to Schema Object
    • Generate Crud Resolvers / Rest End Points
    • Auto Create Schema
    • Visualize Schema Relations
  • VSCode
    • Performance Switch
    • Custom VSIX Packager
    • Region Folding
    • FORMATTING AND ERRORS JSON FILES
    • Encoder/Decoder
    • File Formatting Configurator
    • Formatter
    • Inline Imports
    • Batch Rename
    • File Line Jumper
    • File Search Jumper
    • File Nesting - Coming Soon
    • Remove Trailing Commas
    • Remove All Comments
    • Remove console.log from file
    • Remove console.log from folder
    • Remove console.log from workspace
    • Remove Unused Imports From File
  • Reference
    • Shortcuts
    • VSCode Commands Cheat Sheet
    • Clipboard History Pro
    • Bookmarks
    • Markdown Cheat Sheet
    • Color Wheel
    • Wizards Section
  • VSCode & Tailwind Styling
    • VSCode & Tailwind Theme Builder
    • Blacked Out
    • Blued Out
    • Window Differentiator
    • Reset - Window Differentiator
  • Tools
    • Left Off Note
    • Tailwind Converter
    • React/Tailwind Sandbox
    • Encoder
  • Config
    • Share Config With Friends
    • View Config Example
    • Add Missing Imports w/ Global Config
    • Default Apps Configuration
    • Create Export Index
    • Edit .json Config
    • Export Config
    • Import Config
    • Add ESLint & Prettier Configs

ROADMAP

To Do...

Items to add readme

  • [x] md pre processor
  • [ ] code shot

Items to test

  • [ ] catalyst editor updates

  • [ ] encoder

  • [ ] after all components have been added - sandbox

  • [ ] performance switch - updated version

  • [ ] to do, notes and reminders has been swapped over

  • [ ] post it notes

  • [ ] show gh token

  • [x] make two new keybindings, alt + r inserts #region and #endregion gets inserted with alt + e and alt + q for wrapping a area of text in region

  • [x] TESTING - AUTO FOLD - CREATE ITEM IN DEVSTACK PLACING IT AT THE TOP OF MORE VSCODE COMMANDS BFORE THE SPECIFC FOLD REGIONS

  • [ ] ENCODER - issue with function erroring out without any logs

  • [ ] theme builder needs to be rebuilt

  • [ ] ImportConfigManager needs to be rebuilt see version 3.0.350 for file to reference

  • [ ] event calednar

  • [ ] HERO - CREATE FEATURE HERO WITH THE SAME STYLE AS ANNIMATED HERO CYCLING THROUGH THEM

  • [ ] ITEMS TO ADD

    • [ ] utils category, currently has items waiting to be added into inventory
  • [ ] friend asked how all my projects are just one click to build

    • provide "functions" containing how i do it
  • [ ] AI PROMPT - within devstack needs to be completed, or just removed after tesing the version on the site, currently just waiting to be tested, a lot easier to use with the features implemented and quality of life improvements alone would make me choose the site over the extensions version without questioning the decision

  • [ ] AI PROMPT - finish testing

Not Urgent

  • [x] merge note into devstack
  • [ ] VISUALIZE SCHEMA OBJECT - start from scratch and build it on the browser side
    • [ ] different idea on completing, but also expaneded on it
      • [ ] within the web app, build a schema wizard. For me atleast, I find that as the schema / project continues to build and expanded on I'm constantly jumping back and forth, from object to object, grabing the value to link to another object, then going back ensuring everything was done right, then triple checking. All the while, your bouncing down 450 lines, then back up 450, then down 550, shit went to far... searching for it again, saying under my breath, where the fuck did it just go... lol
      • [ ] logically, at face value it doesn't seem to be worth building this, but how many times has that happened to you? I dont even want to know the answer of exactly how much time I have wasted in that file for one reason or another. That's just one time wasting example, while I can think of others, where if I was working it in a ui instead, wouldn't be a issue to start while at the same time, coding in features and functions that would save time
      • [ ] this being one of those ideas, where its either stupid, crazy or amazing, where you only find out after building and testing it
      • [ ] whenever working with an object, have a + relation button, when clicked opens a command to search and select a object to link to
      • [ ] being able to insert pre built objects, that would actually save a lot of time on some bigger ones, because when I think about it, from the view point, if I were to insert a pre built object, how much would I then have to change to make it work? schemas don't change all that much from app to app, really, unless your adding something different
      • [ ] with nice, thought-out and planned ui, would make it so easy to work with, like having a command on the left to search for or select the object to edit, this object should be linked, so editing the user object needing to add that relation, technically, you can remove half that processes work laod. Steps to complete would be: 1) select user object, 2) click add relation, and select review object
      • [ ] no more organizng values, to ensure each object can still be reviewed witrh ease, even with that object having 50+ values
      • [ ] this will be built... I just can't right now. As you would have guessed, the amount of time and work that is needed for such stupid extensions / projects, not including, my real paid work that I need to do. But I find lately, they are taking more of my focus away from them. I need to start asking myself, will spending the time on this page, be worth it in the end? I've spent almost, a day and a half now on the components viewer, again for the 10th time. Perfecting it, to a rediculous amount of granularity. BUT, I spend a lot of time there, as you will to. Being built, honestly ass backwords when comparing to every other single library. But it has so many issues in its current state on those libraries, that bother me so much since it is used SO often. Even before this current update, using it made me never want to visit another library ever again. This update will probably even make me delete all my bookmarks for them. I really do not understand, as a dev if you also use the resource you built, just sit there and seeing something that can be built better, because cmon, theres no way you don't notice them... and just say, meh it works, and shrug it off
Issues...
Completed section needs updating...

Completed - Sections to get created

  • [x] CREATE FILE LINK JUMPER IN EXT
  • [x] monaco editer - forgot to finish off saving settings to local storage, enabling edits to persist
  • [X] STARTED, JUST NEED TO GO THROUGH ENTIRE CATAOG OF FEATURES - created a autorun folder within src, a dumping ground for scripts that updates whatever needed prior to the actual build process when triggering the build and list function. Need to go over the extension and see what else would benefit from this.
    • scripts already added:
      • [x] updating the icons quickpick icon values to search through, grabbing the function names of each icon straight from its src folders contents
      • [x] import the ui libraries inventory and update package.dev.jsonc.
        • [x] build package.json, need to code the autorun script to trigger this last
  • [x] readme generator - seem to have broken some of the functionality when swapping the sidebar out for the new version. The readme template dropdown isn't displaying any valuees to choose, but everything else works
  • [x] dev folding regions - not all outlined examples worked, also added a folding region for use after the return statement in js, ts, jsx, and tsx files
  • [x] open route in browser, fixing index and splat issues
  • [x] quickpic for inserting icons - list needs updating due to increasing inventory of icons
  • [x] open route in browser - previous attempt to fix index routes didn't work
  • [x] #region folding - last update did not work, currently only the original rule set works
  • [x] if for whatever reason ext cant determine repo url the typical way, it falls back to obtaining it from your package json
  • [x] add new encoders, needs to be tested
    • [x] png to svg
    • [x] ico to svg
    • [x] jpg to svg
    • [x] when dealing with these fixes, cant remember, but need to double check that the page does not navigate to provide converted download. having to use a tool found through google, annoying how you were made to use the tool

Sourcemap

  • VFS
    • Virtual Filing System
    • VSCode Commands
    • PowerShell Command
    • Bash Commands
    • Sequential Execution
    • Concurrent Execution
    • Extension Properties To Include Extra Functionality
    • Project Agnostic Configuration
  • Available Options
    • Git Operations
    • Build Processes
    • VSCode Operations
    • Fold Operations
    • Format Operations
    • Prisma Operations
    • File System Operations
    • Performance Switch
  • Detailed Descriptions
    • G4 & .vsix Build Process
    • Custom VSIX Packager
    • Pro7 Archiver
  • Available Options
    • Settings Management
    • Development Tools
    • Markdown Processing
    • Regex Utilities
    • Reveal In Explorer
    • Copy Path
    • Search
  • MARKDOWN
    • MD Viewer/Renderer
    • MD Viewer/Renderer In VSCode
    • Catalyst Editor
    • Convert MD File To Safe Inline String
  • SNIPPETS
    • Editor / Viewer
    • Context Snippets
  • UI LIBRARY
    • Catalyst UI
    • Insert Component via Editors Context Menu
    • Insert Component via Quickpick
    • Install Library Through Extension
  • ICONS LIBRARY
    • Icons
    • Icons Quickpick
  • CSS
  • AI
    • Detrministic AI Engine Compiler
  • PROMPT
    • Prompt - COMING SOON
  • REMIX-RUN
    • npx create-remixv2
    • Automatic Remix Action
    • Context Components/Functions
    • V1 → V2 Routing Conversion
    • Convert Single App To Mono Repo
    • Open Route File in Browser
    • Create Route Files
    • Install Auth in Remix
    • Install OTP in Remix
    • Create Tests for Routes and Actions in Remix-Run
    • Remix Run Insert Code
    • Create Single App - React Router
    • Convert Remix-Run to Platform X
    • Error Boundary
    • Meta Function
    • Links Function
    • Create Monorepo
    • Build & Deploy Project
    • RR Folder Routing
    • Preview Route URL
    • Create Action Object
  • SHADCN
    • Add ShadCN Components
    • Install ShadCN Components w/configs
    • Insert ShadCN Components
  • GITHUB
    • Repo Management
    • Open Repo in Browser
    • Open Repo at File
    • Pro7 Archiver
  • PRISMA
    • Create Include Object
    • Click to Schema Object
    • Generate Crud Resolvers / Rest End Points
    • Auto Create Schema
    • Visualize Schema Relations
  • VSCODE
    • Performance Switch
    • Custom VSIX Packager
    • Region Folding
    • FORMATTING AND ERRORS JSON FILES
    • Encoder/Decoder
    • File Formatting Configurator
    • Formatter
    • Inline Imports
    • Batch Rename
    • File Line Jumper
    • File Search Jumper
    • File Nesting - Coming Soon
    • Remove Trailing Commas
    • Remove All Comments
    • Remove console.log from file
    • Remove console.log from folder
    • Remove console.log from workspace
    • Remove Unused Imports From File
  • REFERENCE
    • Shortcuts
    • VSCode Commands Cheat Sheet
    • Clipboard History Pro
    • Bookmarks
    • Markdown Cheat Sheet
    • Color Wheel
    • Wizards Section
  • VSCODE & TAILWIND STYLING
    • VSCode & Tailwind Theme Builder
    • Blacked Out
    • Blued Out
    • Window Differentiator
    • Reset - Window Differentiator
  • TOOLS
    • Left Off Note
    • Tailwind Converter
    • React/Tailwind Sandbox
  • CONFIG
    • Share Config With Friends / Export All Configs
    • View Config Example
    • Add Missing Imports w/ Global Config
    • Default Apps Configuration
    • Create Export Index
    • Edit .json Config
    • Export Config
    • Import Config
    • To do Notes Reminders and Post Its
    • Markdown Pre-Processor

LICENSE


This project is protected under the MIT License. For more details, refer to the LICENSE file.


ACKNOWLEDGMENTS


Dotted Map cva y-codemirror Little Date KaTeX Input OTP Remark SerialPort SVG Dotted Map Three Globe THREEDOTJS

Lexical ZXing Fuse.js AI SDK Three.js Remix Auth TAILWINDCSS Embla clsx ⌘K GitHub

QR Code CodeSandbox RADIXUI Vercel SHADCN Remix SWR Catalyst Icons Catalyst CSS Catalyst UI

React Day Picker React Dropzone Rehype Node HID PDF-LIB React Aria dnd-kit POSTCSS

Framer Motion Monaco Headless Tree Framer Motion Yjs Scena JSZip PDF-LIB

Shiki React Fast Marquee CODEMIRROR AXIOS D3 Rehype Node HID React Resizable Panels

Visual Studio Code Postgres pnpm PowerShell JavaScript TypeScript Recharts

Return


  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft