Sublime Text 3 “切换块注释”不再注释掉整个 CSS 选择器

Posted

技术标签:

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

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

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

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

谢谢!

【问题讨论】:

【参考方案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;*/

【讨论】:

感谢您的解释,但我知道这一切,这不是我要问的。

以上是关于Sublime Text 3 “切换块注释”不再注释掉整个 CSS 选择器的主要内容,如果未能解决你的问题,请参考以下文章

Sublime Text 3插件

Sublime Text 3插件安装方法

删除sublime text 3 左边空文件夹

sublime_text3常用配置

安装Sublime Text 3插件的方法:

Sublime Text 3 常用插件以及安装方法