Sublime Text 3 "toggle block comment" 不再注释掉整个 CSS 选择器

Sublime Text 3 "toggle block comment" no longer comments out entire CSS selector

我已经有几个月没有使用 ST 了,我很确定在使用 ctrl+shift+/(“切换块注释”)时它曾经 comment/uncomment 整个 CSS 选择器光标在所述选择器内,但实际上没有选择任何东西。

是否有人知道是什么原因导致此行为被简单地添加 /* */ 围绕光标所取代?

我试过使用 SCSS 模式(这是我通常使用的)和普通 CSS 模式。

谢谢!

有两种用于切换注释的绑定,您使用的是用于块注释的绑定,而您可能打算将其用于行注释。这在最近的记忆中没有改变。

涉及的密钥因平台而异,但出于我们的目的:

  • Ctrl+/ 绑定到 toggle_commentblock 设置为 false
  • Ctrl+Shift+/ 绑定到 toggle_commentblock 设置为 true

这里可能令人困惑的是 CSS 的 /* */ 样式注释实际上是块注释,这可能会让您认为您需要第二个绑定。

实际上,参数的值控制用语言支持包定义的任何注释定界符来注释什么。一种语言(例如 C++)可以为不同的样式定义不同的注释分隔符,但这不是必需的。

当块设置为 true 时,注释区域是选定的文本,而当它是 false 时,它是插入符号所在的行。

所以,假设样本 css:

body {
    color: red;
}

如果光标在:上,你使用Ctrl+Shift+/,结果如下,因为选区被换行但是选区是空(从视觉上看,所选内容包含插入符号)。

body {
    color/**/: red;
}

另一方面,将光标放在同一位置并使用 Ctrl+/ 结果是:

body {
    /*color: red;*/
}

我实际上在寻找的是 Emmet 的“切换评论”命令,在 CSS 的情况下,它会切换对整个选择器的评论。我相信随着相应包的更新,行为发生了变化并停止挂接到 ctrl+shift+/,但我可能是错的。

我最终在 Preferences > Key Bindings 中为所述命令添加了键盘快捷键,如下所示:

    {
        "keys": ["alt+/"],
        "command": "emmet_toggle_comment"
    },