Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 带有较少@import的未声明变量。这是什么原因造成的?有办法吗?_Visual Studio 2012_Less - Fatal编程技术网

Visual studio 2012 带有较少@import的未声明变量。这是什么原因造成的?有办法吗?

Visual studio 2012 带有较少@import的未声明变量。这是什么原因造成的?有办法吗?,visual-studio-2012,less,Visual Studio 2012,Less,我少了2个文件。Globals.less和Site.less。Globals.less包含我的所有全局(go-figure)变量和对CSS重置定义的导入。Site.less包含正在使用的样式 Globals.less: //Imports @import "CSSReset.less"; //Colors @color-background: rgb(0, 0 , 0); 无网址: @import "Globals.less"; body { background: @color-

我少了2个文件。Globals.less和Site.less。Globals.less包含我的所有全局(go-figure)变量和对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带有下划线,错误为“Undeclared variable”,但less编译为CSS很好,并且背景颜色被正确设置为#000。这比什么都麻烦,但我失去了智能感知,并且在错误列表中得到了警告。我希望编辑能够像预期的那样,在我编辑Site.less时,能够在Globals.less中“查看”我的声明。我是否做错了什么,这是一个错误,还是我的环境设置不正确?

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


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

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

要获取特定less文件的intellisense,可以使用与在js文件中获取intellisense相同的方式添加引用路径

示例

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

@import "Globals.less";

body {
    background: @color-background url('/Images/BackgroundTextureBody.png');
}
//
@导入“Globals.less”;
身体{
背景:@color-background-url('/Images/BackgroundTextureBody.png');
}

出于某种原因,这对我来说根本不起作用。我已经安装了标准VS引导程序,试图使用//,如果未声明的变量出现问题,它将拒绝删除。下面是我的bootstrap.less和theme.less@imports。版本2.2。我已将其缩小到这一行中的“|”字符:@import url(“//fonts.googleapis.com/css?family=Open Sans | Roboto”);看起来像是2.2中的一个bug。删除“|机器人”,保存,重新加载,智能感知工作!这对我来说很有效。但是,我仍然可以在错误列表输出选项卡中看到错误日志。当我想在一个没有mixin的文件中使用变量而不实际导入变量定义时,这对我来说是有效的。相反,变量和mixin稍后都会导入到引导文件中。设置
注释可以让intellisense接受这种方法。