2016-10-11 74 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是什么。