Releases: hungryZoo/tscode
Release list
tscode v0.1.0-pre.117
tscode prerelease
This prerelease delivers the first SSH-friendly VS Code-style TUI workspace.
Highlights
- Runtime panics now restore the terminal and write a crash report with backtrace to
~/.cache/tscode/crash.logor$XDG_CACHE_HOME/tscode/crash.log. - The render loop now repairs invalid runtime indexes for active terminals, split terminals, active editor tabs, split editors, explorer selection, quick panels, and prompt cursors before drawing, preventing common state-drift crashes from killing the TUI.
- Editor mouse wheel events now skip expensive symbol hover definition/reference scans and perform only scroll work, making rapid wheel input over open files responsive.
- File create, folder create, rename, delete confirmation, Save As, Git prompts, terminal command prompts, and other text prompts now appear as upper centered TUI dialogs instead of replacing the bottom status bar.
- Prerelease CI is intentionally Apple Silicon-only while the product remains in active development; full multi-platform releases can be restored when requested.
- Mouse-first file explorer with real filesystem reads, expand/collapse, file open, hover, and wheel scrolling.
tscode path/to/filenow opens the file immediately, uses its parent directory as the workspace root, reveals it in the explorer, and starts the integrated terminal in that parent directory.tscode --help/--versionnow print CLI metadata before entering raw mode, making installer and package verification work without an interactive terminal.- Open Folder from the command palette or explorer Open Folder as Workspace (
O/right-click) now switches the current workspace root to another existing folder, rebuilds the explorer, and starts a fresh PTY terminal there while blocking dirty editor tabs. - Explorer sorting can now be changed by keyboard (
s), command palette, or right-click context menu between name, type, modified time, and size while keeping folders first and preserving the selected path. Ctrl-PageDown/Ctrl-PageUpnow behave like VS Code tab navigation: outside terminal focus they move between editor tabs, and in normal terminal focus they switch to next/previous integrated terminal sessions.- Explorer copy, cut, paste, duplicate, and reveal-active-file actions backed by real filesystem operations.
- Explorer New File/New Folder now prefill the selected folder path, create items under the selected folder or selected file's parent, reveal new folders, open new files, and refuse workspace-escaping paths.
- Explorer multi-select is now a real file-operation selection model:
Spacetoggles the focused row,Shift+click range-selects visible rows,Ctrl/Command/Meta+click toggles rows, selected rows show a distinct marker/background, and copy/cut/paste/duplicate/delete/path-copy apply to the whole selected set. - Explorer drag/drop now moves selected rows into the highlighted destination folder, while
Alt+drag copies them instead; normal click-to-open still happens on release when no drag occurs. - Explorer rows now support a right-click context menu whose mouse-selectable actions call the same real open/toggle, create, copy/cut/paste/duplicate, rename, delete, path-copy, New Terminal Here, refresh, collapse, and visibility operations as shortcuts and the command palette.
- Explorer Compare Selected Files with
v, the command palette, or the right-click context menu now reads two selected text files from disk and opens a protected read-only unified diff tab. - Explorer
Right/Leftkeys now follow normal file-tree semantics: expand, descend into the first child, collapse, and move back to the parent instead of using a simple toggle-only behavior. - Editor and terminal areas now support right-click context menus backed by the same real
CommandActionpath as shortcuts and the command palette. Editor menus cover save, clipboard, search, navigation, rename, suggestions, formatting, comments, run-in-terminal, path-copy, revert, and close-tab actions; terminal menus cover copy/paste/search, clear/restart/rename, session management, maximize/resize, and focus actions when the child app is not using terminal mouse reporting. - File moves keep open editor tab paths in sync and reveal pasted/duplicated targets in the tree.
- Explorer filtering with
/scans the real workspace tree, auto-expands collapsed parent folders for nested matches, preserves dotfile/generated-folder visibility rules, and keeps file metadata/read-only markers in tree rows. - Explorer and workspace scans now respect
.gitignore,.ignore, parent/global Git ignore rules, and generated-folder defaults through one shared visibility policy; toggling ignored entries withireveals them in the explorer, quick open, workspace search, symbols, references, rename, and replace-in-files. - Explorer now auto-refreshes when visible workspace files or folders are created, deleted, renamed, or have metadata changed by the integrated terminal, Git, build tools, or other external processes; expanded folders, selection, active filters, newly matching filtered paths, and Git badges are preserved/refreshed without a manual
r. - Explorer rows now show Git working tree badges such as
git:M,git:?, and dirty foldergit:*when the workspace is inside a Git repository. - Command Palette with
F1orCtrl-Shift-P, fuzzy command matching, and actions for files, editor commands, explorer operations, focus changes, and terminal management. - Prompt and quick-panel inputs now behave like editable command fields:
Left/Right,Home/End,Backspace,Delete,Ctrl-A/Ctrl-E,Ctrl-U/Ctrl-K, and paste operate at the visible cursor instead of only appending text. - Quick Open overlay with
Ctrl-Pfuzzy matching across workspace file paths. - Binary, non-UTF-8, and very large files now open as protected read-only hex/ascii previews, and those previews are excluded from workspace search, replace, symbol scans, rename fallback, and completion token scans so original bytes cannot be rewritten accidentally.
- Workspace text search overlay with
Ctrl-Shift-ForCtrl-G, real file scanning plus unsaved open-buffer scanning, result previews, dirty-buffer markers, and jump-to-line open. - Document Symbols with
Ctrl-Shift-Oasks an installed language server fortextDocument/documentSymbolfirst, lists hierarchical or flat LSP symbols in a filterable quick panel, falls back to local extraction when needed, and jumps to the selected symbol. - Sidebar Outline mode now turns the left pane into a persistent active-file symbol list via sidebar
mor command palette Show Outline / Show Explorer Files / Toggle Sidebar Mode. Outline rows use LSP document symbols when available, fall back to local extraction when the server is absent, highlight on mouse hover, scroll with wheel/keyboard, and jump to symbols on click orEnterwithout losing the Outline view. - Workspace Symbols with
Ctrl-Tasks an installed language server forworkspace/symbolfirst, lists returned server symbols in the same filterable quick panel, falls back to visible workspace scans including dirty open buffers, and jumps directly to the selected file location. - Optional installed-language-server integration now speaks stdio JSON-RPC/LSP for
textDocument/hover,textDocument/signatureHelp,textDocument/definition,textDocument/typeDefinition,textDocument/implementation,textDocument/prepareCallHierarchy,callHierarchy/incomingCalls,callHierarchy/outgoingCalls,textDocument/documentHighlight,textDocument/references,textDocument/rename,textDocument/completion,textDocument/documentSymbol,workspace/symbol,textDocument/formatting,textDocument/codeAction, andtextDocument/publishDiagnostics. Rust, Python, TypeScript/JavaScript, Go, and C-family files try common servers such asrust-analyzer,pyright-langserver,typescript-language-server,gopls, andclangd, whileTSCODE_LSP_COMMANDcan override the server for custom setups. - Code suggestions with
Ctrl-Spaceor command palette Trigger Suggest use installed LSP candidates when available plus workspace symbols, identifier tokens, dirty open buffers, and file-type keywords, then insert the selected suggestion into the active editor as one undoable edit. - Code Action from the command palette or editor context menu asks the installed language server for quick fixes/refactors at the editor cursor, lists returned actions in a filterable quick panel, applies returned workspace edits, and executes command-only actions that produce
workspace/applyEditedits throughworkspace/executeCommand. - Code folding now detects delimiter and indentation blocks, shows fold markers in the editor gutter, supports mouse gutter toggles,
Alt-[toggle-fold,Alt-0fold-all,Alt-]unfold-all, command palette actions, and editor context-menu actions while keeping scroll and mouse coordinates mapped to visible lines. - Editor bookmarks now use the leftmost gutter marker cell,
Alt-B, command palette, and editor context-menu actions to toggle marked lines;Alt-N/Alt-P, Show Bookmarks, Next/Previous Bookmark, and Clear Bookmarks navigate or manage bookmarks across open tabs, with status-bar counts and line-edit position updates. - Go to Matching Bracket with
Ctrl-Shift-\, the command palette, or the editor context menu jumps between matching(),[], and{}pairs in the active buffer, including nested pairs and after-bracket cursor positions, while preserving editor navigation history. - Split Editor with
Ctrl-\, the command palette, or the editor context menu renders side-by-side editor panes; ExplorerCtrl-Enter, the explorer context menu, or the command palette opens the selected file to the side, and mouse click/wheel events activate and scroll the pane under the pointer. - Editor symbol hover now resolves the identifier under the mouse against workspace symbols/references and shows definition/refe...
tscode v0.1.0-pre.116
tscode prerelease
This prerelease delivers the first SSH-friendly VS Code-style TUI workspace.
Highlights
- Runtime panics now restore the terminal and write a crash report with backtrace to
~/.cache/tscode/crash.logor$XDG_CACHE_HOME/tscode/crash.log. - The render loop now repairs invalid runtime indexes for active terminals, split terminals, active editor tabs, split editors, explorer selection, quick panels, and prompt cursors before drawing, preventing common state-drift crashes from killing the TUI.
- File create, folder create, rename, delete confirmation, Save As, Git prompts, terminal command prompts, and other text prompts now appear as upper centered TUI dialogs instead of replacing the bottom status bar.
- Prerelease CI is intentionally Apple Silicon-only while the product remains in active development; full multi-platform releases can be restored when requested.
- Mouse-first file explorer with real filesystem reads, expand/collapse, file open, hover, and wheel scrolling.
tscode path/to/filenow opens the file immediately, uses its parent directory as the workspace root, reveals it in the explorer, and starts the integrated terminal in that parent directory.tscode --help/--versionnow print CLI metadata before entering raw mode, making installer and package verification work without an interactive terminal.- Open Folder from the command palette or explorer Open Folder as Workspace (
O/right-click) now switches the current workspace root to another existing folder, rebuilds the explorer, and starts a fresh PTY terminal there while blocking dirty editor tabs. - Explorer sorting can now be changed by keyboard (
s), command palette, or right-click context menu between name, type, modified time, and size while keeping folders first and preserving the selected path. Ctrl-PageDown/Ctrl-PageUpnow behave like VS Code tab navigation: outside terminal focus they move between editor tabs, and in normal terminal focus they switch to next/previous integrated terminal sessions.- Explorer copy, cut, paste, duplicate, and reveal-active-file actions backed by real filesystem operations.
- Explorer New File/New Folder now prefill the selected folder path, create items under the selected folder or selected file's parent, reveal new folders, open new files, and refuse workspace-escaping paths.
- Explorer multi-select is now a real file-operation selection model:
Spacetoggles the focused row,Shift+click range-selects visible rows,Ctrl/Command/Meta+click toggles rows, selected rows show a distinct marker/background, and copy/cut/paste/duplicate/delete/path-copy apply to the whole selected set. - Explorer drag/drop now moves selected rows into the highlighted destination folder, while
Alt+drag copies them instead; normal click-to-open still happens on release when no drag occurs. - Explorer rows now support a right-click context menu whose mouse-selectable actions call the same real open/toggle, create, copy/cut/paste/duplicate, rename, delete, path-copy, New Terminal Here, refresh, collapse, and visibility operations as shortcuts and the command palette.
- Explorer Compare Selected Files with
v, the command palette, or the right-click context menu now reads two selected text files from disk and opens a protected read-only unified diff tab. - Explorer
Right/Leftkeys now follow normal file-tree semantics: expand, descend into the first child, collapse, and move back to the parent instead of using a simple toggle-only behavior. - Editor and terminal areas now support right-click context menus backed by the same real
CommandActionpath as shortcuts and the command palette. Editor menus cover save, clipboard, search, navigation, rename, suggestions, formatting, comments, run-in-terminal, path-copy, revert, and close-tab actions; terminal menus cover copy/paste/search, clear/restart/rename, session management, maximize/resize, and focus actions when the child app is not using terminal mouse reporting. - File moves keep open editor tab paths in sync and reveal pasted/duplicated targets in the tree.
- Explorer filtering with
/scans the real workspace tree, auto-expands collapsed parent folders for nested matches, preserves dotfile/generated-folder visibility rules, and keeps file metadata/read-only markers in tree rows. - Explorer and workspace scans now respect
.gitignore,.ignore, parent/global Git ignore rules, and generated-folder defaults through one shared visibility policy; toggling ignored entries withireveals them in the explorer, quick open, workspace search, symbols, references, rename, and replace-in-files. - Explorer now auto-refreshes when visible workspace files or folders are created, deleted, renamed, or have metadata changed by the integrated terminal, Git, build tools, or other external processes; expanded folders, selection, active filters, newly matching filtered paths, and Git badges are preserved/refreshed without a manual
r. - Explorer rows now show Git working tree badges such as
git:M,git:?, and dirty foldergit:*when the workspace is inside a Git repository. - Command Palette with
F1orCtrl-Shift-P, fuzzy command matching, and actions for files, editor commands, explorer operations, focus changes, and terminal management. - Prompt and quick-panel inputs now behave like editable command fields:
Left/Right,Home/End,Backspace,Delete,Ctrl-A/Ctrl-E,Ctrl-U/Ctrl-K, and paste operate at the visible cursor instead of only appending text. - Quick Open overlay with
Ctrl-Pfuzzy matching across workspace file paths. - Binary, non-UTF-8, and very large files now open as protected read-only hex/ascii previews, and those previews are excluded from workspace search, replace, symbol scans, rename fallback, and completion token scans so original bytes cannot be rewritten accidentally.
- Workspace text search overlay with
Ctrl-Shift-ForCtrl-G, real file scanning plus unsaved open-buffer scanning, result previews, dirty-buffer markers, and jump-to-line open. - Document Symbols with
Ctrl-Shift-Oasks an installed language server fortextDocument/documentSymbolfirst, lists hierarchical or flat LSP symbols in a filterable quick panel, falls back to local extraction when needed, and jumps to the selected symbol. - Sidebar Outline mode now turns the left pane into a persistent active-file symbol list via sidebar
mor command palette Show Outline / Show Explorer Files / Toggle Sidebar Mode. Outline rows use LSP document symbols when available, fall back to local extraction when the server is absent, highlight on mouse hover, scroll with wheel/keyboard, and jump to symbols on click orEnterwithout losing the Outline view. - Workspace Symbols with
Ctrl-Tasks an installed language server forworkspace/symbolfirst, lists returned server symbols in the same filterable quick panel, falls back to visible workspace scans including dirty open buffers, and jumps directly to the selected file location. - Optional installed-language-server integration now speaks stdio JSON-RPC/LSP for
textDocument/hover,textDocument/signatureHelp,textDocument/definition,textDocument/typeDefinition,textDocument/implementation,textDocument/prepareCallHierarchy,callHierarchy/incomingCalls,callHierarchy/outgoingCalls,textDocument/documentHighlight,textDocument/references,textDocument/rename,textDocument/completion,textDocument/documentSymbol,workspace/symbol,textDocument/formatting,textDocument/codeAction, andtextDocument/publishDiagnostics. Rust, Python, TypeScript/JavaScript, Go, and C-family files try common servers such asrust-analyzer,pyright-langserver,typescript-language-server,gopls, andclangd, whileTSCODE_LSP_COMMANDcan override the server for custom setups. - Code suggestions with
Ctrl-Spaceor command palette Trigger Suggest use installed LSP candidates when available plus workspace symbols, identifier tokens, dirty open buffers, and file-type keywords, then insert the selected suggestion into the active editor as one undoable edit. - Code Action from the command palette or editor context menu asks the installed language server for quick fixes/refactors at the editor cursor, lists returned actions in a filterable quick panel, applies returned workspace edits, and executes command-only actions that produce
workspace/applyEditedits throughworkspace/executeCommand. - Code folding now detects delimiter and indentation blocks, shows fold markers in the editor gutter, supports mouse gutter toggles,
Alt-[toggle-fold,Alt-0fold-all,Alt-]unfold-all, command palette actions, and editor context-menu actions while keeping scroll and mouse coordinates mapped to visible lines. - Editor bookmarks now use the leftmost gutter marker cell,
Alt-B, command palette, and editor context-menu actions to toggle marked lines;Alt-N/Alt-P, Show Bookmarks, Next/Previous Bookmark, and Clear Bookmarks navigate or manage bookmarks across open tabs, with status-bar counts and line-edit position updates. - Go to Matching Bracket with
Ctrl-Shift-\, the command palette, or the editor context menu jumps between matching(),[], and{}pairs in the active buffer, including nested pairs and after-bracket cursor positions, while preserving editor navigation history. - Split Editor with
Ctrl-\, the command palette, or the editor context menu renders side-by-side editor panes; ExplorerCtrl-Enter, the explorer context menu, or the command palette opens the selected file to the side, and mouse click/wheel events activate and scroll the pane under the pointer. - Editor symbol hover now resolves the identifier under the mouse against workspace symbols/references and shows definition/reference counts plus the first matching definition in a hover overlay and status summary.
- Show Hover from the command palette or editor context menu asks the installed lan...
tscode v0.1.0-pre.99
tscode prerelease
This prerelease delivers the first SSH-friendly VS Code-style TUI workspace.
Highlights
- Mouse-first file explorer with real filesystem reads, expand/collapse, file open, hover, and wheel scrolling.
tscode path/to/filenow opens the file immediately, uses its parent directory as the workspace root, reveals it in the explorer, and starts the integrated terminal in that parent directory.tscode --help/--versionnow print CLI metadata before entering raw mode, making installer and package verification work without an interactive terminal.- Open Folder from the command palette or explorer Open Folder as Workspace (
O/right-click) now switches the current workspace root to another existing folder, rebuilds the explorer, and starts a fresh PTY terminal there while blocking dirty editor tabs. - Explorer sorting can now be changed by keyboard (
s), command palette, or right-click context menu between name, type, modified time, and size while keeping folders first and preserving the selected path. - Explorer copy, cut, paste, duplicate, and reveal-active-file actions backed by real filesystem operations.
- Explorer New File/New Folder now prefill the selected folder path, create items under the selected folder or selected file's parent, reveal new folders, open new files, and refuse workspace-escaping paths.
- Explorer multi-select is now a real file-operation selection model:
Spacetoggles the focused row,Shift+click range-selects visible rows,Ctrl/Command/Meta+click toggles rows, selected rows show a distinct marker/background, and copy/cut/paste/duplicate/delete/path-copy apply to the whole selected set. - Explorer drag/drop now moves selected rows into the highlighted destination folder, while
Alt+drag copies them instead; normal click-to-open still happens on release when no drag occurs. - Explorer rows now support a right-click context menu whose mouse-selectable actions call the same real open/toggle, create, copy/cut/paste/duplicate, rename, delete, path-copy, New Terminal Here, refresh, collapse, and visibility operations as shortcuts and the command palette.
- Explorer Compare Selected Files with
v, the command palette, or the right-click context menu now reads two selected text files from disk and opens a protected read-only unified diff tab. - Explorer
Right/Leftkeys now follow normal file-tree semantics: expand, descend into the first child, collapse, and move back to the parent instead of using a simple toggle-only behavior. - Editor and terminal areas now support right-click context menus backed by the same real
CommandActionpath as shortcuts and the command palette. Editor menus cover save, clipboard, search, navigation, rename, suggestions, formatting, comments, run-in-terminal, path-copy, revert, and close-tab actions; terminal menus cover copy/paste/search, clear/restart/rename, session management, maximize/resize, and focus actions when the child app is not using terminal mouse reporting. - File moves keep open editor tab paths in sync and reveal pasted/duplicated targets in the tree.
- Explorer filtering with
/scans the real workspace tree, auto-expands collapsed parent folders for nested matches, preserves dotfile/generated-folder visibility rules, and keeps file metadata/read-only markers in tree rows. - Explorer and workspace scans now respect
.gitignore,.ignore, parent/global Git ignore rules, and generated-folder defaults through one shared visibility policy; toggling ignored entries withireveals them in the explorer, quick open, workspace search, symbols, references, rename, and replace-in-files. - Explorer now auto-refreshes when visible workspace files or folders are created, deleted, renamed, or have metadata changed by the integrated terminal, Git, build tools, or other external processes; expanded folders, selection, active filters, newly matching filtered paths, and Git badges are preserved/refreshed without a manual
r. - Explorer rows now show Git working tree badges such as
git:M,git:?, and dirty foldergit:*when the workspace is inside a Git repository. - Command Palette with
F1orCtrl-Shift-P, fuzzy command matching, and actions for files, editor commands, explorer operations, focus changes, and terminal management. - Prompt and quick-panel inputs now behave like editable command fields:
Left/Right,Home/End,Backspace,Delete,Ctrl-A/Ctrl-E,Ctrl-U/Ctrl-K, and paste operate at the visible cursor instead of only appending text. - Quick Open overlay with
Ctrl-Pfuzzy matching across workspace file paths. - Binary, non-UTF-8, and very large files now open as protected read-only hex/ascii previews, and those previews are excluded from workspace search, replace, symbol scans, rename fallback, and completion token scans so original bytes cannot be rewritten accidentally.
- Workspace text search overlay with
Ctrl-Shift-ForCtrl-G, real file scanning plus unsaved open-buffer scanning, result previews, dirty-buffer markers, and jump-to-line open. - Document Symbols with
Ctrl-Shift-Oasks an installed language server fortextDocument/documentSymbolfirst, lists hierarchical or flat LSP symbols in a filterable quick panel, falls back to local extraction when needed, and jumps to the selected symbol. - Workspace Symbols with
Ctrl-Tasks an installed language server forworkspace/symbolfirst, lists returned server symbols in the same filterable quick panel, falls back to visible workspace scans including dirty open buffers, and jumps directly to the selected file location. - Optional installed-language-server integration now speaks stdio JSON-RPC/LSP for
textDocument/hover,textDocument/signatureHelp,textDocument/definition,textDocument/typeDefinition,textDocument/implementation,textDocument/prepareCallHierarchy,callHierarchy/incomingCalls,callHierarchy/outgoingCalls,textDocument/documentHighlight,textDocument/references,textDocument/rename,textDocument/completion,textDocument/documentSymbol,workspace/symbol,textDocument/formatting,textDocument/codeAction, andtextDocument/publishDiagnostics. Rust, Python, TypeScript/JavaScript, Go, and C-family files try common servers such asrust-analyzer,pyright-langserver,typescript-language-server,gopls, andclangd, whileTSCODE_LSP_COMMANDcan override the server for custom setups. - Code suggestions with
Ctrl-Spaceor command palette Trigger Suggest use installed LSP candidates when available plus workspace symbols, identifier tokens, dirty open buffers, and file-type keywords, then insert the selected suggestion into the active editor as one undoable edit. - Code Action from the command palette or editor context menu asks the installed language server for quick fixes/refactors at the editor cursor, lists returned actions in a filterable quick panel, applies returned workspace edits, and executes command-only actions that produce
workspace/applyEditedits throughworkspace/executeCommand. - Code folding now detects delimiter and indentation blocks, shows fold markers in the editor gutter, supports mouse gutter toggles,
Alt-[toggle-fold,Alt-]unfold-all, command palette actions, and editor context-menu actions while keeping scroll and mouse coordinates mapped to visible lines. - Go to Matching Bracket with
Ctrl-Shift-\, the command palette, or the editor context menu jumps between matching(),[], and{}pairs in the active buffer, including nested pairs and after-bracket cursor positions, while preserving editor navigation history. - Split Editor with
Ctrl-\, the command palette, or the editor context menu renders side-by-side editor panes; ExplorerCtrl-Enter, the explorer context menu, or the command palette opens the selected file to the side, and mouse click/wheel events activate and scroll the pane under the pointer. - Editor symbol hover now resolves the identifier under the mouse against workspace symbols/references and shows definition/reference counts plus the first matching definition in a hover overlay and status summary.
- Show Hover from the command palette or editor context menu asks the installed language server for hover documentation and displays it in a quick panel without leaving the TUI.
- Signature Help with
Ctrl-Shift-Space, the command palette, or the editor context menu asks the installed language server fortextDocument/signatureHelpand displays signatures, active parameter labels, and documentation in a filterable quick panel. - Go to Definition with
Ctrl-]or the command palette asks the installed language server first, then falls back to matching workspace symbol definitions or listing multiple definition candidates when needed. - Go to Type Definition and Go to Implementation from the command palette or editor context menu ask the installed language server for
textDocument/typeDefinitionandtextDocument/implementation, jump directly for one result, or list multiple server locations in a filterable quick panel. - Show Incoming Calls and Show Outgoing Calls from the command palette or editor context menu ask the installed language server for Call Hierarchy results, list callers/callees in filterable quick panels, and jump to the selected caller call site or callee symbol.
- Highlight Symbol with
Ctrl-Shift-E, the command palette, or the editor context menu asks the installed language server fortextDocument/documentHighlight, paints text/read/write ranges in the active editor, shows the highlight count in the status bar, and clears stale ranges after buffer edits. - Find References with
Ctrl-Ror the command palette asks the installed language server first, then falls back to whole-word workspace references for the editor cursor symbol and jumps directly to the selected occurrence. - Run LSP Diagnostics from the command palette or editor context menu asks the installed language server for active...
tscode v0.1.0-pre.98
tscode prerelease
This prerelease delivers the first SSH-friendly VS Code-style TUI workspace.
Highlights
- Mouse-first file explorer with real filesystem reads, expand/collapse, file open, hover, and wheel scrolling.
tscode path/to/filenow opens the file immediately, uses its parent directory as the workspace root, reveals it in the explorer, and starts the integrated terminal in that parent directory.tscode --help/--versionnow print CLI metadata before entering raw mode, making installer and package verification work without an interactive terminal.- Explorer sorting can now be changed by keyboard (
s), command palette, or right-click context menu between name, type, modified time, and size while keeping folders first and preserving the selected path. - Explorer copy, cut, paste, duplicate, and reveal-active-file actions backed by real filesystem operations.
- Explorer New File/New Folder now prefill the selected folder path, create items under the selected folder or selected file's parent, reveal new folders, open new files, and refuse workspace-escaping paths.
- Explorer multi-select is now a real file-operation selection model:
Spacetoggles the focused row,Shift+click range-selects visible rows,Ctrl/Command/Meta+click toggles rows, selected rows show a distinct marker/background, and copy/cut/paste/duplicate/delete/path-copy apply to the whole selected set. - Explorer drag/drop now moves selected rows into the highlighted destination folder, while
Alt+drag copies them instead; normal click-to-open still happens on release when no drag occurs. - Explorer rows now support a right-click context menu whose mouse-selectable actions call the same real open/toggle, create, copy/cut/paste/duplicate, rename, delete, path-copy, New Terminal Here, refresh, collapse, and visibility operations as shortcuts and the command palette.
- Explorer Compare Selected Files with
v, the command palette, or the right-click context menu now reads two selected text files from disk and opens a protected read-only unified diff tab. - Explorer
Right/Leftkeys now follow normal file-tree semantics: expand, descend into the first child, collapse, and move back to the parent instead of using a simple toggle-only behavior. - Editor and terminal areas now support right-click context menus backed by the same real
CommandActionpath as shortcuts and the command palette. Editor menus cover save, clipboard, search, navigation, rename, suggestions, formatting, comments, run-in-terminal, path-copy, revert, and close-tab actions; terminal menus cover copy/paste/search, clear/restart/rename, session management, maximize/resize, and focus actions when the child app is not using terminal mouse reporting. - File moves keep open editor tab paths in sync and reveal pasted/duplicated targets in the tree.
- Explorer filtering with
/scans the real workspace tree, auto-expands collapsed parent folders for nested matches, preserves dotfile/generated-folder visibility rules, and keeps file metadata/read-only markers in tree rows. - Explorer and workspace scans now respect
.gitignore,.ignore, parent/global Git ignore rules, and generated-folder defaults through one shared visibility policy; toggling ignored entries withireveals them in the explorer, quick open, workspace search, symbols, references, rename, and replace-in-files. - Explorer now auto-refreshes when visible workspace files or folders are created, deleted, renamed, or have metadata changed by the integrated terminal, Git, build tools, or other external processes; expanded folders, selection, active filters, newly matching filtered paths, and Git badges are preserved/refreshed without a manual
r. - Explorer rows now show Git working tree badges such as
git:M,git:?, and dirty foldergit:*when the workspace is inside a Git repository. - Command Palette with
F1orCtrl-Shift-P, fuzzy command matching, and actions for files, editor commands, explorer operations, focus changes, and terminal management. - Prompt and quick-panel inputs now behave like editable command fields:
Left/Right,Home/End,Backspace,Delete,Ctrl-A/Ctrl-E,Ctrl-U/Ctrl-K, and paste operate at the visible cursor instead of only appending text. - Quick Open overlay with
Ctrl-Pfuzzy matching across workspace file paths. - Binary, non-UTF-8, and very large files now open as protected read-only hex/ascii previews, and those previews are excluded from workspace search, replace, symbol scans, rename fallback, and completion token scans so original bytes cannot be rewritten accidentally.
- Workspace text search overlay with
Ctrl-Shift-ForCtrl-G, real file scanning plus unsaved open-buffer scanning, result previews, dirty-buffer markers, and jump-to-line open. - Document Symbols with
Ctrl-Shift-Oasks an installed language server fortextDocument/documentSymbolfirst, lists hierarchical or flat LSP symbols in a filterable quick panel, falls back to local extraction when needed, and jumps to the selected symbol. - Workspace Symbols with
Ctrl-Tasks an installed language server forworkspace/symbolfirst, lists returned server symbols in the same filterable quick panel, falls back to visible workspace scans including dirty open buffers, and jumps directly to the selected file location. - Optional installed-language-server integration now speaks stdio JSON-RPC/LSP for
textDocument/hover,textDocument/signatureHelp,textDocument/definition,textDocument/typeDefinition,textDocument/implementation,textDocument/prepareCallHierarchy,callHierarchy/incomingCalls,callHierarchy/outgoingCalls,textDocument/documentHighlight,textDocument/references,textDocument/rename,textDocument/completion,textDocument/documentSymbol,workspace/symbol,textDocument/formatting,textDocument/codeAction, andtextDocument/publishDiagnostics. Rust, Python, TypeScript/JavaScript, Go, and C-family files try common servers such asrust-analyzer,pyright-langserver,typescript-language-server,gopls, andclangd, whileTSCODE_LSP_COMMANDcan override the server for custom setups. - Code suggestions with
Ctrl-Spaceor command palette Trigger Suggest use installed LSP candidates when available plus workspace symbols, identifier tokens, dirty open buffers, and file-type keywords, then insert the selected suggestion into the active editor as one undoable edit. - Code Action from the command palette or editor context menu asks the installed language server for quick fixes/refactors at the editor cursor, lists returned actions in a filterable quick panel, applies returned workspace edits, and executes command-only actions that produce
workspace/applyEditedits throughworkspace/executeCommand. - Code folding now detects delimiter and indentation blocks, shows fold markers in the editor gutter, supports mouse gutter toggles,
Alt-[toggle-fold,Alt-]unfold-all, command palette actions, and editor context-menu actions while keeping scroll and mouse coordinates mapped to visible lines. - Go to Matching Bracket with
Ctrl-Shift-\, the command palette, or the editor context menu jumps between matching(),[], and{}pairs in the active buffer, including nested pairs and after-bracket cursor positions, while preserving editor navigation history. - Split Editor with
Ctrl-\, the command palette, or the editor context menu renders side-by-side editor panes; ExplorerCtrl-Enter, the explorer context menu, or the command palette opens the selected file to the side, and mouse click/wheel events activate and scroll the pane under the pointer. - Editor symbol hover now resolves the identifier under the mouse against workspace symbols/references and shows definition/reference counts plus the first matching definition in a hover overlay and status summary.
- Show Hover from the command palette or editor context menu asks the installed language server for hover documentation and displays it in a quick panel without leaving the TUI.
- Signature Help with
Ctrl-Shift-Space, the command palette, or the editor context menu asks the installed language server fortextDocument/signatureHelpand displays signatures, active parameter labels, and documentation in a filterable quick panel. - Go to Definition with
Ctrl-]or the command palette asks the installed language server first, then falls back to matching workspace symbol definitions or listing multiple definition candidates when needed. - Go to Type Definition and Go to Implementation from the command palette or editor context menu ask the installed language server for
textDocument/typeDefinitionandtextDocument/implementation, jump directly for one result, or list multiple server locations in a filterable quick panel. - Show Incoming Calls and Show Outgoing Calls from the command palette or editor context menu ask the installed language server for Call Hierarchy results, list callers/callees in filterable quick panels, and jump to the selected caller call site or callee symbol.
- Highlight Symbol with
Ctrl-Shift-E, the command palette, or the editor context menu asks the installed language server fortextDocument/documentHighlight, paints text/read/write ranges in the active editor, shows the highlight count in the status bar, and clears stale ranges after buffer edits. - Find References with
Ctrl-Ror the command palette asks the installed language server first, then falls back to whole-word workspace references for the editor cursor symbol and jumps directly to the selected occurrence. - Run LSP Diagnostics from the command palette or editor context menu asks the installed language server for active-buffer diagnostics, opens the Problems panel, and feeds editor gutter/status markers.
- Source Control from the command palette lists Git changed files and parsed diff hunks, opens changed-file rows as read-only diff tabs, shows the current branch in the s...
tscode v0.1.0-pre.97
tscode prerelease
This prerelease delivers the first SSH-friendly VS Code-style TUI workspace.
Highlights
- Mouse-first file explorer with real filesystem reads, expand/collapse, file open, hover, and wheel scrolling.
tscode path/to/filenow opens the file immediately, uses its parent directory as the workspace root, reveals it in the explorer, and starts the integrated terminal in that parent directory.tscode --help/--versionnow print CLI metadata before entering raw mode, making installer and package verification work without an interactive terminal.- Explorer sorting can now be changed by keyboard (
s), command palette, or right-click context menu between name, type, modified time, and size while keeping folders first and preserving the selected path. - Explorer copy, cut, paste, duplicate, and reveal-active-file actions backed by real filesystem operations.
- Explorer New File/New Folder now prefill the selected folder path, create items under the selected folder or selected file's parent, reveal new folders, open new files, and refuse workspace-escaping paths.
- Explorer multi-select is now a real file-operation selection model:
Spacetoggles the focused row,Shift+click range-selects visible rows,Ctrl/Command/Meta+click toggles rows, selected rows show a distinct marker/background, and copy/cut/paste/duplicate/delete/path-copy apply to the whole selected set. - Explorer drag/drop now moves selected rows into the highlighted destination folder, while
Alt+drag copies them instead; normal click-to-open still happens on release when no drag occurs. - Explorer rows now support a right-click context menu whose mouse-selectable actions call the same real open/toggle, create, copy/cut/paste/duplicate, rename, delete, path-copy, New Terminal Here, refresh, collapse, and visibility operations as shortcuts and the command palette.
- Explorer Compare Selected Files with
v, the command palette, or the right-click context menu now reads two selected text files from disk and opens a protected read-only unified diff tab. - Explorer
Right/Leftkeys now follow normal file-tree semantics: expand, descend into the first child, collapse, and move back to the parent instead of using a simple toggle-only behavior. - Editor and terminal areas now support right-click context menus backed by the same real
CommandActionpath as shortcuts and the command palette. Editor menus cover save, clipboard, search, navigation, rename, suggestions, formatting, comments, run-in-terminal, path-copy, revert, and close-tab actions; terminal menus cover copy/paste/search, clear/restart/rename, session management, maximize/resize, and focus actions when the child app is not using terminal mouse reporting. - File moves keep open editor tab paths in sync and reveal pasted/duplicated targets in the tree.
- Explorer filtering with
/scans the real workspace tree, auto-expands collapsed parent folders for nested matches, preserves dotfile/generated-folder visibility rules, and keeps file metadata/read-only markers in tree rows. - Explorer and workspace scans now respect
.gitignore,.ignore, parent/global Git ignore rules, and generated-folder defaults through one shared visibility policy; toggling ignored entries withireveals them in the explorer, quick open, workspace search, symbols, references, rename, and replace-in-files. - Explorer now auto-refreshes when visible workspace files or folders are created, deleted, renamed, or have metadata changed by the integrated terminal, Git, build tools, or other external processes; expanded folders, selection, active filters, newly matching filtered paths, and Git badges are preserved/refreshed without a manual
r. - Explorer rows now show Git working tree badges such as
git:M,git:?, and dirty foldergit:*when the workspace is inside a Git repository. - Command Palette with
F1orCtrl-Shift-P, fuzzy command matching, and actions for files, editor commands, explorer operations, focus changes, and terminal management. - Prompt and quick-panel inputs now behave like editable command fields:
Left/Right,Home/End,Backspace,Delete,Ctrl-A/Ctrl-E,Ctrl-U/Ctrl-K, and paste operate at the visible cursor instead of only appending text. - Quick Open overlay with
Ctrl-Pfuzzy matching across workspace file paths. - Binary, non-UTF-8, and very large files now open as protected read-only hex/ascii previews, and those previews are excluded from workspace search, replace, symbol scans, rename fallback, and completion token scans so original bytes cannot be rewritten accidentally.
- Workspace text search overlay with
Ctrl-Shift-ForCtrl-G, real file scanning plus unsaved open-buffer scanning, result previews, dirty-buffer markers, and jump-to-line open. - Document Symbols with
Ctrl-Shift-Oasks an installed language server fortextDocument/documentSymbolfirst, lists hierarchical or flat LSP symbols in a filterable quick panel, falls back to local extraction when needed, and jumps to the selected symbol. - Workspace Symbols with
Ctrl-Tasks an installed language server forworkspace/symbolfirst, lists returned server symbols in the same filterable quick panel, falls back to visible workspace scans including dirty open buffers, and jumps directly to the selected file location. - Optional installed-language-server integration now speaks stdio JSON-RPC/LSP for
textDocument/hover,textDocument/signatureHelp,textDocument/definition,textDocument/typeDefinition,textDocument/implementation,textDocument/prepareCallHierarchy,callHierarchy/incomingCalls,callHierarchy/outgoingCalls,textDocument/documentHighlight,textDocument/references,textDocument/rename,textDocument/completion,textDocument/documentSymbol,workspace/symbol,textDocument/formatting,textDocument/codeAction, andtextDocument/publishDiagnostics. Rust, Python, TypeScript/JavaScript, Go, and C-family files try common servers such asrust-analyzer,pyright-langserver,typescript-language-server,gopls, andclangd, whileTSCODE_LSP_COMMANDcan override the server for custom setups. - Code suggestions with
Ctrl-Spaceor command palette Trigger Suggest use installed LSP candidates when available plus workspace symbols, identifier tokens, dirty open buffers, and file-type keywords, then insert the selected suggestion into the active editor as one undoable edit. - Code Action from the command palette or editor context menu asks the installed language server for quick fixes/refactors at the editor cursor, lists returned actions in a filterable quick panel, applies returned workspace edits, and executes command-only actions that produce
workspace/applyEditedits throughworkspace/executeCommand. - Code folding now detects delimiter and indentation blocks, shows fold markers in the editor gutter, supports mouse gutter toggles,
Alt-[toggle-fold,Alt-]unfold-all, command palette actions, and editor context-menu actions while keeping scroll and mouse coordinates mapped to visible lines. - Go to Matching Bracket with
Ctrl-Shift-\, the command palette, or the editor context menu jumps between matching(),[], and{}pairs in the active buffer, including nested pairs and after-bracket cursor positions, while preserving editor navigation history. - Split Editor with
Ctrl-\, the command palette, or the editor context menu renders side-by-side editor panes; ExplorerCtrl-Enter, the explorer context menu, or the command palette opens the selected file to the side, and mouse click/wheel events activate and scroll the pane under the pointer. - Editor symbol hover now resolves the identifier under the mouse against workspace symbols/references and shows definition/reference counts plus the first matching definition in a hover overlay and status summary.
- Show Hover from the command palette or editor context menu asks the installed language server for hover documentation and displays it in a quick panel without leaving the TUI.
- Signature Help with
Ctrl-Shift-Space, the command palette, or the editor context menu asks the installed language server fortextDocument/signatureHelpand displays signatures, active parameter labels, and documentation in a filterable quick panel. - Go to Definition with
Ctrl-]or the command palette asks the installed language server first, then falls back to matching workspace symbol definitions or listing multiple definition candidates when needed. - Go to Type Definition and Go to Implementation from the command palette or editor context menu ask the installed language server for
textDocument/typeDefinitionandtextDocument/implementation, jump directly for one result, or list multiple server locations in a filterable quick panel. - Show Incoming Calls and Show Outgoing Calls from the command palette or editor context menu ask the installed language server for Call Hierarchy results, list callers/callees in filterable quick panels, and jump to the selected caller call site or callee symbol.
- Highlight Symbol with
Ctrl-Shift-E, the command palette, or the editor context menu asks the installed language server fortextDocument/documentHighlight, paints text/read/write ranges in the active editor, shows the highlight count in the status bar, and clears stale ranges after buffer edits. - Find References with
Ctrl-Ror the command palette asks the installed language server first, then falls back to whole-word workspace references for the editor cursor symbol and jumps directly to the selected occurrence. - Run LSP Diagnostics from the command palette or editor context menu asks the installed language server for active-buffer diagnostics, opens the Problems panel, and feeds editor gutter/status markers.
- Source Control from the command palette lists Git changed files and parsed diff hunks, opens changed-file rows as read-only diff tabs, shows the current branch in the s...
tscode v0.1.0-pre.96
tscode prerelease
This prerelease delivers the first SSH-friendly VS Code-style TUI workspace.
Highlights
- Mouse-first file explorer with real filesystem reads, expand/collapse, file open, hover, and wheel scrolling.
tscode path/to/filenow opens the file immediately, uses its parent directory as the workspace root, reveals it in the explorer, and starts the integrated terminal in that parent directory.tscode --help/--versionnow print CLI metadata before entering raw mode, making installer and package verification work without an interactive terminal.- Explorer sorting can now be changed by keyboard (
s), command palette, or right-click context menu between name, type, modified time, and size while keeping folders first and preserving the selected path. - Explorer copy, cut, paste, duplicate, and reveal-active-file actions backed by real filesystem operations.
- Explorer New File/New Folder now prefill the selected folder path, create items under the selected folder or selected file's parent, reveal new folders, open new files, and refuse workspace-escaping paths.
- Explorer multi-select is now a real file-operation selection model:
Spacetoggles the focused row,Shift+click range-selects visible rows,Ctrl/Command/Meta+click toggles rows, selected rows show a distinct marker/background, and copy/cut/paste/duplicate/delete/path-copy apply to the whole selected set. - Explorer drag/drop now moves selected rows into the highlighted destination folder, while
Alt+drag copies them instead; normal click-to-open still happens on release when no drag occurs. - Explorer rows now support a right-click context menu whose mouse-selectable actions call the same real open/toggle, create, copy/cut/paste/duplicate, rename, delete, path-copy, New Terminal Here, refresh, collapse, and visibility operations as shortcuts and the command palette.
- Explorer Compare Selected Files with
v, the command palette, or the right-click context menu now reads two selected text files from disk and opens a protected read-only unified diff tab. - Explorer
Right/Leftkeys now follow normal file-tree semantics: expand, descend into the first child, collapse, and move back to the parent instead of using a simple toggle-only behavior. - Editor and terminal areas now support right-click context menus backed by the same real
CommandActionpath as shortcuts and the command palette. Editor menus cover save, clipboard, search, navigation, rename, suggestions, formatting, comments, run-in-terminal, path-copy, revert, and close-tab actions; terminal menus cover copy/paste/search, clear/restart/rename, session management, maximize/resize, and focus actions when the child app is not using terminal mouse reporting. - File moves keep open editor tab paths in sync and reveal pasted/duplicated targets in the tree.
- Explorer filtering with
/scans the real workspace tree, auto-expands collapsed parent folders for nested matches, preserves dotfile/generated-folder visibility rules, and keeps file metadata/read-only markers in tree rows. - Explorer and workspace scans now respect
.gitignore,.ignore, parent/global Git ignore rules, and generated-folder defaults through one shared visibility policy; toggling ignored entries withireveals them in the explorer, quick open, workspace search, symbols, references, rename, and replace-in-files. - Explorer now auto-refreshes when visible workspace files or folders are created, deleted, renamed, or have metadata changed by the integrated terminal, Git, build tools, or other external processes; expanded folders, selection, active filters, newly matching filtered paths, and Git badges are preserved/refreshed without a manual
r. - Explorer rows now show Git working tree badges such as
git:M,git:?, and dirty foldergit:*when the workspace is inside a Git repository. - Command Palette with
F1orCtrl-Shift-P, fuzzy command matching, and actions for files, editor commands, explorer operations, focus changes, and terminal management. - Prompt and quick-panel inputs now behave like editable command fields:
Left/Right,Home/End,Backspace,Delete,Ctrl-A/Ctrl-E,Ctrl-U/Ctrl-K, and paste operate at the visible cursor instead of only appending text. - Quick Open overlay with
Ctrl-Pfuzzy matching across workspace file paths. - Binary, non-UTF-8, and very large files now open as protected read-only hex/ascii previews, and those previews are excluded from workspace search, replace, symbol scans, rename fallback, and completion token scans so original bytes cannot be rewritten accidentally.
- Workspace text search overlay with
Ctrl-Shift-ForCtrl-G, real file scanning plus unsaved open-buffer scanning, result previews, dirty-buffer markers, and jump-to-line open. - Document Symbols with
Ctrl-Shift-Oasks an installed language server fortextDocument/documentSymbolfirst, lists hierarchical or flat LSP symbols in a filterable quick panel, falls back to local extraction when needed, and jumps to the selected symbol. - Workspace Symbols with
Ctrl-Tasks an installed language server forworkspace/symbolfirst, lists returned server symbols in the same filterable quick panel, falls back to visible workspace scans including dirty open buffers, and jumps directly to the selected file location. - Optional installed-language-server integration now speaks stdio JSON-RPC/LSP for
textDocument/hover,textDocument/signatureHelp,textDocument/definition,textDocument/typeDefinition,textDocument/implementation,textDocument/prepareCallHierarchy,callHierarchy/incomingCalls,callHierarchy/outgoingCalls,textDocument/documentHighlight,textDocument/references,textDocument/rename,textDocument/completion,textDocument/documentSymbol,workspace/symbol,textDocument/formatting,textDocument/codeAction, andtextDocument/publishDiagnostics. Rust, Python, TypeScript/JavaScript, Go, and C-family files try common servers such asrust-analyzer,pyright-langserver,typescript-language-server,gopls, andclangd, whileTSCODE_LSP_COMMANDcan override the server for custom setups. - Code suggestions with
Ctrl-Spaceor command palette Trigger Suggest use installed LSP candidates when available plus workspace symbols, identifier tokens, dirty open buffers, and file-type keywords, then insert the selected suggestion into the active editor as one undoable edit. - Code Action from the command palette or editor context menu asks the installed language server for quick fixes/refactors at the editor cursor, lists returned actions in a filterable quick panel, applies returned workspace edits, and executes command-only actions that produce
workspace/applyEditedits throughworkspace/executeCommand. - Code folding now detects delimiter and indentation blocks, shows fold markers in the editor gutter, supports mouse gutter toggles,
Alt-[toggle-fold,Alt-]unfold-all, command palette actions, and editor context-menu actions while keeping scroll and mouse coordinates mapped to visible lines. - Go to Matching Bracket with
Ctrl-Shift-\, the command palette, or the editor context menu jumps between matching(),[], and{}pairs in the active buffer, including nested pairs and after-bracket cursor positions, while preserving editor navigation history. - Split Editor with
Ctrl-\, the command palette, or the editor context menu renders side-by-side editor panes; ExplorerCtrl-Enter, the explorer context menu, or the command palette opens the selected file to the side, and mouse click/wheel events activate and scroll the pane under the pointer. - Editor symbol hover now resolves the identifier under the mouse against workspace symbols/references and shows definition/reference counts plus the first matching definition in a hover overlay and status summary.
- Show Hover from the command palette or editor context menu asks the installed language server for hover documentation and displays it in a quick panel without leaving the TUI.
- Signature Help with
Ctrl-Shift-Space, the command palette, or the editor context menu asks the installed language server fortextDocument/signatureHelpand displays signatures, active parameter labels, and documentation in a filterable quick panel. - Go to Definition with
Ctrl-]or the command palette asks the installed language server first, then falls back to matching workspace symbol definitions or listing multiple definition candidates when needed. - Go to Type Definition and Go to Implementation from the command palette or editor context menu ask the installed language server for
textDocument/typeDefinitionandtextDocument/implementation, jump directly for one result, or list multiple server locations in a filterable quick panel. - Show Incoming Calls and Show Outgoing Calls from the command palette or editor context menu ask the installed language server for Call Hierarchy results, list callers/callees in filterable quick panels, and jump to the selected caller call site or callee symbol.
- Highlight Symbol with
Ctrl-Shift-E, the command palette, or the editor context menu asks the installed language server fortextDocument/documentHighlight, paints text/read/write ranges in the active editor, shows the highlight count in the status bar, and clears stale ranges after buffer edits. - Find References with
Ctrl-Ror the command palette asks the installed language server first, then falls back to whole-word workspace references for the editor cursor symbol and jumps directly to the selected occurrence. - Run LSP Diagnostics from the command palette or editor context menu asks the installed language server for active-buffer diagnostics, opens the Problems panel, and feeds editor gutter/status markers.
- Source Control from the command palette lists Git changed files and parsed diff hunks, opens changed-file rows as read-only diff tabs, supports fuzzy filtering, can sta...
tscode v0.1.0-pre.95
tscode prerelease
This prerelease delivers the first SSH-friendly VS Code-style TUI workspace.
Highlights
- Mouse-first file explorer with real filesystem reads, expand/collapse, file open, hover, and wheel scrolling.
tscode path/to/filenow opens the file immediately, uses its parent directory as the workspace root, reveals it in the explorer, and starts the integrated terminal in that parent directory.tscode --help/--versionnow print CLI metadata before entering raw mode, making installer and package verification work without an interactive terminal.- Explorer sorting can now be changed by keyboard (
s), command palette, or right-click context menu between name, type, modified time, and size while keeping folders first and preserving the selected path. - Explorer copy, cut, paste, duplicate, and reveal-active-file actions backed by real filesystem operations.
- Explorer New File/New Folder now prefill the selected folder path, create items under the selected folder or selected file's parent, reveal new folders, open new files, and refuse workspace-escaping paths.
- Explorer multi-select is now a real file-operation selection model:
Spacetoggles the focused row,Shift+click range-selects visible rows,Ctrl/Command/Meta+click toggles rows, selected rows show a distinct marker/background, and copy/cut/paste/duplicate/delete/path-copy apply to the whole selected set. - Explorer drag/drop now moves selected rows into the highlighted destination folder, while
Alt+drag copies them instead; normal click-to-open still happens on release when no drag occurs. - Explorer rows now support a right-click context menu whose mouse-selectable actions call the same real open/toggle, create, copy/cut/paste/duplicate, rename, delete, path-copy, New Terminal Here, refresh, collapse, and visibility operations as shortcuts and the command palette.
- Explorer Compare Selected Files with
v, the command palette, or the right-click context menu now reads two selected text files from disk and opens a protected read-only unified diff tab. - Explorer
Right/Leftkeys now follow normal file-tree semantics: expand, descend into the first child, collapse, and move back to the parent instead of using a simple toggle-only behavior. - Editor and terminal areas now support right-click context menus backed by the same real
CommandActionpath as shortcuts and the command palette. Editor menus cover save, clipboard, search, navigation, rename, suggestions, formatting, comments, run-in-terminal, path-copy, revert, and close-tab actions; terminal menus cover copy/paste/search, clear/restart/rename, session management, maximize/resize, and focus actions when the child app is not using terminal mouse reporting. - File moves keep open editor tab paths in sync and reveal pasted/duplicated targets in the tree.
- Explorer filtering with
/scans the real workspace tree, auto-expands collapsed parent folders for nested matches, preserves dotfile/generated-folder visibility rules, and keeps file metadata/read-only markers in tree rows. - Explorer and workspace scans now respect
.gitignore,.ignore, parent/global Git ignore rules, and generated-folder defaults through one shared visibility policy; toggling ignored entries withireveals them in the explorer, quick open, workspace search, symbols, references, rename, and replace-in-files. - Explorer now auto-refreshes when visible workspace files or folders are created, deleted, renamed, or have metadata changed by the integrated terminal, Git, build tools, or other external processes; expanded folders, selection, active filters, newly matching filtered paths, and Git badges are preserved/refreshed without a manual
r. - Explorer rows now show Git working tree badges such as
git:M,git:?, and dirty foldergit:*when the workspace is inside a Git repository. - Command Palette with
F1orCtrl-Shift-P, fuzzy command matching, and actions for files, editor commands, explorer operations, focus changes, and terminal management. - Prompt and quick-panel inputs now behave like editable command fields:
Left/Right,Home/End,Backspace,Delete,Ctrl-A/Ctrl-E,Ctrl-U/Ctrl-K, and paste operate at the visible cursor instead of only appending text. - Quick Open overlay with
Ctrl-Pfuzzy matching across workspace file paths. - Binary, non-UTF-8, and very large files now open as protected read-only hex/ascii previews, and those previews are excluded from workspace search, replace, symbol scans, rename fallback, and completion token scans so original bytes cannot be rewritten accidentally.
- Workspace text search overlay with
Ctrl-Shift-ForCtrl-G, real file scanning plus unsaved open-buffer scanning, result previews, dirty-buffer markers, and jump-to-line open. - Document Symbols with
Ctrl-Shift-Oasks an installed language server fortextDocument/documentSymbolfirst, lists hierarchical or flat LSP symbols in a filterable quick panel, falls back to local extraction when needed, and jumps to the selected symbol. - Workspace Symbols with
Ctrl-Tasks an installed language server forworkspace/symbolfirst, lists returned server symbols in the same filterable quick panel, falls back to visible workspace scans including dirty open buffers, and jumps directly to the selected file location. - Optional installed-language-server integration now speaks stdio JSON-RPC/LSP for
textDocument/hover,textDocument/signatureHelp,textDocument/definition,textDocument/typeDefinition,textDocument/implementation,textDocument/prepareCallHierarchy,callHierarchy/incomingCalls,callHierarchy/outgoingCalls,textDocument/documentHighlight,textDocument/references,textDocument/rename,textDocument/completion,textDocument/documentSymbol,workspace/symbol,textDocument/formatting,textDocument/codeAction, andtextDocument/publishDiagnostics. Rust, Python, TypeScript/JavaScript, Go, and C-family files try common servers such asrust-analyzer,pyright-langserver,typescript-language-server,gopls, andclangd, whileTSCODE_LSP_COMMANDcan override the server for custom setups. - Code suggestions with
Ctrl-Spaceor command palette Trigger Suggest use installed LSP candidates when available plus workspace symbols, identifier tokens, dirty open buffers, and file-type keywords, then insert the selected suggestion into the active editor as one undoable edit. - Code Action from the command palette or editor context menu asks the installed language server for quick fixes/refactors at the editor cursor, lists returned actions in a filterable quick panel, applies returned workspace edits, and executes command-only actions that produce
workspace/applyEditedits throughworkspace/executeCommand. - Code folding now detects delimiter and indentation blocks, shows fold markers in the editor gutter, supports mouse gutter toggles,
Alt-[toggle-fold,Alt-]unfold-all, command palette actions, and editor context-menu actions while keeping scroll and mouse coordinates mapped to visible lines. - Go to Matching Bracket with
Ctrl-Shift-\, the command palette, or the editor context menu jumps between matching(),[], and{}pairs in the active buffer, including nested pairs and after-bracket cursor positions, while preserving editor navigation history. - Split Editor with
Ctrl-\, the command palette, or the editor context menu renders side-by-side editor panes; ExplorerCtrl-Enter, the explorer context menu, or the command palette opens the selected file to the side, and mouse click/wheel events activate and scroll the pane under the pointer. - Editor symbol hover now resolves the identifier under the mouse against workspace symbols/references and shows definition/reference counts plus the first matching definition in a hover overlay and status summary.
- Show Hover from the command palette or editor context menu asks the installed language server for hover documentation and displays it in a quick panel without leaving the TUI.
- Signature Help with
Ctrl-Shift-Space, the command palette, or the editor context menu asks the installed language server fortextDocument/signatureHelpand displays signatures, active parameter labels, and documentation in a filterable quick panel. - Go to Definition with
Ctrl-]or the command palette asks the installed language server first, then falls back to matching workspace symbol definitions or listing multiple definition candidates when needed. - Go to Type Definition and Go to Implementation from the command palette or editor context menu ask the installed language server for
textDocument/typeDefinitionandtextDocument/implementation, jump directly for one result, or list multiple server locations in a filterable quick panel. - Show Incoming Calls and Show Outgoing Calls from the command palette or editor context menu ask the installed language server for Call Hierarchy results, list callers/callees in filterable quick panels, and jump to the selected caller call site or callee symbol.
- Highlight Symbol with
Ctrl-Shift-E, the command palette, or the editor context menu asks the installed language server fortextDocument/documentHighlight, paints text/read/write ranges in the active editor, shows the highlight count in the status bar, and clears stale ranges after buffer edits. - Find References with
Ctrl-Ror the command palette asks the installed language server first, then falls back to whole-word workspace references for the editor cursor symbol and jumps directly to the selected occurrence. - Run LSP Diagnostics from the command palette or editor context menu asks the installed language server for active-buffer diagnostics, opens the Problems panel, and feeds editor gutter/status markers.
- Source Control from the command palette lists Git changed files and parsed diff hunks, opens changed-file rows as read-only diff tabs, supports fuzzy filtering, can sta...
tscode v0.1.0-pre.94
tscode prerelease
This prerelease delivers the first SSH-friendly VS Code-style TUI workspace.
Highlights
- Mouse-first file explorer with real filesystem reads, expand/collapse, file open, hover, and wheel scrolling.
tscode path/to/filenow opens the file immediately, uses its parent directory as the workspace root, reveals it in the explorer, and starts the integrated terminal in that parent directory.tscode --help/--versionnow print CLI metadata before entering raw mode, making installer and package verification work without an interactive terminal.- Explorer sorting can now be changed by keyboard (
s), command palette, or right-click context menu between name, type, modified time, and size while keeping folders first and preserving the selected path. - Explorer copy, cut, paste, duplicate, and reveal-active-file actions backed by real filesystem operations.
- Explorer New File/New Folder now prefill the selected folder path, create items under the selected folder or selected file's parent, reveal new folders, open new files, and refuse workspace-escaping paths.
- Explorer multi-select is now a real file-operation selection model:
Spacetoggles the focused row,Shift+click range-selects visible rows,Ctrl/Command/Meta+click toggles rows, selected rows show a distinct marker/background, and copy/cut/paste/duplicate/delete/path-copy apply to the whole selected set. - Explorer drag/drop now moves selected rows into the highlighted destination folder, while
Alt+drag copies them instead; normal click-to-open still happens on release when no drag occurs. - Explorer rows now support a right-click context menu whose mouse-selectable actions call the same real open/toggle, create, copy/cut/paste/duplicate, rename, delete, path-copy, New Terminal Here, refresh, collapse, and visibility operations as shortcuts and the command palette.
- Explorer Compare Selected Files with
v, the command palette, or the right-click context menu now reads two selected text files from disk and opens a protected read-only unified diff tab. - Explorer
Right/Leftkeys now follow normal file-tree semantics: expand, descend into the first child, collapse, and move back to the parent instead of using a simple toggle-only behavior. - Editor and terminal areas now support right-click context menus backed by the same real
CommandActionpath as shortcuts and the command palette. Editor menus cover save, clipboard, search, navigation, rename, suggestions, formatting, comments, run-in-terminal, path-copy, revert, and close-tab actions; terminal menus cover copy/paste/search, clear/restart/rename, session management, maximize/resize, and focus actions when the child app is not using terminal mouse reporting. - File moves keep open editor tab paths in sync and reveal pasted/duplicated targets in the tree.
- Explorer filtering with
/scans the real workspace tree, auto-expands collapsed parent folders for nested matches, preserves dotfile/generated-folder visibility rules, and keeps file metadata/read-only markers in tree rows. - Explorer and workspace scans now respect
.gitignore,.ignore, parent/global Git ignore rules, and generated-folder defaults through one shared visibility policy; toggling ignored entries withireveals them in the explorer, quick open, workspace search, symbols, references, rename, and replace-in-files. - Explorer now auto-refreshes when visible workspace files or folders are created, deleted, renamed, or have metadata changed by the integrated terminal, Git, build tools, or other external processes; expanded folders, selection, active filters, newly matching filtered paths, and Git badges are preserved/refreshed without a manual
r. - Explorer rows now show Git working tree badges such as
git:M,git:?, and dirty foldergit:*when the workspace is inside a Git repository. - Command Palette with
F1orCtrl-Shift-P, fuzzy command matching, and actions for files, editor commands, explorer operations, focus changes, and terminal management. - Prompt and quick-panel inputs now behave like editable command fields:
Left/Right,Home/End,Backspace,Delete,Ctrl-A/Ctrl-E,Ctrl-U/Ctrl-K, and paste operate at the visible cursor instead of only appending text. - Quick Open overlay with
Ctrl-Pfuzzy matching across workspace file paths. - Binary, non-UTF-8, and very large files now open as protected read-only hex/ascii previews, and those previews are excluded from workspace search, replace, symbol scans, rename fallback, and completion token scans so original bytes cannot be rewritten accidentally.
- Workspace text search overlay with
Ctrl-Shift-ForCtrl-G, real file scanning plus unsaved open-buffer scanning, result previews, dirty-buffer markers, and jump-to-line open. - Document Symbols with
Ctrl-Shift-Oasks an installed language server fortextDocument/documentSymbolfirst, lists hierarchical or flat LSP symbols in a filterable quick panel, falls back to local extraction when needed, and jumps to the selected symbol. - Workspace Symbols with
Ctrl-Tasks an installed language server forworkspace/symbolfirst, lists returned server symbols in the same filterable quick panel, falls back to visible workspace scans including dirty open buffers, and jumps directly to the selected file location. - Optional installed-language-server integration now speaks stdio JSON-RPC/LSP for
textDocument/hover,textDocument/signatureHelp,textDocument/definition,textDocument/typeDefinition,textDocument/implementation,textDocument/prepareCallHierarchy,callHierarchy/incomingCalls,callHierarchy/outgoingCalls,textDocument/documentHighlight,textDocument/references,textDocument/rename,textDocument/completion,textDocument/documentSymbol,workspace/symbol,textDocument/formatting,textDocument/codeAction, andtextDocument/publishDiagnostics. Rust, Python, TypeScript/JavaScript, Go, and C-family files try common servers such asrust-analyzer,pyright-langserver,typescript-language-server,gopls, andclangd, whileTSCODE_LSP_COMMANDcan override the server for custom setups. - Code suggestions with
Ctrl-Spaceor command palette Trigger Suggest use installed LSP candidates when available plus workspace symbols, identifier tokens, dirty open buffers, and file-type keywords, then insert the selected suggestion into the active editor as one undoable edit. - Code Action from the command palette or editor context menu asks the installed language server for quick fixes/refactors at the editor cursor, lists returned actions in a filterable quick panel, applies returned workspace edits, and executes command-only actions that produce
workspace/applyEditedits throughworkspace/executeCommand. - Code folding now detects delimiter and indentation blocks, shows fold markers in the editor gutter, supports mouse gutter toggles,
Alt-[toggle-fold,Alt-]unfold-all, command palette actions, and editor context-menu actions while keeping scroll and mouse coordinates mapped to visible lines. - Go to Matching Bracket with
Ctrl-Shift-\, the command palette, or the editor context menu jumps between matching(),[], and{}pairs in the active buffer, including nested pairs and after-bracket cursor positions, while preserving editor navigation history. - Split Editor with
Ctrl-\, the command palette, or the editor context menu renders side-by-side editor panes; ExplorerCtrl-Enter, the explorer context menu, or the command palette opens the selected file to the side, and mouse click/wheel events activate and scroll the pane under the pointer. - Editor symbol hover now resolves the identifier under the mouse against workspace symbols/references and shows definition/reference counts plus the first matching definition in a hover overlay and status summary.
- Show Hover from the command palette or editor context menu asks the installed language server for hover documentation and displays it in a quick panel without leaving the TUI.
- Signature Help with
Ctrl-Shift-Space, the command palette, or the editor context menu asks the installed language server fortextDocument/signatureHelpand displays signatures, active parameter labels, and documentation in a filterable quick panel. - Go to Definition with
Ctrl-]or the command palette asks the installed language server first, then falls back to matching workspace symbol definitions or listing multiple definition candidates when needed. - Go to Type Definition and Go to Implementation from the command palette or editor context menu ask the installed language server for
textDocument/typeDefinitionandtextDocument/implementation, jump directly for one result, or list multiple server locations in a filterable quick panel. - Show Incoming Calls and Show Outgoing Calls from the command palette or editor context menu ask the installed language server for Call Hierarchy results, list callers/callees in filterable quick panels, and jump to the selected caller call site or callee symbol.
- Highlight Symbol with
Ctrl-Shift-E, the command palette, or the editor context menu asks the installed language server fortextDocument/documentHighlight, paints text/read/write ranges in the active editor, shows the highlight count in the status bar, and clears stale ranges after buffer edits. - Find References with
Ctrl-Ror the command palette asks the installed language server first, then falls back to whole-word workspace references for the editor cursor symbol and jumps directly to the selected occurrence. - Run LSP Diagnostics from the command palette or editor context menu asks the installed language server for active-buffer diagnostics, opens the Problems panel, and feeds editor gutter/status markers.
- Source Control from the command palette lists Git changed files and parsed diff hunks, opens changed-file rows as read-only diff tabs, supports fuzzy filtering, can sta...
tscode v0.1.0-pre.93
tscode prerelease
This prerelease delivers the first SSH-friendly VS Code-style TUI workspace.
Highlights
- Mouse-first file explorer with real filesystem reads, expand/collapse, file open, hover, and wheel scrolling.
tscode path/to/filenow opens the file immediately, uses its parent directory as the workspace root, reveals it in the explorer, and starts the integrated terminal in that parent directory.tscode --help/--versionnow print CLI metadata before entering raw mode, making installer and package verification work without an interactive terminal.- Explorer sorting can now be changed by keyboard (
s), command palette, or right-click context menu between name, type, modified time, and size while keeping folders first and preserving the selected path. - Explorer copy, cut, paste, duplicate, and reveal-active-file actions backed by real filesystem operations.
- Explorer New File/New Folder now prefill the selected folder path, create items under the selected folder or selected file's parent, reveal new folders, open new files, and refuse workspace-escaping paths.
- Explorer multi-select is now a real file-operation selection model:
Spacetoggles the focused row,Shift+click range-selects visible rows,Ctrl/Command/Meta+click toggles rows, selected rows show a distinct marker/background, and copy/cut/paste/duplicate/delete/path-copy apply to the whole selected set. - Explorer drag/drop now moves selected rows into the highlighted destination folder, while
Alt+drag copies them instead; normal click-to-open still happens on release when no drag occurs. - Explorer rows now support a right-click context menu whose mouse-selectable actions call the same real open/toggle, create, copy/cut/paste/duplicate, rename, delete, path-copy, New Terminal Here, refresh, collapse, and visibility operations as shortcuts and the command palette.
- Explorer Compare Selected Files with
v, the command palette, or the right-click context menu now reads two selected text files from disk and opens a protected read-only unified diff tab. - Explorer
Right/Leftkeys now follow normal file-tree semantics: expand, descend into the first child, collapse, and move back to the parent instead of using a simple toggle-only behavior. - Editor and terminal areas now support right-click context menus backed by the same real
CommandActionpath as shortcuts and the command palette. Editor menus cover save, clipboard, search, navigation, rename, suggestions, formatting, comments, run-in-terminal, path-copy, revert, and close-tab actions; terminal menus cover copy/paste/search, clear/restart/rename, session management, maximize/resize, and focus actions when the child app is not using terminal mouse reporting. - File moves keep open editor tab paths in sync and reveal pasted/duplicated targets in the tree.
- Explorer filtering with
/scans the real workspace tree, auto-expands collapsed parent folders for nested matches, preserves dotfile/generated-folder visibility rules, and keeps file metadata/read-only markers in tree rows. - Explorer and workspace scans now respect
.gitignore,.ignore, parent/global Git ignore rules, and generated-folder defaults through one shared visibility policy; toggling ignored entries withireveals them in the explorer, quick open, workspace search, symbols, references, rename, and replace-in-files. - Explorer now auto-refreshes when visible workspace files or folders are created, deleted, renamed, or have metadata changed by the integrated terminal, Git, build tools, or other external processes; expanded folders, selection, active filters, newly matching filtered paths, and Git badges are preserved/refreshed without a manual
r. - Explorer rows now show Git working tree badges such as
git:M,git:?, and dirty foldergit:*when the workspace is inside a Git repository. - Command Palette with
F1orCtrl-Shift-P, fuzzy command matching, and actions for files, editor commands, explorer operations, focus changes, and terminal management. - Prompt and quick-panel inputs now behave like editable command fields:
Left/Right,Home/End,Backspace,Delete,Ctrl-A/Ctrl-E,Ctrl-U/Ctrl-K, and paste operate at the visible cursor instead of only appending text. - Quick Open overlay with
Ctrl-Pfuzzy matching across workspace file paths. - Binary, non-UTF-8, and very large files now open as protected read-only hex/ascii previews, and those previews are excluded from workspace search, replace, symbol scans, rename fallback, and completion token scans so original bytes cannot be rewritten accidentally.
- Workspace text search overlay with
Ctrl-Shift-ForCtrl-G, real file scanning plus unsaved open-buffer scanning, result previews, dirty-buffer markers, and jump-to-line open. - Document Symbols with
Ctrl-Shift-Oasks an installed language server fortextDocument/documentSymbolfirst, lists hierarchical or flat LSP symbols in a filterable quick panel, falls back to local extraction when needed, and jumps to the selected symbol. - Workspace Symbols with
Ctrl-Tasks an installed language server forworkspace/symbolfirst, lists returned server symbols in the same filterable quick panel, falls back to visible workspace scans including dirty open buffers, and jumps directly to the selected file location. - Optional installed-language-server integration now speaks stdio JSON-RPC/LSP for
textDocument/hover,textDocument/signatureHelp,textDocument/definition,textDocument/typeDefinition,textDocument/implementation,textDocument/prepareCallHierarchy,callHierarchy/incomingCalls,callHierarchy/outgoingCalls,textDocument/documentHighlight,textDocument/references,textDocument/rename,textDocument/completion,textDocument/documentSymbol,workspace/symbol,textDocument/formatting,textDocument/codeAction, andtextDocument/publishDiagnostics. Rust, Python, TypeScript/JavaScript, Go, and C-family files try common servers such asrust-analyzer,pyright-langserver,typescript-language-server,gopls, andclangd, whileTSCODE_LSP_COMMANDcan override the server for custom setups. - Code suggestions with
Ctrl-Spaceor command palette Trigger Suggest use installed LSP candidates when available plus workspace symbols, identifier tokens, dirty open buffers, and file-type keywords, then insert the selected suggestion into the active editor as one undoable edit. - Code Action from the command palette or editor context menu asks the installed language server for quick fixes/refactors at the editor cursor, lists returned actions in a filterable quick panel, applies returned workspace edits, and executes command-only actions that produce
workspace/applyEditedits throughworkspace/executeCommand. - Code folding now detects delimiter and indentation blocks, shows fold markers in the editor gutter, supports mouse gutter toggles,
Alt-[toggle-fold,Alt-]unfold-all, command palette actions, and editor context-menu actions while keeping scroll and mouse coordinates mapped to visible lines. - Go to Matching Bracket with
Ctrl-Shift-\, the command palette, or the editor context menu jumps between matching(),[], and{}pairs in the active buffer, including nested pairs and after-bracket cursor positions, while preserving editor navigation history. - Split Editor with
Ctrl-\, the command palette, or the editor context menu renders side-by-side editor panes; ExplorerCtrl-Enter, the explorer context menu, or the command palette opens the selected file to the side, and mouse click/wheel events activate and scroll the pane under the pointer. - Editor symbol hover now resolves the identifier under the mouse against workspace symbols/references and shows definition/reference counts plus the first matching definition in a hover overlay and status summary.
- Show Hover from the command palette or editor context menu asks the installed language server for hover documentation and displays it in a quick panel without leaving the TUI.
- Signature Help with
Ctrl-Shift-Space, the command palette, or the editor context menu asks the installed language server fortextDocument/signatureHelpand displays signatures, active parameter labels, and documentation in a filterable quick panel. - Go to Definition with
Ctrl-]or the command palette asks the installed language server first, then falls back to matching workspace symbol definitions or listing multiple definition candidates when needed. - Go to Type Definition and Go to Implementation from the command palette or editor context menu ask the installed language server for
textDocument/typeDefinitionandtextDocument/implementation, jump directly for one result, or list multiple server locations in a filterable quick panel. - Show Incoming Calls and Show Outgoing Calls from the command palette or editor context menu ask the installed language server for Call Hierarchy results, list callers/callees in filterable quick panels, and jump to the selected caller call site or callee symbol.
- Highlight Symbol with
Ctrl-Shift-E, the command palette, or the editor context menu asks the installed language server fortextDocument/documentHighlight, paints text/read/write ranges in the active editor, shows the highlight count in the status bar, and clears stale ranges after buffer edits. - Find References with
Ctrl-Ror the command palette asks the installed language server first, then falls back to whole-word workspace references for the editor cursor symbol and jumps directly to the selected occurrence. - Run LSP Diagnostics from the command palette or editor context menu asks the installed language server for active-buffer diagnostics, opens the Problems panel, and feeds editor gutter/status markers.
- Source Control from the command palette lists Git changed files and parsed diff hunks, opens changed-file rows as read-only diff tabs, supports fuzzy filtering, can sta...
tscode v0.1.0-pre.92
tscode prerelease
This prerelease delivers the first SSH-friendly VS Code-style TUI workspace.
Highlights
- Mouse-first file explorer with real filesystem reads, expand/collapse, file open, hover, and wheel scrolling.
tscode path/to/filenow opens the file immediately, uses its parent directory as the workspace root, reveals it in the explorer, and starts the integrated terminal in that parent directory.tscode --help/--versionnow print CLI metadata before entering raw mode, making installer and package verification work without an interactive terminal.- Explorer sorting can now be changed by keyboard (
s), command palette, or right-click context menu between name, type, modified time, and size while keeping folders first and preserving the selected path. - Explorer copy, cut, paste, duplicate, and reveal-active-file actions backed by real filesystem operations.
- Explorer New File/New Folder now prefill the selected folder path, create items under the selected folder or selected file's parent, reveal new folders, open new files, and refuse workspace-escaping paths.
- Explorer multi-select is now a real file-operation selection model:
Spacetoggles the focused row,Shift+click range-selects visible rows,Ctrl/Command/Meta+click toggles rows, selected rows show a distinct marker/background, and copy/cut/paste/duplicate/delete/path-copy apply to the whole selected set. - Explorer drag/drop now moves selected rows into the highlighted destination folder, while
Alt+drag copies them instead; normal click-to-open still happens on release when no drag occurs. - Explorer rows now support a right-click context menu whose mouse-selectable actions call the same real open/toggle, create, copy/cut/paste/duplicate, rename, delete, path-copy, New Terminal Here, refresh, collapse, and visibility operations as shortcuts and the command palette.
- Explorer Compare Selected Files with
v, the command palette, or the right-click context menu now reads two selected text files from disk and opens a protected read-only unified diff tab. - Explorer
Right/Leftkeys now follow normal file-tree semantics: expand, descend into the first child, collapse, and move back to the parent instead of using a simple toggle-only behavior. - Editor and terminal areas now support right-click context menus backed by the same real
CommandActionpath as shortcuts and the command palette. Editor menus cover save, clipboard, search, navigation, rename, suggestions, formatting, comments, run-in-terminal, path-copy, revert, and close-tab actions; terminal menus cover copy/paste/search, clear/restart/rename, session management, maximize/resize, and focus actions when the child app is not using terminal mouse reporting. - File moves keep open editor tab paths in sync and reveal pasted/duplicated targets in the tree.
- Explorer filtering with
/scans the real workspace tree, auto-expands collapsed parent folders for nested matches, preserves dotfile/generated-folder visibility rules, and keeps file metadata/read-only markers in tree rows. - Explorer and workspace scans now respect
.gitignore,.ignore, parent/global Git ignore rules, and generated-folder defaults through one shared visibility policy; toggling ignored entries withireveals them in the explorer, quick open, workspace search, symbols, references, rename, and replace-in-files. - Explorer now auto-refreshes when visible workspace files or folders are created, deleted, renamed, or have metadata changed by the integrated terminal, Git, build tools, or other external processes; expanded folders, selection, active filters, newly matching filtered paths, and Git badges are preserved/refreshed without a manual
r. - Explorer rows now show Git working tree badges such as
git:M,git:?, and dirty foldergit:*when the workspace is inside a Git repository. - Command Palette with
F1orCtrl-Shift-P, fuzzy command matching, and actions for files, editor commands, explorer operations, focus changes, and terminal management. - Prompt and quick-panel inputs now behave like editable command fields:
Left/Right,Home/End,Backspace,Delete,Ctrl-A/Ctrl-E,Ctrl-U/Ctrl-K, and paste operate at the visible cursor instead of only appending text. - Quick Open overlay with
Ctrl-Pfuzzy matching across workspace file paths. - Binary, non-UTF-8, and very large files now open as protected read-only hex/ascii previews, and those previews are excluded from workspace search, replace, symbol scans, rename fallback, and completion token scans so original bytes cannot be rewritten accidentally.
- Workspace text search overlay with
Ctrl-Shift-ForCtrl-G, real file scanning plus unsaved open-buffer scanning, result previews, dirty-buffer markers, and jump-to-line open. - Document Symbols with
Ctrl-Shift-Oasks an installed language server fortextDocument/documentSymbolfirst, lists hierarchical or flat LSP symbols in a filterable quick panel, falls back to local extraction when needed, and jumps to the selected symbol. - Workspace Symbols with
Ctrl-Tasks an installed language server forworkspace/symbolfirst, lists returned server symbols in the same filterable quick panel, falls back to visible workspace scans including dirty open buffers, and jumps directly to the selected file location. - Optional installed-language-server integration now speaks stdio JSON-RPC/LSP for
textDocument/hover,textDocument/signatureHelp,textDocument/definition,textDocument/typeDefinition,textDocument/implementation,textDocument/prepareCallHierarchy,callHierarchy/incomingCalls,callHierarchy/outgoingCalls,textDocument/documentHighlight,textDocument/references,textDocument/rename,textDocument/completion,textDocument/documentSymbol,workspace/symbol,textDocument/formatting,textDocument/codeAction, andtextDocument/publishDiagnostics. Rust, Python, TypeScript/JavaScript, Go, and C-family files try common servers such asrust-analyzer,pyright-langserver,typescript-language-server,gopls, andclangd, whileTSCODE_LSP_COMMANDcan override the server for custom setups. - Code suggestions with
Ctrl-Spaceor command palette Trigger Suggest use installed LSP candidates when available plus workspace symbols, identifier tokens, dirty open buffers, and file-type keywords, then insert the selected suggestion into the active editor as one undoable edit. - Code Action from the command palette or editor context menu asks the installed language server for quick fixes/refactors at the editor cursor, lists returned actions in a filterable quick panel, applies returned workspace edits, and executes command-only actions that produce
workspace/applyEditedits throughworkspace/executeCommand. - Code folding now detects delimiter and indentation blocks, shows fold markers in the editor gutter, supports mouse gutter toggles,
Alt-[toggle-fold,Alt-]unfold-all, command palette actions, and editor context-menu actions while keeping scroll and mouse coordinates mapped to visible lines. - Go to Matching Bracket with
Ctrl-Shift-\, the command palette, or the editor context menu jumps between matching(),[], and{}pairs in the active buffer, including nested pairs and after-bracket cursor positions, while preserving editor navigation history. - Editor symbol hover now resolves the identifier under the mouse against workspace symbols/references and shows definition/reference counts plus the first matching definition in a hover overlay and status summary.
- Show Hover from the command palette or editor context menu asks the installed language server for hover documentation and displays it in a quick panel without leaving the TUI.
- Signature Help with
Ctrl-Shift-Space, the command palette, or the editor context menu asks the installed language server fortextDocument/signatureHelpand displays signatures, active parameter labels, and documentation in a filterable quick panel. - Go to Definition with
Ctrl-]or the command palette asks the installed language server first, then falls back to matching workspace symbol definitions or listing multiple definition candidates when needed. - Go to Type Definition and Go to Implementation from the command palette or editor context menu ask the installed language server for
textDocument/typeDefinitionandtextDocument/implementation, jump directly for one result, or list multiple server locations in a filterable quick panel. - Show Incoming Calls and Show Outgoing Calls from the command palette or editor context menu ask the installed language server for Call Hierarchy results, list callers/callees in filterable quick panels, and jump to the selected caller call site or callee symbol.
- Highlight Symbol with
Ctrl-Shift-E, the command palette, or the editor context menu asks the installed language server fortextDocument/documentHighlight, paints text/read/write ranges in the active editor, shows the highlight count in the status bar, and clears stale ranges after buffer edits. - Find References with
Ctrl-Ror the command palette asks the installed language server first, then falls back to whole-word workspace references for the editor cursor symbol and jumps directly to the selected occurrence. - Run LSP Diagnostics from the command palette or editor context menu asks the installed language server for active-buffer diagnostics, opens the Problems panel, and feeds editor gutter/status markers.
- Source Control from the command palette lists Git changed files and parsed diff hunks, opens changed-file rows as read-only diff tabs, supports fuzzy filtering, can stage/unstage selected paths or all changes, and jumps from a hunk row to the changed source line.
- Run Task with
Ctrl-Shift-Bor the command palette detects.vscode/tasks.json,package.jsonscripts, Cargo, Make, Go, and Python project tasks, filters them in a quick panel, and starts the selecte...