6

Próbuję użyć kodu Visual Studio do edycji plików w projekcie react starter kit. Projekt React używa Babel do trans-palowania, a więc ma tylko pliki .js zamiast plików .ts. Chciałbym, aby kod VS zapewniał odpowiednią intellisense dla tych plików ... w tym nowe asynchroniczne/oczekiwane słowa kluczowe w języku JavaScript:.Kod Visual Studio Code ES7/JS Intellisense

Do tej pory mogę zainstalować program intellisense tylko wtedy, gdy zmienię nazwę pliku z .js na .ts, ale nie chcę konwertować całego projektu tylko po to, aby dopasować go do moich osobistych decyzji.

Czy istnieje sposób, aby kod VS traktował pliki .js tak, jakby były one plikami .ts ... po prostu ze względu na intellisense ES7? Zauważyłem thread of discussion about this, ale nie jestem pewien, jakie opcje są dostępne dzisiaj. Próbowałem też dodanie pliku tsconfig.json, który wygląda tak:

{ 
    "compilerOptions": { 
    "target": "es6" //An "es7" option is not yet legal 
    }, 
    "filesGlob": [ 
    "./**/*.js", 
    "!./node_modules/**/*.js" 
    ] 
} 

miałem nadzieję, że to podstęp maszynopis do uznania .js pliki, ale bez powodzenia.

Ostatecznie chciałbym mieć tylko intellisense ES7 w kodzie VS. Jeśli jest zupełnie inny sposób osiągnięcia tego, byłoby to również pożądane. Jeśli o to chodzi, jeśli istnieje alternatywa dla kodu VS, który zapewnia ekwiwalent intellisense dla ES7 Javascript, chciałbym o tym wiedzieć.

+0

https://github.com/Microsoft/nodejstools/wiki/ES6-IntelliSense-Preview-in-NTVS -1.1 – epascarello

+0

@epascarello: Fajnie! Czy istnieje sposób aktywacji tego dla 'Visual Studio Code'? Czy jest to tylko opcja dla 'Visual Studio'? Również w kontekście 'Visual Studio', wygląda na to, że muszę utworzyć plik' .njsproj' lub '.jsproj', zanim zacznę ... –

Odpowiedz

0

wizualna Code Studio

  • VSCode nie obsługuje filesGlob. W tej chwili jest to tylko atom-ts.
  • Aby korzystać .js plików trzeba włączyć allowJs

Rozwiązanie

tsconfig.json:

{ 
    "compilerOptions": { 
    "target": "ES6", 
    "allowJs": true, 
    }, 
    exclude: ["node_modules"] 
} 

Uwaga: ES6 docelowa daje wszystkie najnowsze funkcje (w tym wszelkich ES7 nich) http://json.schemastore.org/tsconfig

Powiązane problemy