【问题标题】:Sublime Text 3 "toggle block comment" no longer comments out entire CSS selectorSublime Text 3 “切换块注释”不再注释掉整个 CSS 选择器
【发布时间】:2021-03-01 00:34:45
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: css sass sublimetext3 comments


    【解决方案1】:

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

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

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

    【讨论】:

    • 因为它是一个完全不同的命令,你可以使用任何你想要的键绑定。如果您想使用块注释键进行注释,也可以交换默认键绑定。
    • 确实,但我更喜欢保留 sublime 的默认 toggle block comment 快捷方式。它的行为与 emmet 的 toggle comment 不同,有时以更有用的方式。
    【解决方案2】:

    有两种用于切换 cmets 的绑定,而您正在使用的绑定是用于块 cmets 的绑定,而您可能打算使用用于 line cmets 的绑定。在最近的记忆中,这并没有改变。

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

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

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

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

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

    所以,假设示例 css:

    body {
        color: red;
    }
    

    如果光标位于 : 并且您使用 Ctrl+Shift+/,则结果如下,因为选择被换行但选择为空(在视觉上看起来像selection 是换行符)。

    body {
        color/**/: red;
    }
    

    另一方面,光标在同一个地方并使用 Ctrl+/ 结果是:

    body {
        /*color: red;*/
    }
    

    【讨论】:

    • 感谢您的解释,但我知道这一切,这不是我要问的。
    猜你喜欢
    • 2018-05-04
    • 2017-02-20
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    相关资源
    最近更新 更多