Visual Studio 2013でTypeScriptを使用して開発し、常にエラーリストを下部に開いています。 TSLintは、コードを書いているときにコードが乱雑/正しくない場合に通知します。 WebEssentialsプラグインをインストールする以外に何もする必要はなかったと思います。
最近VisualStudio 2015をインストールしましたが、私の人生の間、TSLintをVisual Studio 2013のように機能させることができません。明らかな何かが欠けていますか?
今最も簡単な方法は、Visual StudioGalleryからMadsKristensenによるWebアナライザーをダウンロードすることです。これにはTSLintサポートが含まれています
https://visualstudiogallery.msdn.Microsoft.com/6edc26d4-47d8-4987-82ee-7c820d79be1d
(それは無料です)
これを実現するには、gulpタスクを使用してこれを行う必要があります。あなたが私に尋ねるならそれは少し苦痛です、しかしそれは働きます!これは私たちのやり方です:
cd C:\\path\to\project
npm install gulp-tslint --save-dev
npm install gulp-plumber --save-dev
オプション:
npm install gulp-newer --save-dev
npm install gulp-watch --save-dev
これですべてがインストールされました! Visual Studioを開き、次の内容でプロジェクトルートに新しいgulpfile.js
を追加します。
/// <binding AfterBuild='TSLint:All' ProjectOpened='TSLint:Watch' />
//Node packages
var gulp = require("gulp");
var plumber = require("gulp-plumber");
var tslint = require("gulp-tslint");
//Only include these 2 packages if you've installed them
var newer = require("gulp-newer");
var watch = require("gulp-watch");
//Paths to include/exclude
var TYPE_SCRIPT_FILES = ["app/**/*.ts", "!app/core/Events.ts"];
//Our TSLint settings
var TYPE_SCRIPT_REPORT = tslint.report("prose", {
emitError: false,
reportLimit: 50
});
//The actual task to run
gulp.task("TSLint:All", function () {
return gulp.src(TYPE_SCRIPT_FILES)
.pipe(plumber())
.pipe(tslint())
.pipe(TYPE_SCRIPT_REPORT);
});
//===== ONly include the below code if needed
// File locations
var BIN = "bin";
// Listens for new (updated) TypeScript files and runs through TSlint
gulp.task("TSLint:Newer", [], function (done) {
return gulp.src(TYPE_SCRIPT_FILES)
.pipe(plumber())
.pipe(newer(BIN))
.pipe(tslint())
.pipe(TYPE_SCRIPT_REPORT)
.pipe(gulp.dest(BIN));
});
//This task runs when the project opens. When any file changes, it will be run through TSLint
gulp.task('TSLint:Watch', function () {
return gulp.src(TYPE_SCRIPT_FILES)
.pipe(watch(TYPE_SCRIPT_FILES))
.pipe(plumber())
.pipe(tslint())
.pipe(TYPE_SCRIPT_REPORT)
.pipe(gulp.dest(BIN));
});
これで、すべてを使用する準備が整いました。 Visual Studioで、Task Runner Explorerを開きます。タスクがここに表示されます。
それではありません。各タスクにいつ実行するかを指示できます。これは、各タスクを右クリックして設定でき、gulpfile.js
の最初の行に追加されるだけです。
TSLint:All
タスクは、指定されたすべてのファイルに対してTSLintを実行します。TSLint:Newer
タスクは、最後のチェック以降に変更されたすべてのファイルに対してTSLintを実行します。TSLint:Watch
タスクは実行されたままになり、ファイルが保存されると自動的にチェックされます。ここで役立つnugetパッケージがあるようです。プロジェクトを右クリックして[NuGetパッケージの管理]を選択し、tslintを検索すると、「NCapsulateExtensions.TsLint」というパッケージが見つかります。
ただし、パッケージにはSystem.Web.Helpers.dllが必要であり、マシンにこれがないため(また、どこにも見つからなかったため)、これを個人的に確認することはできませんでした。そこで、gitリポジトリを調べたところ、nugetパッケージが実際にはこのdllを使用していないことがわかり、プルリクエストを送信して削除してもらいました。それまでの間、私のフォークはここにあります:
https://github.com/mbraude/NCapsulateExtensions.TsLint
うまくいけば、あなたや他の誰かがSystem.Web.Helpersがどこにあるかを知っているので、これをインストールして試してみるか、作成者がプルリクエストを受け取って新しいバージョンを公開します。
これが機能しない場合は、プロジェクトで同様のことを行う必要があります。カスタムmsbuildタスクからtslintを呼び出します。このソリューションのクローンを作成し、nugetを使用せずに手動でセットアップすることもできます。