2017-12-03 150 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" 
}