2015-06-03 18 views
10

W 0.3.0 widzę intellisense dla maszynopisu. Spodziewałem się jednak, że zobaczę też tslinting, ponieważ mam tslint.json. Czy VSC obsługuje linting natywnie lub czy muszę po prostu oprzeć się haustem?Jak skonfigurować kod Visual Studio i tslint?

Jeśli to drugie, czy można go skonfigurować tak, jak pliki są zmieniane, czy musi to być ręczne zadanie uruchamiane jawnie.

+0

podstawie [strony] (https://code.visualstudio.com/Docs/languages) mówią, nie ma wsparcia dla maszynopis do strzępienia i C# –

+0

Sami, czego mi brakuje? Widzę "Intelligentse, Linting, outling dla CSS, HTML, JavaScript, JSON, Less and Sass" tylko - tuż poniżej "refaktoryzacji, znajdź wszystkie odniesienia dla C#, maszynopisu". Brak linting dla C#/ts i nie widzę go stosując moje zasady tslint.json w IDE, więc zakładam, że nie jest jeszcze podłączony. Ale chciałem zobaczyć, czy nie mam gdzieś jakiegoś przełącznika. –

+0

"Brak zamiaru naprawy" https://code.visualstudio.com/issues/Detail/16540 Sugerujemy, abyśmy oparli się na zadaniu https://code.visualstudio.com/Docs/tasks –

Odpowiedz

4

Możesz dodać zadanie linting do pliku gulp jak poniżej. Lub nawet zadanie obserwatora. Uwaga: Używam tylko TypeScript, a nie gulp plug in ani tslint, chociaż są one również w porządku.

gulp.task('ts-watcher', function() { 
    gulp.watch('./src/**/*.ts', ['ts-compile']); 
}); 

gulp.task('ts-compile', function(done) {  
    runTSC('src/client', done); 
}); 

function runTSC(directory, done) { 
    var tscjs = path.join(process.cwd(), 'node_modules/typescript/bin/tsc.js'); 
    var childProcess = cp.spawn('node', [tscjs, '-p', directory], { cwd: process.cwd() }); 
    childProcess.stdout.on('data', function (data) { 
     // Code will read the output 
     console.log(data.toString()); 
    }); 
    childProcess.stderr.on('data', function (data) { 
     // Code will read the output 
     console.log(data.toString()); 
    }); 
    childProcess.on('close', function() { 
     done(); 
    }); 
} 
+1

Dzięki John. Używam teraz obserwatora, który używa powiadomienia gulp-notify. Miałem nadzieję na ściślejszą integrację - wbudowane powiadomienie itp. Wyobrażam sobie, że nadchodzi. –

+0

Zgadzam się. Nowy WebStorm 11 ma teraz ścisłą integrację TSX z linią w linii. Przechodziłem tam iz powrotem między VSC i WS, ale obecnie trzymam się Webstormu, dopóki VSC nie będzie miał wbudowanego powiadomienia. – pbanka

+0

Tak naprawdę nie używam żadnego z nich. Kod VS pokazuje problem TypeScript w edytorze bez wykonywania tych zadań. Jakie dodatkowe rzeczy chcesz? Jestem ciekawy. –

15

Krótka odpowiedź

Czy VSC obsługują natywnie strzępienia lub mogę wystarczy oprzeć się na łyk?

Tak. Kod VS obsługuje linting z TSLint extension.. Nie ma potrzeby wdychania.

kroki, aby zintegrować TSLint do VS Kodeksu

Pierwszy, zainstaluj Wymagania: TSLint i maszynopis.

npm install -g tslint typescript 

drugie, dodać plik tslint.json do korzenia projektu. Możesz to zrobić za pomocą tslint --init, co daje dobre ustawienia domyślne. Alternatywnie, utwórz plik i używać tej minimalnej config, który dziedziczy recommended rules.

// tslint.json 
{ 
    "extends": "tslint:recommended", 
    "rules": {} 
} 

trzecie, zainstalować rozszerzenie TSLint do kodeksu VS.

  1. Otwórz kod VS w katalogu głównym projektu.
  2. Otwórz paletę poleceń CTRL + P
  3. ext install tslint.
  4. Wybierz opcję Instaluj, a następnie wybierz opcję Włącz, a następnie ponownie uruchom kod VS.

Czwarty, ciesz się zintegrowanym Lint TS.

TSLint in action in VS Code.

+1

Chciałbym również dodać, że jeśli używając niestandardowego pliku tsconfig.json spróbuj uruchomić go w konsoli (np. tslint **/*. ts), aby upewnić się, że jest to poprawny plik, w przeciwnym razie nie będzie działał w trybie VSCode. –

+4

Należy pamiętać, że będą to pokazywać tylko otwarte problemy z plikiem. Aby uzyskać pełną listę w widoku "Problemy", musisz wykonać kilka dodatkowych kroków: http://michael.laffargue.fr/blog/2016/09/16/vscode-make-vscode-tslint-analyze -multiple-files-project / –

Powiązane problemy