我正在尝试更新我的keymap.cson文件,以便JavaScript源代码略有不同的缩进。我不希望它去缩进case和default语句在switch中。
默认情况下,Atom将以这种方式设置格式:
switch(x) {
case 1:
//stuff
case 2:
//stuff
default:
//stuff
}我喜欢我的case语句缩进一次( //stuff再次缩进)。
因此,我试图编辑我的密钥映射,使其以这种方式格式化:
switch(x) {
case 1:
//stuff
case 2:
//stuff
default:
//stuff
}不幸的是,无论我尝试什么,我都无法让它停止减少缩进,当我在"case“之后击中空格栏时。
从Keymaps文件中可以看出,将以下coffeescript放入我的keymap.cson文件中应该禁用默认行为,并添加我的新行为(从正则表达式的第二行中省略|case|default ),但我不知道为什么它不能工作:
'.source.js':
'editor':
'decreaseIndentPattern': 'unset!'
'.source.js':
'editor':
'decreaseIndentPattern': '(?x)
^(.*\\*/)?\\s*(\\}|\\))
| ^\\s* else \\s*$
'我认为最初的密钥映射是在这里的语言-javascript包。
发布于 2014-06-24 15:58:10
我确定这在技术上可能不是一个密钥映射,所以它不能在keymap.cson中被覆盖。最后我做的是分叉语言-javascript repo,进行更改,卸载原始的language-javascript包,然后安装我的自定义叉子。
我仍然想知道是否有一种方法可以在运行时更新它;使用此解决方案,我将不得不手动保持我的分叉与任何上游更改保持同步。
编辑:只是对这一特定更改的更新,它实际上已被正式的language-javascript包通过PR #36所接受。
https://stackoverflow.com/questions/24390255
复制相似问题