我有2个LESS文件。 Globals.less和Site.less。 Globals.less包含我的所有全局(go figure)变量以及CSS重置定义的导入。 Site.less包含正在使用的样式。
Globals.less:
//Imports
@import "CSSReset.less";
//Colors
@color-background: rgb(0, 0 , 0);
Site.less:
@import "Globals.less";
body {
background: @color-background url('/Images/BackgroundTextureBody.png');
}
问题在于:在Visual Studio中,Site.less中的color-background带有下划线且错误为“Undeclared variable”,但LESS编译为CSS就好了,背景颜色正确设置为#000。这比任何事情都更令人烦恼,但我失去了Intellisense,我在错误列表中收到警告。我希望编辑按预期行事,并且能够在编辑Site.less时“看到”我在Globals.less中的声明。我做错了什么,这是一个错误,还是我的环境设置不正确?
答案 0 :(得分:8)
要获得特定较少文件的智能感知,您可以像在js文件中获取智能感知一样添加引用路径。
示例强>
/// <reference path="Globals.less" />
@import "Globals.less";
body {
background: @color-background url('/Images/BackgroundTextureBody.png');
}
答案 1 :(得分:1)
Visual Studio(或它的LESS解释器)似乎无法理解导入的Globals.less中变量的范围。
导入变量是正常和常见的事情,我建议它是Visual Studio设置中的错误或缺少功能。
答案 2 :(得分:1)
事实证明我使用的是旧版本的Web Essentials 2012.我应该检查的第一件事就是确保我的环境是最新的。将Web Essentials更新到最新版本更正了问题。