我正在尝试更新我的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"之后点击空格键,我就无法停止减少缩进。
从the Keymaps Documentation开始,将以下coffeescript放在我的keymap.cson
文件中应该会禁用默认行为并添加我的新行为(从正则表达式的第二行省略|case|default
)应该做这个伎俩,但我不确定它为什么不起作用:
'.source.js':
'editor':
'decreaseIndentPattern': 'unset!'
'.source.js':
'editor':
'decreaseIndentPattern': '(?x)
^(.*\\*/)?\\s*(\\}|\\))
| ^\\s* else \\s*$
'
我认为原始密钥图是in the language-javascript package here。
答案 0 :(得分:0)
我确定这可能不是技术上的Keymap,因此无法在keymap.cson
中覆盖它。我最终做的是forking the language-javascript repo,进行更改,卸载原始language-javascript
包,然后安装自定义fork。
还是想知道是否有办法在运行时更新它;使用此解决方案,我将不得不手动保持我的分叉与任何上游更改。
修改:只是针对此特定更改的更新,它实际上被接受到官方language-javascript
包via PR #36。