8

我有 2 个 LESS 文件。Globals.less 和 Site.less。Globals.less 包含我所有的全局(图)变量和对 CSS 重置定义的导入。Site.less 包含正在使用的样式。

Globals.less:

//Imports
@import "CSSReset.less";

//Colors
@color-background: rgb(0, 0 , 0);

无站点:

@import "Globals.less";

body {
    background: @color-background url('/Images/BackgroundTextureBody.png');
}

问题是这样的:在 Visual Studio 中,Site.less 中的 @color-background 带有下划线,错误是“未声明的变量”,但 LESS 可以很好地编译为 CSS,并且背景颜色正确设置为 #000。这比任何事情都更令人烦恼,但我失去了智能感知,并且在我的错误列表中收到警告。我希望编辑器按预期行事,并且在我编辑 Site.less 时能够“看到”我在 Globals.less 中的声明。我做错了什么,这是一个错误,还是我的环境设置不正确?

4

3 回答 3

10

要为特定的 less 文件获取智能感知,您可以添加参考路径,就像在 js 文件中获取智能感知一样。

例子

/// <reference path="Globals.less" />

@import "Globals.less";

body {
    background: @color-background url('/Images/BackgroundTextureBody.png');
}
于 2014-06-18T09:05:06.400 回答
1

似乎 Visual Studio(或它的 LESS 解释器)不理解导入的 Globals.less 中变量的范围

导入变量是正常且常见的事情,因此我建议这是您的 Visual Studio 设置中的错误或缺失功能。

于 2012-12-09T19:24:43.603 回答
1

事实证明,我使用的是旧版本的 Web Essentials 2012。我应该检查但没有做的第一件事是确保我的环境是最新的。将 Web Essentials 更新到最新版本更正了该问题。

于 2012-12-09T20:17:28.373 回答