Warum funktioniert mein ProblemMatcher nicht? Ich bin mir ziemlich sicher über die regex, aber es weist keine Probleme, auch gibt es einige auf stdout ...Warum funktioniert dieser problemMatcher im VS-Code nicht?
// the matcher
"problemMatcher": {
"owner": "typescript",
"fileLocation": ["relative", "${workspaceRoot}"],
"pattern": {
"regexp": "^TypeScript (warning|error): (.*)\\((\\d+),(\\d+)\\): (.*)$",
"severity": 1,
"file": 2,
"line": 3,
"column": 4,
"message": 5
}
}
//the browserify/tsify pipeline
browserify().add('main.ts')
.plugin(tsify, { noImplicitAny: false, removeComments:true })
.transform("babelify",{ extensions: ['.ts'], presets: ["es2015"]})
.bundle()
.on('error', function (error) { console.log(error.toString()); })
.pipe(source('bundle.js'))
.pipe(gulp.dest('www/js/dist/'));
//gulp sample output
[00:39:00] Starting 'ts-compile'...
TypeScript error: main.ts(118,30): Error TS2339: Property 'object' does not exist on type 'boolean'.
TypeScript error: main.ts(137,24): Error TS2339: Property 'object' does not exist on type 'boolean'.
TypeScript error: main.ts(507,44): Error TS2304: Cannot find name 'loading'.
[00:39:03] Finished 'ts-compile' after 2.98 s
Alle Regex-Bibliotheken scheinen sich in ihren Details zu unterscheiden. Wenn die Regex fehlerhaft ist, würde ich vermuten, dass der Alternationsoperator '|' höhere Priorität hat als erwartet. Probieren Sie '((Warnung) | (Fehler))' und sehen Sie, ob das irgendetwas ändert. – eh9
@santa Die Regex funktioniert in der Tat. Ich kann drei Fehler für die Beispielausgabe in VSCode mit Ihrem Problem-Matcher erhalten. Wie sieht Ihre Datei tasks.json aus? – Wosi
bereits mein Problem @Wosi gefunden Ich musste die tasks.json in den .vscode-Ordner (der einen Standard enthielt, der mich denken ließ, dass meins in erster Linie verwendet wurde) – santa