Eu tenho um sinal de intercalação na linha 8:
Eu faço c+i+(
e é isso que recebo:
Mas eu esperaria que ele entrasse entre parênteses test2(), pois é onde estava o cursor quando fiz o combo. Isso não acontece. Vai até o retorno de chamada ().
Por que isso está acontecendo e como contornar isso?
Código:
/* eslint-disable */
function callback(fn: Function) {
return fn();
}
const whatever = callback(function test1() {
function test2() {}
return test2;
});
Comportamento nominal:
Se o cursor estiver entre um parêntese de abertura e um parêntese de fechamento, o comportamento esperado de
<operator>i(
é "operar" no texto localizado entre esses dois parênteses.Comportamento alternativo:
Se não houver parênteses ao redor do cursor, o comportamento esperado é "operar" no conteúdo do par de parênteses mais próximo forward .
Resumindo, você parece querer o comportamento alternativo , apesar de estar em uma situação que favorece o comportamento nominal :
Nesse contexto, o que acontece quando você faz isso
ci(
é a) totalmente normal e esperado eb) não é o que você deseja. Portanto, você terá que usar um comando diferente, mais alinhado com o que você realmente deseja que aconteça.Todos os comandos a seguir fazem o que você deseja:
…e certamente existem outras maneiras.
f(a
é o mais intuitivo, IMO.