我在第 8 行有一个插入符号:
我做
c+i+(
,这就是我得到的:
但我希望它进入 test2() 括号,因为这是我进行组合时插入符号所在的位置。事实并非如此。它一直到回调()。
为什么会发生这种情况以及如何解决它?
代码:
/* eslint-disable */
function callback(fn: Function) {
return fn();
}
const whatever = callback(function test1() {
function test2() {}
return test2;
});
标称行为:
如果光标位于左括号和右括号之间,则
<operator>i(
的预期行为是对位于这两个括号之间的文本进行“操作”。
后备行为:
如果光标周围没有括号,那么预期的行为是对最接近的一对括号的内容进行“操作”向前。
简而言之,尽管处于有利于“标称”行为的情况下,您似乎还是想要“后备”行为:
+-- opening parenthesis before the cursor
|
const whatever = callback(function test1() {
function test2() {}
return test2;
});
|
+-- closing parenthesis after the cursor
在这种情况下,当你做ci(
f(a
f)i
t)a
f(ci(
f)ci(
……当然还有其他方法。 f(a