IW
iwxyi/vscode-plugin-LazyKey
【懒键】[VSCode 插件] 分析上下文内容,通过各种自动化宏使得按键次数大大减小,而不影响原来的操作习惯
LazyKey README
A special plugin for lazy people by using the fewest keystrokes in the normal syntax of C/C++/Java/JS/PHP.
Features
LazyKey redefines the following keys:
spacecommasimicolondotleft square bracketright square bracketminusequalninezeroless
space key
- Add
()afterif/for/while/foreach/switchby pressing space key
for example, convertif|toif (|). (|is the current cursor)
comma key
- Add space character if this comma is inside the parentheses
- Convert
,,to<<with appropriate spaces
semicolon key
- Automatically add
;to the line end, unless the line ends with a comment - Insert next line after an exists
; - Insert next line if the current line already contains a
; - Ignore
for ( ; ; )
dot key
- Convert
.to->of C++/PHPclassandpointobjects - Convert between
.and->in any case
left square bracket
- Convert
[to{ }and automatically jump to the next line if the current line is missing a code block - Jump into the code block after
if/for/while/foreach/switchif already exists{ } - Add next line into a code block according to the above two behaviors if posible
- Convert
[to{ }and automatically break lines in a blank line (if wrong, undo twice) - Support both Lambda brackets,
[]and{}
right square bracket
- Jump out of
]or}after the cursor - Jump out of
}in following line, and add one line if necessary - Add another one line after
}
minus key
- Convert
-to_where the variable is declared - Convert
-to_if exists such variable - Automatically add spaces, such as
a-toa - - It doesn't affect variable decrement, like
a--
equal key
- Automatically add spaces, such as
a=toa =,a+=toa += - It doesn't affect multiple equal
- Convert
1=to!=with appropriate spaces
number nine key
- Convert
9to(in the appropriate place
number zero key
- Convert
0to)in the appropriate place- if need 0, such as
while (|), can insert space before
- if need 0, such as
less key
- Automatically add spaces at left and right
Extension Settings
You can decide the switch for each function.
This extension contributes the following settings:
Known Issues
- It may not work properly under certain circumstances, such as mixed indentation of tab and space.
- If there is a misjudgment, you can undo it (ctrl+z). Some may need to undo it twice
LazyKey may not work correctly in some cases, such as mixing tab and space.
And it may change your button habits and make you lazy.
Release Notes
0.2.9
- set
SemicolonNewLinetofalseby default
0.2.8
- support extension
Github Copilot
0.2.7
- support extension
tabnine - convert
-to_after(/[/{/-> - cancel
;auto add new line in same case
0.2.6
- support Verilog and SystemVerilog
- add
;after C++ class/struct/enum - discard to modify
=on"xxx"
0.2.5
add convert Chinese symbols to English symbols, such as ()【】《》,。、;‘’“”
For more information
Enjoy!
On this page
Languages
JavaScript100.0%
Created October 14, 2019
Updated July 15, 2024

