2016-10-11 78 views
2

我試圖創建在Atom文本編輯器熱鍵綁定,將插入代碼:原子 - 將熱鍵綁定快捷鍵來插入代碼段

<cfdump var="##"> 

<cfabort> 

使用CTRL + shift + d和ctrl + shift + a,就像它在Eclipse中一樣。 previousposts不涉及這個問題。

到目前爲止,我已經試過編輯與

'atom-text-editor': 
    'ctrl-shift-d': 'custom:insert-dump' 

'atom-text-editor': 
    'ctrl-shift-a': 'custom:insert-abort' 

的keymap.cson文件並添加下面init.coffee:

atom.commands.add 'atom-text-editor', 
    'custom:insert-dump': -> 
    atom.workspace.getActiveTextEditor()?.insertText('<cfdump var=\"\#\#\">') 

atom.commands.add 'atom-text-editor', 
    'custom:insert-abort': -> 
    atom.workspace.getActiveTextEditor()?.insertText('<cfabort>') 

我已經成功地得到了< cfabort >工作,但cfdump只是產生一個換行符。我確信我犯了一些愚蠢的錯誤。有什麼建議麼?

謝謝。

+1

類似的問題被問到異地:https://discuss.atom.io/t/how-to-replace-a-keymap-binding/16834 - 頂部答案:'你可以打開鍵綁定解析器(ctrl +。 ),然後按下鍵綁定來查看綁定的範圍。然後你可以取消設置!該特定範圍的關鍵組合.'TLDR,可能你有其他綁定正在重寫你的CFML的東西。 – TRose

+1

Doh!它已經映射到某種東西。不過,改變這些關鍵似乎是一個懸而未決的問題。相反,我已經選擇了編輯用以下snippets.cson文件: '*': 'cfabort': '前綴': 'AB' '身體': '' 'cfdump': 'prefix':'d' 'body':'' Kleene星號*應用於所有文件。現在,當我鍵入ab並按Tab時,它會自動完成到。同樣,'d'會自動完成,光標位於##之間。 謝謝你的幫助。 – philosopher

回答

1

在keymap.cson,我說:

'atom-text-editor': 
    'alt-q': 'custom:tom' 

在init.coffee,我說:

atom.commands.add 'atom-text-editor', 'custom:tom', -> 
    editor = atom.workspace.getActiveTextEditor() 
    tomstring = editor.getSelectedText() 
    editor.insertNewlineBelow() 
    editor.insertText('<cfdump var="#'+tomstring+'#" label="'+tomstring+'"><cfabort>') 
    editor.save() 

要在編輯器中使用hightlight要轉儲並做ALT-Q是什麼。