2012-12-09 5 views
5

Mam 2 pliki LESS. Globals.less i Site.less. Globals.less zawiera wszystkie moje zmienne globalne (dane wyjściowe) i import do definicji resetowania CSS. Site.less zawiera używane style.Nierejestrowana zmienna z LESS @import. Co to powoduje? Czy jest poprawka?

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'); 
} 

Problem jest następujący: W Visual Studio @ kolor tła w Site.less jest podkreślony, a błąd jest „nielegalna zmienna ", ale kompilacja LESS do CSS jest w porządku, a kolor tła jest odpowiednio ustawiony na # 000. Jest to bardziej irytujące niż cokolwiek innego, ale tracę IntelliSense i otrzymuję ostrzeżenia na mojej liście błędów. Chciałbym, aby redaktor działał zgodnie z oczekiwaniami i był w stanie "zobaczyć" moje deklaracje w Globals.less, gdy edytuję Site.less. Czy robię coś złego, czy jest to błąd, czy moje środowisko nie jest poprawnie skonfigurowane?

Odpowiedz

1

Okazuje się, że korzystałem ze starszej wersji programu Web Essentials 2012. Pierwszą rzeczą, którą powinienem sprawdzić i nie zrobić, to upewnić się, że moje środowisko było aktualne. Aktualizacja programu Web Essentials do najnowszej wersji rozwiązała problem.

2

Wydaje się, że Visual Studio (lub jest to mniej tłumacza) nie rozumie zakres zmiennej ciągu importowanych Globals.less

Importowanie zmiennych jest normalny i zdrowy rzeczą do zrobienia, więc sugeruję, że jest to błąd lub brakująca funkcja w konfiguracji Visual Studio.

7

Aby uzyskać intellisense dla konkretnego pliku less, możesz dodać ścieżkę referencyjną w taki sam sposób, w jaki chcesz uzyskać intellisense w pliku js.

Przykład

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

@import "Globals.less"; 

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

Świetna rada, pracuje z plikami .scss też. – JohnnyHK

+0

Z jakiegoś powodu to po prostu odmawia pracy dla mnie. Mam standardową instalację bootstrapów VS, próbując użyć /// i odmawia ona pozbycia się, jeśli problem z niezadeklarowanymi zmiennymi. Poniżej znajdują się moje bootstrap.less i theme.less @imports. Wersja 2.2. –

+1

Zawęziłem to do "|" znak w tym wierszu: @import url ("// fonts.googleapis.com/css?family=Open Sans | Roboto"); Wygląda jak błąd w 2.2. Usuń "| Roboto", zapisz, wczytaj i intellisense działa! –