2017-10-05 86 views
2

當你在一個])}前光標,您鍵入的字符,而不是將其插入vscode只是移動過去的這個角色,生產]*cursor here*而不是]*cursor here*]。因此,每次我實際上需要插入一個閉括號時,我需要移動到))))的末尾來鍵入它,而不是直接鍵入它。那麼是否有辦法禁用這種行爲(不禁用支架自動完成)?禁用右括號吞嚥?

Here是同樣的問題,但對於崇高的文字,和this傢伙提到它作爲自動關閉括號的副作用。

+0

你能舉一個你指的是什麼樣的例子嗎? – ifconfig

+0

@ifconfig 1.鍵入')'2.將光標放在''''之前3.再次輸入')'。 4.結果 - >')'在')'後面用光標。希望的結果 - >'))'在中間的光標。不知道怎麼說比這更明白。 – alvitawa

回答

2

我收到了vscode項目的github的解決方案。
它適合我。編輯您的keybindings.json添加下面的文本:

{ 
"key": "]", 
"command": "editor.action.insertSnippet", 
"when": "editorTextFocus", 
"args": { 
    "snippet": "]" 
} 
}, 
{ 
"key": "Shift+]", 
"command": "editor.action.insertSnippet", 
"when": "editorTextFocus", 
"args": { 
    "snippet": "}" 
} 
}, 
{ 
"key": "Shift+0", 
"command": "editor.action.insertSnippet", 
"when": "editorTextFocus", 
"args": { 
    "snippet": ")" 
} 
} 

通知: 「SHIFT + 0」 EN鍵盤(,編輯就爲你的鍵盤佈局。

1

這確實是編輯器設置的autoClosingBrackets的副作用。

如果你去文件>>設置打開設置JSON文件,你可以搜索「編輯」或「autoClosing」和條目複製到您的用戶設置,如果你嘩嘩改變/禁用它(它是默認啓用),或者只是複製此將其禁用:

// Controls if the editor should automatically close brackets after opening them 
"editor.autoClosingBrackets": false, 

更多關於VS代碼設置,以及默認設置的列表,可以在這裏找到:https://code.visualstudio.com/docs/getstarted/settings

如果禁用此設置:

  • 鍵入一個支架或報價將不會自動添加匹配,閉架或引用。
  • 在現有的支架之前鍵入(閉合)支架不會導致它被「吸收」。
  • 您必須輸入每個右括號或引用自己。
  • 您將無法使用括號或引號將選定的文本自動選中並鍵入一個括號/引號。禁用此選項後,所選文字將替換爲您輸入的內容。