This extension aims at recreating the TextMate experience in Visual Studio Code. It is a work in progress and is not yet ready for use.
A good amount of keybindings have been ported from TextMate.
You can now use scmBranchName
in the windowTitle
setting.
Fix the default VSCode behavior of asking to save unsaved files when closing editors. These commands will close specified editors except any "dirty" or "pinned" editor.
Open a project in a new window, selecting from subfolders of the folders listed in the projectFolders
setting.
Quick file opener that replaces VS Code's default "Open Quickly…" command with TextMate's behavior. Press ⌘T to open a searchable list of all files in the workspace, filtered intelligently to exclude common build artifacts and dependencies. Uses the same selection interface as other TextMate commands for a consistent experience.
Provides a flexible UI for selecting items from a list. Shows a webview-based selection interface that allows for multi-selection from a provided array of items.
Can be used by other extensions as a nearly drop-in replacement for showQuickPick
.
picks = await vscode.commands.executeCommand(
"vscode-textmate.showSelectFromList",
items,
options
)
-
items
(array, required): Array of items to select from. Items can be:- Strings:
"Item 1"
- Numbers/Booleans:
42
,true
- Objects:
{ label: "Custom Item", description: "Optional description" }
- Strings:
-
options
(object, optional): Configuration optionstitle
(string): Title displayed in the selection interface (default:"Select From List"
)renderAs
(string): Where to show the interface:"sidebar"
: Shows in dedicated sidebar view"panel"
: Opens in webview panel- Defaults to user's
vscode-textmate.selectFromList.renderAs
setting
// Simple string selection
const picks = await vscode.commands.executeCommand(
"vscode-textmate.showSelectFromList",
["Option 1", "Option 2", "Option 3"],
{ title: "Choose Options" }
)
// Mixed item types with custom rendering
const picks = await vscode.commands.executeCommand(
"vscode-textmate.showSelectFromList",
[
"Simple string",
{ label: "Complex Item", description: "With description" },
42,
true
],
{
title: "Mixed Selection",
renderAs: "panel"
}
)
Name | Command | Keybinding |
---|---|---|
Open Quickly | openQuickly |
⌘T |
You can now navigate between brackets and blocks using ctrl
with up
and down
, adding shift
to also update the selection.
Name | Command | Keybinding |
---|---|---|
Jump to Selection | jumpToSelection |
⌘J |
Move to beginning of Block | moveToBeginningOfBlock |
⌃⭡ |
Move to end of Block | moveToEndOfBlock |
⌃⭣ |
Select to beginning of Block | moveToBeginningOfBlockAndModifySelection |
⌃⇧⭡ |
Select to end of Block | moveToEndOfBlockAndModifySelection |
⌃⇧⭣ |
Move to beginning of Column | moveToBeginningOfColumn |
⌥⭡ |
Move to end of Column | moveToEndOfColumn |
⌥⭣ |
Select to beginning of Column | moveToBeginningOfColumnAndModifySelection |
⌥⇧⭡ |
Select to end of Column | moveToEndOfColumnAndModifySelection |
⌥⇧⭣ |
Jump to Selection | jumpToSelection |
⌘J |
Name | Command | Keybinding |
---|---|---|
Join Lines | joinLines |
⌃⇧J |
Toggle Case | toggleCase |
⌃_ |
Transpose | transpose |
⌃T |
All commands are under the vscode-textmate
namespace, e.g. vscode-textmate.moveToEndOfColumn
.
VS Code plays a sound with some keybindings: https://superuser.com/a/1530872