All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fix typos in focus editor group commands
- Fix the issue where the new sort options are not effective.
- Add (
whichkey.useFullWidthCharacters
) to control whether to use full width characters as key in the which-key menu.
- Fix an issue where
when
in conditional bindings couldn't be evaluated since v0.10.0. (VSpaceCode#256)
-
Add command (
whichkey.undoKey
) to undo entered key. -
Add menu buttons to which key menu (Use
whichkey.showButtons
in config to turn on/off). -
Add three additional sorting options.
-
custom
: Menu items are sorted by the key in the following 'categories' then by a custom order within each 'category'.The category order:
- Single key (a, z, SPC, TAB, etc)
- Function key (f11, F11, etc)
- Modifier key (C-z, etc)
- Others
For the non-function key, the sort order of each character of the key:
- SPC
- Non-printable characters
- DEL
- ASCII symbols
- Number
- a-z
- A-Z
- Non-ASCII For function key, bindings will be sorted by the numeric order (e.g. F1, F2, F11, 12).
-
customNonNumberFirst
: Menu items are sorted by bindings with non-number key first then by custom order. -
typeThenCustom
: Menu items are sorted by the binding type first then by custom order.
-
- Use full width character to render keys on the menu for better alignment.
- Fix an issue where previous menu items are still getting rendered when delay is over.
- Support
display: hidden
in BindingItem and TransientBindingItem (#51).
- Reimplement which-key to improve key handling robustness.
- Change error on status bar to be more prominent
- Add support for web extension.
- Add additional padding for icons.
- Fix an issue where using vim to call
whichkey.show
without any params failed.
- Update the name of
<spc> r .
to be more descriptive.
-
Add icons support for which-key menu (#41).
-
Only vscode product icon can be used.
-
An extra property
icon
is used in the definition of which-key binding, which-key overrides, and transient binding. An example which-key binding with the icon property is as follow.{ "key": " ", "name": "Commands", "icon": "rocket", "type": "command", "command": "workbench.action.showCommands" }
-
-
Implement the ability to search the bindings and execute a command (
whichkey.searchBindings
) where it can be triggered with<spc> ?
orC-h
while the which-key is visible (#12). -
Add zen mode command (
whichkey.toggleZenMode
) to transient menu.-
When the command is executed with a visible transient menu, all the menu items will be hidden/shown.
-
The command can be bound to the transient menu binding item or as a shortcut in your
keybindings.json
as follows.{ "key": "ctrl+z", "command": "whichkey.toggleZenMode", "when": "transientVisible" }
-
No default shortcut is bound at the moment.
-
This is implemented to show more content of the buffer instead being block by the QuickPick menu.
-
-
Add repeater to record and repeat previously executed command (#27).
- Command
whichkey.repeatRecent
will show a which key menu to select all previous command executed in whichkey and bound to<spc> r .
by default. - Command
whichkey.repeatMostRecent
will execute the recently command executed in whichkey.
- Command
- Reimplemented transient menu as a separate command (
whichkey.showTransient
).- Existing transient defined as part of which-key menu with type
transient
is deprecated and will continue to work. - Remove redundant transient definition which allows sharing (#13) by letting transient menu config/bindings to be defined in config. For example, calling
whichkey.showTransient
withwhichkey.transient.lineMoving
will mean that the transient config lives inwhichkey.transient.lineMoving
. - Add
exit
property in the binding definition to indicate that certain key in will exit on selection. - Add
transientVisible
context when transient is visible, andwhichkeyVisible
context will no longer betrue
when transient menu is visible.
- Existing transient defined as part of which-key menu with type
- Remove
+
prefix from non-binding type in the default bindings.
- Properly fix QuickPick API change issue for vscode >= 1.57 (#34)
- Fix the name of
<spc> g s
binding. - Fix vscode 1.57 insider QuickPick API change issue (#34).
- Fix the issue
<spc> f f
doesn't work on non-Mac environment.
- Indicate submenus with
+
instead of...
.
- Fix the issue where
<tab>
key can not be use in the editor because the contextwhichkeyVisible
is stuck in true if triggerKey command with an invalid key was called before the menu is displayed. - Fix the issue where key failed to append if the input was selected during the delay. The case was prominent when triggerKey was called before the menu is displayed (The key entered by triggerKey will be selected by the time the menu is displayed).
- Fix the issue where the key is selected if
triggerKey
is called subsequent toshow
command with vim binding by havingshow
command to wait until the QuickPick's show is called.
- Fix the issue where multiple status bar messages are displayed.
- Add color on the status bar message when key binding entered is not defined.
- Add support for a new conditional type binding, which allows conditional binding execution. See README for more information on how to use it.
- Add an option to sort non-number first for keys of the menu items.
- Change
<spc> b Y
to deselect after copying.
- Add a configuration (
whichkey.sortOrder
) to sort menu items.
- Change the command
whichkey.show
to be non-blocking.
- Fix a bug where only the first occurrence of ␣ and ↹ will be replaced.
- Add
<spc> s r
to search reference. - Add
<spc> s R
to search reference in side bar. - Add
<spc> s J
to jump symbol in the workspace.
- Change
<spc> s j
to jump to symbol in file.
- Fix typo and grammar in default binding names.
- Update lodash for GHSA-p6mc-m468-83gw.
- Add
<spc> b H/J/K/L
for directional editor moving. - Support running this extension locally with VSCode Remote.
- Implement an a way to use non-character key like
<tab>
and<ctrl>
in which-key menu. - Implement a way to delay menu display with a configurable timeout in settings.
- Add better error message when executing binding with incorrect properties.
- Add
<spc> <tab>
to switch to last editor.
- Fix an issue where the which key menu will not reopen once the transient menu is closed.
- Fix the issue where menu is empty when called from vscode vim.
- Use webpack to reduce extension size.
- Split which-key menu function from VSpaceCode of
v0.4.0
.