gpt4 book ai didi

sublimetext - 为什么Sublime无法通过选择器自动检测到此自定义Sublime构建?

转载 作者:行者123 更新时间:2023-12-03 13:35:37 26 4
gpt4 key购买 nike

我将以下内容保存到我的用户文件夹中的node-sass.sublime-build

{
"shell_cmd": "node-sass.cmd $file",
"selector": "source.scss"
}

我有一个 slideEditor.scss文件。如果我将构建系统显式设置为 node-sass,则ctrl + b可以正常工作,但是如果将其设置为“自动”,则ctrl + b不会执行任何操作,而不会将任何内容记录到控制台。怎么回事?根据 the limited documentation,我所做的一切正确。

最佳答案

首先,是您问题的简短答案:将"source.scss"更改为"source.sass",自动构建系统应该可以正常工作。

背景和一些替代方案:

Sublime(和该想法最初来自的TextMate)中的语法突出显示基于每种语言的.tmLanguage语法定义。这些XML/Plist文件基本上是一系列正则表达式,用于将它们的匹配项分配给作用域。例如,在以下CSS中:

body {
margin: 0;
}

单词 body的范围为 source.css meta.selector.css entity.name.tag.csssource.css是基本范围,或所有其他范围的父级。在Python文件中,基本范围是 source.python,在HTML中是 text.html.basic,Javascript是 source.javascript等。此基本范围是 "selector"所要查找的内容-与文件名无关。

您使用的语法定义的基本范围为 source.sass ,这就是为什么除非特别选择(否则它会覆盖 selector属性),否则构建系统无法正常工作的原因。有两种解决方法。正如我上面提到的,第一步是将选择器简单地更改为 source.sass,一切就绪。我更喜欢第二个方法,就是使用Package Control中提供的 Syntax Highlighting for Sass软件包。一方面,它为SASS和SCSS提供了单独的语言定义,因此您可以对两者进行适当的突出显示。如您所料,SCSS的基本范围是 source.scss,而SASS的基本范围是 source.sass,因此,如果您同时使用两种语言,则可以有单独的构建系统。此外,语法定义比您所使用的程序包丰富得多,因此,如果您使用 recommended color schemes之一,则可以很好地突出显示所有各种元素,关键字,属性等。最后,该程序包包括大量的补全和其他功能,使编写样式表变得更加容易。

关于sublimetext - 为什么Sublime无法通过选择器自动检测到此自定义Sublime构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26370024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com