1

我正在尝试更新我的keymap.cson文件,以便 JavaScript 源代码的缩进略有不同。我不希望casedefaultswitch.

默认情况下,Atom 会这样格式化:

switch(x) {
case 1:
    //stuff
case 2:
    //stuff
default:
    //stuff
}

我喜欢我的 case 语句缩进一次(并且//stuff再缩进一次)。

所以我正在尝试编辑我的键盘映射以使其以这种方式格式化:

switch(x) {
    case 1:
        //stuff
    case 2:
        //stuff
    default:
        //stuff
}

不幸的是,无论我尝试什么,只要我在“case”之后按下空格键,我就无法让它停止减少缩进。

键盘映射文档看来,将以下咖啡脚本放在我的keymap.cson文件中应该禁用默认行为并添加我的新行为(|case|default从正则表达式的第二行中省略)应该可以解决问题,但我不确定为什么它不起作用:

'.source.js':
    'editor':
        'decreaseIndentPattern': 'unset!'

'.source.js':
  'editor':
    'decreaseIndentPattern': '(?x)
        ^(.*\\*/)?\\s*(\\}|\\))
      | ^\\s* else \\s*$
      '

认为原始键盘映射在 language-javascript 包中

4

1 回答 1

0

我确定这在技术上可能不是 Keymap,因此不能在keymap.cson. 我最终做的是fork language-javascript repo,进行更改,卸载原始language-javascript包,然后安装我的自定义 fork。

仍然想知道是否有办法在运行时更新它;使用此解决方案,我将不得不手动使我的分叉与任何上游更改保持同步。

编辑:只是这个特定更改的更新,它实际上已通过 PR #36language-javascript被接受到官方包中。

于 2014-06-24T15:58:10.020 回答