7

Moi kompiluje app (transpiles) dobrze, ale wizualna Code Studio nadal pokazano wiele błędów:Niezgodne „Nie można znaleźć nazwy«x»” błędy maszynopis w Kodeksie VS

enter image description here

w niektórych te przypadki (np. angular i ionic), problem polega na tym, że globalna zmienna/przestrzeń nazw dodawana przez nasze włączenie Angular/Ionic nie jest rozpoznawana. Większość błędów ma postać "Nie można znaleźć nazwy" kątowe/jonowe/ng "(itp.).

Aby było jeszcze dziwniej, zauważyłem, że plik otwarty początkowo po załadowaniu kodu VS nie ma żadnych błędów. Czerwone podkreślone błędy znajdują się w innych plikach w innych zakładkach/edytorach.

Co się dzieje? Jak uzyskać kod VS, aby konsekwentnie potwierdzał, że te globale/przestrzenie nazw faktycznie istnieją?

Odpowiedz

5

Po wielu smutnych dniach gonienia za tym problemem - w końcu znalazłem kod VS Code GitHub na GitHub Issue, który wyjaśnia, co się dzieje.

tl; dr

Mój plik tsconfig.json została nieprawidłowo skonfigurowane. Aby to naprawić, usunąłem sekcję files. Być może będziesz musiał usunąć go również w swoim projekcie lub po prostu "naprawić", aby uwzględnić wszystkie istotne pliki .ts.

Dłuższa wersja

Dodawanie plików [Sekcja] ogranicza nasz projekt do tych dwóch plików i jeśli otworzysz inne pliki nie odwołuje tymi dwoma plikami potem kończy się w izolowanym wirtualnego projektu. Musisz albo pominąć sekcję plików (wtedy wszystkie pliki .ts pod plikiem tsconfig.json są automatycznie traktowane jako część projektu) lub musisz wyświetlić listę wszystkich plików twojego projektu w tej sekcji.

Mój oryginalny plik `tsconfig.json było:

{ 
    "compilerOptions": { 
     "target": "es5", 
     "sourceMap": true, 
     "removeComments": true, 
     "noImplicitAny": true 
    }, 
    "files": [ 
     "typings/index.d.ts", 
     "src/typings/index.d.ts" 
    ] 
} 

Więc Kodeks VS myślał, że mój projekt składał się tylko z dwóch plików. Inne załadowane przeze mnie pliki .ts zostały uznane za "wyizolowany wirtualny projekt" - nie trudno zrozumieć, dlaczego generują błędy.

zmieniłem plik do następujących tsconfig.json:

{ 
    "compilerOptions": { 
     "target": "es5", 
     "sourceMap": true, 
     "removeComments": true, 
     "noImplicitAny": true 
    } 
} 

problem rozwiązany!

+0

OK, to takie niesamowite !!!!!!! Miałem filesGlob i pustą tablicę plików. usunięto tablicę plików zgodnie z sugestią, zrestartowałem vscode i voila !!!!!! 1 000 000 podziękowań !!!!!!!!!!!!!!!!!!!!!!!!! –

+1

Pewnie! Cieszę się, że mój przewlekły ból mógł przynajmniej zmniejszyć twoje cierpienie! :) – rinogo

0

W moim przypadku nie miałem w ogóle tsconfig.json!

Utworzenie go z wartościami domyślnymi rozwiązało problem.

Powiązane problemy