2017-12-03 214 views
0

我有一个片段可以阻止“额外”时间。这让我很烦恼,所以我希望有人能帮助我在这里清除它。带有选项的VSCode片段上的额外tabstop

"pylint": { 
    "prefix": "pylint", 
    "body": "# pylint: ${1|disable,enable|}=${2|R0102\\, simplifiable-if-statement,R0101\\,too-many-nested-blocks|}", 
    "description": "Add a pylint comment" 
}, 

出于某种原因,停止在[disableenable],然后在=?!,然后再次打开(适当地)R0102, simplifiable-if-statementR0101, too-many-nested-blocks。为什么它停在等号上?

回答

0

根据a maintainer of the project,这是 “为设计”。

选择元素被视为常规(嵌套)片段,当它“完成”时我们总是跳到片段末尾。这就是为什么光标停在那里。不太可能我们会改变这种行为。关闭作为设计

所以,我在这个片段中测试了它:

"dummy": { 
    "prefix": "dummy", 
    "body": "# dummy: ${1|this,that|} - ${2|is,was|} - ${3|good,bad|}", 
    "description": "a dummy snippet", 
}, 

,事实上,似乎制表位前停下后选择元素。

0

也许这样的事情会工作:

扩展macros

settings.json

"macros": { 
    "jumpToNextSnippetPlaceholder": [ 
     "acceptSelectedSuggestion", 
     "jumpToNextSnippetPlaceholder" 
    ] 
} 

keybindings.json

{ 
    "command": "macros.jumpToNextSnippetPlaceholder", 
    "key": "tab", 
    "when": "editorTextFocus && hasNextTabstop && inSnippetMode && !editorTabMovesFocus && suggestWidgetVisible" 
}