Features
SD Code covers the workflow a desktop editor needs: real files, fast editing, search, a terminal, source control, a debugger and extensions. Below is the complete current list, including the areas where the application deliberately stays honest about what it cannot do.
Editor
Monaco with the language services that ship with it, tuned for long sessions.
- Tabs with drag reorder, close others, close to the right, middle-click close
- Split editor with an independent tab strip per group
- JavaScript and TypeScript IntelliSense, diagnostics, rename, quick fix, organize imports and find references
- CSS, HTML and JSON validation with problems surfaced in the status bar and Problems panel
- Multi-cursor editing, select all occurrences, linked editing of HTML tag pairs
- Snippet completion from bundled extensions plus your own snippets
- Bracket pair colourisation, indentation guides, whitespace rendering, sticky scroll
- Smooth caret, minimap, word wrap, font ligatures, adjustable line height
- Breadcrumbs with a symbol dropdown for the active file
- Image preview tabs for png, jpg, gif, webp, bmp, ico and avif
- Diff views: working tree against HEAD, saved file against buffer, and full commit patches
- Live Markdown preview with sanitised HTML
- Fold all, unfold all, go to matching bracket, go to line, go to symbol
- Transform selection to upper, lower or title case; sort lines; remove duplicate lines
- Trim trailing whitespace, insert final newline, convert indentation between tabs and spaces
- Switch line endings between LF and CRLF, per-file encoding detection including UTF-16
Workspace and files
Real file system operations through a validated bridge, with the safety rails you expect.
- Explorer with create, rename, duplicate, move by drag and drop, delete to recycle bin
- Context menus for files and folders with open, reveal, copy path and compare actions
- Filter box for large folders and a hidden-file toggle with an exclusion list
- File watcher keeps the tree, Git status and editor state in sync with the disk
- External change indicators when a file is modified by another program
- Atomic saves (temporary file then rename) so a crash cannot leave a half-written file
- Unsaved draft recovery: dirty buffers are written to disk and restored after a restart
- Recent files and folders in Quick Open and on the Welcome screen
- Twelve project templates: blank, HTML/CSS/JS, React + Vite, TypeScript, Node.js, Python, PHP, C, C++, Java and Markdown docs
- .editorconfig indentation respected when a file is opened
Search
Fast, filterable search over the folder you actually opened.
- Case sensitive, whole word and regular expression matching
- Include and exclude glob filters with sensible defaults for build output
- Grouped results per file with match highlighting and jump-to-line
- Replace all across the workspace with an honest per-file error report
- Find in file and replace in file with Monaco’s own widget
- Command palette, quick open, go to line and go to symbol
Terminal
A line-oriented shell with a modern, glass-styled surface. No pretend output.
- Clickable URLs and file paths that open in your browser or file manager
- Search inside the terminal with next and previous match
- Unicode 11 width-aware rendering for box drawing and emoji-width characters
- Multiple terminals with rename, clear and kill per tab
- Command history with arrow keys and prefix tab completion for common commands
- Working directory tracking with cd, pwd and history helpers
- Adjustable font size, scrollback and cursor blink
- Copy selection and paste with Ctrl+Shift+C and Ctrl+Shift+V
- Run detected tasks (npm scripts, Makefile targets, docker compose) in the terminal
Git
Source control built on the real git binary, with no invented results.
- Repository detection with an explicit "git is missing" state and install link
- Stage, unstage, stage all and commit with a message box
- Diff against HEAD and full commit patch viewer
- Branch list, create, switch and delete
- Stash create, list, apply and pop
- Tags list and annotated tag creation
- Remote URL display, pull, push and fetch with progress state
- Discard changes for tracked and untracked files, with confirmation
- Change counts per file in the Explorer tree
Run, debug and extensions
Execution where a runtime exists, and clear instructions where one does not.
- Run the active file with node, tsx, ts-node, python, gcc, g++, javac, php, go, ruby, bash or PowerShell
- HTML preview in a separate sandboxed window
- Node.js debugger: breakpoints, call stack, scopes, watches and expression evaluation
- Runtime probes for node, npm, python, gcc, g++, javac, java, php, dotnet, go, git, tsx, ts-node, pwsh and docker
- Extensions: bundled and local declaration-only packages with languages, snippets, themes and formatters
- Enable, disable, install from .sdcx or .zip, and uninstall local extensions
- Bundled extensions: Modern JavaScript snippets, React snippets, Python snippets, JSON formatter, SQL formatter and a Deep Blue accent theme
Interface
A liquid-glass workbench in deep blue, black and white. No emoji, no clutter.
- Three colour themes with an adjustable accent colour
- Translucent blur panels, hairline borders and 18px radii throughout
- Activity bar, resizable sidebar on either side, resizable bottom panel
- Status bar with language, line endings, encoding, cursor, indentation, Git branch, problem counts, runtimes and theme
- Toast notifications with actions, and non-blocking error reporting
- Zen mode, multi-window split and keyboard-first navigation
- Reduced motion support that disables every animation
What SD Code does not do
These limits are intentional and documented in the application itself rather than hidden behind placeholder buttons.
SD Code compared with Visual Studio Code
SD Code is an independent editor, not a fork. This is the honest comparison, including the places where Visual Studio Code is the stronger choice.
Visual Studio Code is a trademark of Microsoft Corporation. SD Code is not affiliated with, endorsed by, or sponsored by Microsoft, and references the name only to describe the comparison.