2016-12-16 74 views
4

現在支持2016年11月(版本1.8)版本的VSCode Snippet Variables,特別是TM_SELECTED_TEXT。在我的自定義代碼片段中使用TM_SELECTED_TEXT

這讓我很開心,因爲我已經在Sublime Text和TextMate中大量使用了它們。

我不知道如何讓它在VSCode中工作。我創建了他們作爲一個例子使用的代碼片段:

"in quotes": { 
    "prefix": "inq", 
    "body": "'${TM_SELECTED_TEXT:${1:type_here}}'" 
} 

我然後輸入一些文字,選中它,這就是事情開始打破。

這個想法是突出顯示一些文本,運行代碼段,然後${TM_SELECTED_TEXT:${1:type_here}}被替換爲突出顯示的文本。我遇到的問題是要運行代碼片段,需要鍵入prefix值(在此例中爲inq)以運行代碼片段,該代碼片段會覆蓋突出顯示的文本,從而將所有內容混淆。

在Sublime/Textmate中,我從鍵盤組合中啓動了片段,並突出顯示了文本。

在VSCode中,有沒有一種方法可以使其按原樣工作,或者從Sublime中可用的組合鍵啓動片段?

回答

2

單詞突出顯示,請按F1並運行命令「插入片段」,然後選擇列表中的片段。

您也可以通過將文件>>鍵盤快捷鍵編輯鍵綁定,並添加一些快捷方式「editor.action.showSnippets」命令,就像這樣:

{ 
    "key": "ctrl+alt+s", 
    "command": "editor.action.showSnippets", 
    "when": "editorTextFocus" 
} 
1

從v1.20開始,由於已添加新變量$ CLIPBOARD,因此變得更加容易,請參閱new snippet variables。因此,不需要分配和運行快捷方式 - 但您必須將其保存到剪貼板CTRL - C

你比如現在可能是:

"in quotes": { 
    "prefix": "inq", 
    "body": "'$CLIPBOARD:${1:type_here}}'" 
} 

注意不需要括號,如$ {}剪貼板。在測試中使用或不使用括號。

相關問題