package.json 24.1 KB
Newer Older
E
Erich Gamma 已提交
1
{
2
  "name": "typescript-language-features",
3 4
  "description": "%description%",
  "displayName": "%displayName%",
M
Matt Bierner 已提交
5
  "version": "1.0.0",
M
Matt Bierner 已提交
6
  "icon": "icon.png",
7
  "author": "vscode",
8
  "publisher": "vscode",
9
  "license": "MIT",
10
  "aiKey": "AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217",
11
  "enableProposedApi": true,
12 13 14
  "engines": {
    "vscode": "*"
  },
M
Matt Bierner 已提交
15 16 17
  "categories": [
    "Programming Languages"
  ],
18
  "dependencies": {
19
    "jsonc-parser": "^2.0.1",
J
wip  
Johannes Rieken 已提交
20
    "semver": "5.5.1",
21
    "vscode-extension-telemetry": "0.1.0",
J
Johannes Rieken 已提交
22
    "vscode-nls": "^4.0.0"
23 24
  },
  "devDependencies": {
25
    "@types/node": "8.0.33",
J
wip  
Johannes Rieken 已提交
26
    "@types/semver": "^5.5.0",
27
    "vscode": "^1.1.10"
28 29
  },
  "scripts": {
30
    "vscode:prepublish": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.js compile-extension:typescript ./tsconfig.json"
31 32 33 34 35 36 37 38 39
  },
  "activationEvents": [
    "onLanguage:javascript",
    "onLanguage:javascriptreact",
    "onLanguage:typescript",
    "onLanguage:typescriptreact",
    "onLanguage:jsx-tags",
    "onCommand:typescript.reloadProjects",
    "onCommand:javascript.reloadProjects",
40 41
    "onCommand:typescript.selectTypeScriptVersion",
    "onCommand:javascript.goToProjectConfig",
42
    "onCommand:typescript.goToProjectConfig",
M
Matt Bierner 已提交
43
    "onCommand:typescript.openTsServerLog",
44
    "onCommand:workbench.action.tasks.runTask",
R
Rob Lourens 已提交
45
    "onLanguage:jsonc"
46
  ],
47
  "main": "./out/extension",
48
  "contributes": {
49 50 51 52 53 54
    "jsonValidation": [
      {
        "fileMatch": "package.json",
        "url": "./schemas/package.schema.json"
      }
    ],
55 56 57 58 59 60 61 62 63 64 65
    "configuration": {
      "type": "object",
      "title": "%configuration.typescript%",
      "order": 20,
      "properties": {
        "typescript.tsdk": {
          "type": [
            "string",
            "null"
          ],
          "default": null,
66 67
          "description": "%typescript.tsdk.desc%",
          "scope": "window"
68 69 70 71
        },
        "typescript.disableAutomaticTypeAcquisition": {
          "type": "boolean",
          "default": false,
72
          "description": "%typescript.disableAutomaticTypeAcquisition%",
73
          "scope": "window",
J
wip  
Johannes Rieken 已提交
74 75 76
          "tags": [
            "usesOnlineServices"
          ]
77
        },
M
Matt Bierner 已提交
78 79 80 81 82 83
        "typescript.npm": {
          "type": [
            "string",
            "null"
          ],
          "default": null,
84
          "description": "%typescript.npm%",
S
Sandeep Somavarapu 已提交
85
          "scope": "application"
M
Matt Bierner 已提交
86
        },
87
        "typescript.check.npmIsInstalled": {
J
Johannes Rieken 已提交
88 89
          "type": "boolean",
          "default": true,
90 91
          "description": "%typescript.check.npmIsInstalled%",
          "scope": "window"
J
Johannes Rieken 已提交
92
        },
93
        "javascript.referencesCodeLens.enabled": {
94 95
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
96 97
          "description": "%javascript.referencesCodeLens.enabled%",
          "scope": "window"
98 99 100
        },
        "typescript.referencesCodeLens.enabled": {
          "type": "boolean",
M
Matt Bierner 已提交
101
          "default": false,
M
Matt Bierner 已提交
102 103
          "description": "%typescript.referencesCodeLens.enabled%",
          "scope": "window"
104
        },
105 106 107
        "typescript.implementationsCodeLens.enabled": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
108 109
          "description": "%typescript.implementationsCodeLens.enabled%",
          "scope": "window"
110
        },
111 112 113 114 115 116 117 118 119
        "typescript.tsserver.log": {
          "type": "string",
          "enum": [
            "off",
            "terse",
            "normal",
            "verbose"
          ],
          "default": "off",
M
Matt Bierner 已提交
120 121
          "description": "%typescript.tsserver.log%",
          "scope": "window"
122
        },
123 124 125 126 127 128 129 130
        "typescript.tsserver.pluginPaths": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "%typescript.tsserver.pluginPaths.item%"
          },
          "default": [],
          "description": "%typescript.tsserver.pluginPaths%",
S
Sandeep Somavarapu 已提交
131
          "scope": "application"
132
        },
133 134 135 136 137 138 139 140
        "typescript.tsserver.trace": {
          "type": "string",
          "enum": [
            "off",
            "messages",
            "verbose"
          ],
          "default": "off",
M
Matt Bierner 已提交
141 142
          "description": "%typescript.tsserver.trace%",
          "scope": "window"
143
        },
144
        "javascript.suggest.completeFunctionCalls": {
145 146
          "type": "boolean",
          "default": false,
147
          "description": "%configuration.suggest.completeFunctionCalls%",
148 149
          "scope": "resource"
        },
150
        "typescript.suggest.completeFunctionCalls": {
151 152
          "type": "boolean",
          "default": false,
153
          "description": "%configuration.suggest.completeFunctionCalls%",
M
Matt Bierner 已提交
154
          "scope": "resource"
155
        },
156 157 158 159 160 161
        "typescript.reportStyleChecksAsWarnings": {
          "type": "boolean",
          "default": true,
          "description": "%typescript.reportStyleChecksAsWarnings%",
          "scope": "window"
        },
162 163 164
        "typescript.validate.enable": {
          "type": "boolean",
          "default": true,
M
Matt Bierner 已提交
165
          "description": "%typescript.validate.enable%",
166
          "scope": "window"
167 168 169 170
        },
        "typescript.format.enable": {
          "type": "boolean",
          "default": true,
M
Matt Bierner 已提交
171
          "description": "%typescript.format.enable%",
172
          "scope": "window"
173 174 175 176
        },
        "typescript.format.insertSpaceAfterCommaDelimiter": {
          "type": "boolean",
          "default": true,
M
Matt Bierner 已提交
177 178
          "description": "%format.insertSpaceAfterCommaDelimiter%",
          "scope": "resource"
179
        },
180 181 182
        "typescript.format.insertSpaceAfterConstructor": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
183 184
          "description": "%format.insertSpaceAfterConstructor%",
          "scope": "resource"
185
        },
186 187 188
        "typescript.format.insertSpaceAfterSemicolonInForStatements": {
          "type": "boolean",
          "default": true,
M
Matt Bierner 已提交
189 190
          "description": "%format.insertSpaceAfterSemicolonInForStatements%",
          "scope": "resource"
191 192 193 194
        },
        "typescript.format.insertSpaceBeforeAndAfterBinaryOperators": {
          "type": "boolean",
          "default": true,
M
Matt Bierner 已提交
195 196
          "description": "%format.insertSpaceBeforeAndAfterBinaryOperators%",
          "scope": "resource"
197 198 199 200
        },
        "typescript.format.insertSpaceAfterKeywordsInControlFlowStatements": {
          "type": "boolean",
          "default": true,
M
Matt Bierner 已提交
201 202
          "description": "%format.insertSpaceAfterKeywordsInControlFlowStatements%",
          "scope": "resource"
203 204 205 206
        },
        "typescript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": {
          "type": "boolean",
          "default": true,
M
Matt Bierner 已提交
207 208
          "description": "%format.insertSpaceAfterFunctionKeywordForAnonymousFunctions%",
          "scope": "resource"
209
        },
210 211 212
        "typescript.format.insertSpaceBeforeFunctionParenthesis": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
213 214
          "description": "%format.insertSpaceBeforeFunctionParenthesis%",
          "scope": "resource"
215
        },
216 217 218
        "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
219 220
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis%",
          "scope": "resource"
221 222 223 224
        },
        "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
225 226
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets%",
          "scope": "resource"
227
        },
228 229
        "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": {
          "type": "boolean",
230
          "default": true,
M
Matt Bierner 已提交
231 232
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces%",
          "scope": "resource"
233
        },
234 235 236
        "typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
237 238
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces%",
          "scope": "resource"
239 240 241 242
        },
        "typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
243 244
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces%",
          "scope": "resource"
245
        },
246 247 248
        "typescript.format.insertSpaceAfterTypeAssertion": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
249 250
          "description": "%format.insertSpaceAfterTypeAssertion%",
          "scope": "resource"
251
        },
252 253 254
        "typescript.format.placeOpenBraceOnNewLineForFunctions": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
255 256
          "description": "%format.placeOpenBraceOnNewLineForFunctions%",
          "scope": "resource"
257 258 259 260
        },
        "typescript.format.placeOpenBraceOnNewLineForControlBlocks": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
261 262
          "description": "%format.placeOpenBraceOnNewLineForControlBlocks%",
          "scope": "resource"
263 264 265 266
        },
        "javascript.validate.enable": {
          "type": "boolean",
          "default": true,
M
Matt Bierner 已提交
267
          "description": "%javascript.validate.enable%",
268
          "scope": "window"
269 270 271 272
        },
        "javascript.format.enable": {
          "type": "boolean",
          "default": true,
M
Matt Bierner 已提交
273
          "description": "%javascript.format.enable%",
274
          "scope": "window"
275 276 277 278
        },
        "javascript.format.insertSpaceAfterCommaDelimiter": {
          "type": "boolean",
          "default": true,
M
Matt Bierner 已提交
279 280
          "description": "%format.insertSpaceAfterCommaDelimiter%",
          "scope": "resource"
281
        },
282 283 284
        "javascript.format.insertSpaceAfterConstructor": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
285 286
          "description": "%format.insertSpaceAfterConstructor%",
          "scope": "resource"
287
        },
288 289 290
        "javascript.format.insertSpaceAfterSemicolonInForStatements": {
          "type": "boolean",
          "default": true,
M
Matt Bierner 已提交
291 292
          "description": "%format.insertSpaceAfterSemicolonInForStatements%",
          "scope": "resource"
293 294 295 296
        },
        "javascript.format.insertSpaceBeforeAndAfterBinaryOperators": {
          "type": "boolean",
          "default": true,
M
Matt Bierner 已提交
297 298
          "description": "%format.insertSpaceBeforeAndAfterBinaryOperators%",
          "scope": "resource"
299 300 301 302
        },
        "javascript.format.insertSpaceAfterKeywordsInControlFlowStatements": {
          "type": "boolean",
          "default": true,
M
Matt Bierner 已提交
303 304
          "description": "%format.insertSpaceAfterKeywordsInControlFlowStatements%",
          "scope": "resource"
305 306 307 308
        },
        "javascript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": {
          "type": "boolean",
          "default": true,
M
Matt Bierner 已提交
309 310
          "description": "%format.insertSpaceAfterFunctionKeywordForAnonymousFunctions%",
          "scope": "resource"
311
        },
312 313 314
        "javascript.format.insertSpaceBeforeFunctionParenthesis": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
315 316
          "description": "%format.insertSpaceBeforeFunctionParenthesis%",
          "scope": "resource"
317
        },
318 319 320
        "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
321 322
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis%",
          "scope": "resource"
323 324 325 326
        },
        "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
327 328
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets%",
          "scope": "resource"
329
        },
330 331
        "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": {
          "type": "boolean",
332
          "default": true,
M
Matt Bierner 已提交
333 334
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces%",
          "scope": "resource"
335
        },
336 337 338
        "javascript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
339 340
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces%",
          "scope": "resource"
341 342 343 344
        },
        "javascript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
345 346
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces%",
          "scope": "resource"
347 348 349 350
        },
        "javascript.format.placeOpenBraceOnNewLineForFunctions": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
351 352
          "description": "%format.placeOpenBraceOnNewLineForFunctions%",
          "scope": "resource"
353 354 355 356
        },
        "javascript.format.placeOpenBraceOnNewLineForControlBlocks": {
          "type": "boolean",
          "default": false,
M
Matt Bierner 已提交
357 358
          "description": "%format.placeOpenBraceOnNewLineForControlBlocks%",
          "scope": "resource"
359 360 361 362
        },
        "jsDocCompletion.enabled": {
          "type": "boolean",
          "default": true,
M
Matt Bierner 已提交
363 364
          "description": "%jsDocCompletion.enabled%",
          "scope": "resource"
365 366 367 368
        },
        "javascript.implicitProjectConfig.checkJs": {
          "type": "boolean",
          "default": false,
369
          "description": "%javascript.implicitProjectConfig.checkJs%",
370
          "scope": "window"
371 372 373 374
        },
        "javascript.implicitProjectConfig.experimentalDecorators": {
          "type": "boolean",
          "default": false,
375
          "markdownDescription": "%javascript.implicitProjectConfig.experimentalDecorators%",
376
          "scope": "window"
377
        },
378 379 380 381
        "javascript.suggest.names": {
          "type": "boolean",
          "default": true,
          "description": "%configuration.suggest.names%",
M
Matt Bierner 已提交
382
          "scope": "resource"
383 384 385 386 387 388
        },
        "typescript.tsc.autoDetect": {
          "type": "string",
          "default": "on",
          "enum": [
            "on",
389
            "off",
390 391 392
            "build",
            "watch"
          ],
393
          "markdownEnumDescriptions": [
394 395 396 397 398
            "%typescript.tsc.autoDetect.on%",
            "%typescript.tsc.autoDetect.off%",
            "%typescript.tsc.autoDetect.build%",
            "%typescript.tsc.autoDetect.watch%"
          ],
399
          "description": "%typescript.tsc.autoDetect%",
M
Matt Bierner 已提交
400
          "scope": "window"
401
        },
402 403 404 405 406 407 408 409 410 411
        "javascript.suggest.paths": {
          "type": "boolean",
          "default": true,
          "description": "%configuration.suggest.paths%",
          "scope": "resource"
        },
        "typescript.suggest.paths": {
          "type": "boolean",
          "default": true,
          "description": "%configuration.suggest.paths%",
412
          "scope": "resource"
413
        },
414 415 416 417 418 419 420 421 422 423
        "javascript.suggest.autoImports": {
          "type": "boolean",
          "default": true,
          "description": "%configuration.suggest.autoImports%",
          "scope": "resource"
        },
        "typescript.suggest.autoImports": {
          "type": "boolean",
          "default": true,
          "description": "%configuration.suggest.autoImports%",
424 425
          "scope": "resource"
        },
426 427 428 429 430
        "typescript.locale": {
          "type": [
            "string",
            "null"
          ],
M
Matt Bierner 已提交
431 432 433 434 435 436 437 438 439 440 441 442 443
          "enum": [
            "de",
            "es",
            "en",
            "fr",
            "it",
            "ja",
            "ko",
            "ru",
            "zh-CN",
            "zh-TW",
            null
          ],
444
          "default": null,
445
          "markdownDescription": "%typescript.locale%",
446
          "scope": "window"
447
        },
448 449 450 451
        "javascript.suggestionActions.enabled": {
          "type": "boolean",
          "default": true,
          "description": "%javascript.suggestionActions.enabled%",
452
          "scope": "resource"
453 454 455 456 457
        },
        "typescript.suggestionActions.enabled": {
          "type": "boolean",
          "default": true,
          "description": "%typescript.suggestionActions.enabled%",
458
          "scope": "resource"
M
Matt Bierner 已提交
459 460 461 462
        },
        "javascript.preferences.quoteStyle": {
          "type": "string",
          "enum": [
463
            "auto",
M
Matt Bierner 已提交
464 465 466
            "single",
            "double"
          ],
467
          "default": "auto",
468
          "markdownDescription": "%typescript.preferences.quoteStyle%",
469
          "scope": "resource"
M
Matt Bierner 已提交
470 471 472 473
        },
        "typescript.preferences.quoteStyle": {
          "type": "string",
          "enum": [
474
            "auto",
M
Matt Bierner 已提交
475 476 477
            "single",
            "double"
          ],
478
          "default": "auto",
479
          "markdownDescription": "%typescript.preferences.quoteStyle%",
480
          "scope": "resource"
481 482 483 484
        },
        "javascript.preferences.importModuleSpecifier": {
          "type": "string",
          "enum": [
485
            "auto",
486 487 488
            "relative",
            "non-relative"
          ],
489
          "markdownEnumDescriptions": [
M
Matt Bierner 已提交
490 491 492 493
            "%typescript.preferences.importModuleSpecifier.auto%",
            "%typescript.preferences.importModuleSpecifier.relative%",
            "%typescript.preferences.importModuleSpecifier.nonRelative%"
          ],
494
          "default": "auto",
495
          "description": "%typescript.preferences.importModuleSpecifier%",
496
          "scope": "resource"
497 498 499 500
        },
        "typescript.preferences.importModuleSpecifier": {
          "type": "string",
          "enum": [
501
            "auto",
502 503 504
            "relative",
            "non-relative"
          ],
505
          "markdownEnumDescriptions": [
506 507 508 509
            "%typescript.preferences.importModuleSpecifier.auto%",
            "%typescript.preferences.importModuleSpecifier.relative%",
            "%typescript.preferences.importModuleSpecifier.nonRelative%"
          ],
510
          "default": "auto",
511
          "description": "%typescript.preferences.importModuleSpecifier%",
512
          "scope": "resource"
513
        },
514 515 516 517 518 519 520
        "typescript.updateImportsOnFileMove.enabled": {
          "type": "string",
          "enum": [
            "prompt",
            "always",
            "never"
          ],
521
          "markdownEnumDescriptions": [
R
Rob Lourens 已提交
522 523 524 525
            "%typescript.updateImportsOnFileMove.enabled.prompt%",
            "%typescript.updateImportsOnFileMove.enabled.always%",
            "%typescript.updateImportsOnFileMove.enabled.never%"
          ],
526 527 528 529 530 531 532 533 534 535 536
          "default": "prompt",
          "description": "%typescript.updateImportsOnFileMove.enabled%",
          "scope": "resource"
        },
        "javascript.updateImportsOnFileMove.enabled": {
          "type": "string",
          "enum": [
            "prompt",
            "always",
            "never"
          ],
537 538 539 540 541
          "markdownEnumDescriptions": [
            "%typescript.updateImportsOnFileMove.enabled.prompt%",
            "%typescript.updateImportsOnFileMove.enabled.always%",
            "%typescript.updateImportsOnFileMove.enabled.never%"
          ],
542 543 544
          "default": "prompt",
          "description": "%typescript.updateImportsOnFileMove.enabled%",
          "scope": "resource"
545 546 547 548 549 550 551 552 553 554
        },
        "typescript.autoClosingTags": {
          "type": "boolean",
          "default": true,
          "description": "%typescript.autoClosingTags%"
        },
        "javascript.autoClosingTags": {
          "type": "boolean",
          "default": true,
          "description": "%typescript.autoClosingTags%"
555
        },
556
        "javascript.suggest.enabled": {
557 558
          "type": "boolean",
          "default": true,
559
          "description": "%typescript.suggest.enabled%",
560 561
          "scope": "resource"
        },
562
        "typescript.suggest.enabled": {
563 564
          "type": "boolean",
          "default": true,
565
          "description": "%typescript.suggest.enabled%",
566
          "scope": "resource"
M
Matt Bierner 已提交
567 568 569 570 571 572
        },
        "typescript.surveys.enabled": {
          "type": "boolean",
          "default": true,
          "description": "%configuration.surveys.enabled%",
          "scope": "window"
573 574 575 576 577 578
        }
      }
    },
    "commands": [
      {
        "command": "typescript.reloadProjects",
579
        "title": "%reloadProjects.title%",
580
        "category": "TypeScript"
581 582 583
      },
      {
        "command": "javascript.reloadProjects",
584
        "title": "%reloadProjects.title%",
585
        "category": "JavaScript"
586 587 588
      },
      {
        "command": "typescript.selectTypeScriptVersion",
589
        "title": "%typescript.selectTypeScriptVersion.title%",
590 591 592 593
        "category": "TypeScript"
      },
      {
        "command": "typescript.goToProjectConfig",
594
        "title": "%goToProjectConfig.title%",
595 596
        "category": "TypeScript"
      },
M
Matt Bierner 已提交
597
      {
598
        "command": "javascript.goToProjectConfig",
599
        "title": "%goToProjectConfig.title%",
600
        "category": "JavaScript"
601 602 603
      },
      {
        "command": "typescript.openTsServerLog",
604
        "title": "%typescript.openTsServerLog.title%",
605
        "category": "TypeScript"
606 607 608
      },
      {
        "command": "typescript.restartTsServer",
609
        "title": "%typescript.restartTsServer%",
610
        "category": "TypeScript"
611
      }
612
    ],
613 614 615 616
    "menus": {
      "commandPalette": [
        {
          "command": "typescript.reloadProjects",
617
          "when": "editorLangId == typescript && typescript.isManagedFile"
618 619 620
        },
        {
          "command": "typescript.reloadProjects",
621
          "when": "editorLangId == typescriptreact && typescript.isManagedFile"
622 623 624
        },
        {
          "command": "javascript.reloadProjects",
625
          "when": "editorLangId == javascript && typescript.isManagedFile"
626 627 628
        },
        {
          "command": "javascript.reloadProjects",
629
          "when": "editorLangId == javascriptreact && typescript.isManagedFile"
630 631 632
        },
        {
          "command": "typescript.goToProjectConfig",
633
          "when": "editorLangId == typescript && typescript.isManagedFile"
634 635 636 637 638 639
        },
        {
          "command": "typescript.goToProjectConfig",
          "when": "editorLangId == typescriptreact"
        },
        {
640
          "command": "javascript.goToProjectConfig",
641
          "when": "editorLangId == javascript && typescript.isManagedFile"
642 643
        },
        {
644
          "command": "javascript.goToProjectConfig",
645
          "when": "editorLangId == javascriptreact && typescript.isManagedFile"
646 647 648 649 650 651 652 653 654 655 656 657
        },
        {
          "command": "typescript.selectTypeScriptVersion",
          "when": "typescript.isManagedFile"
        },
        {
          "command": "typescript.openTsServerLog",
          "when": "typescript.isManagedFile"
        },
        {
          "command": "typescript.restartTsServer",
          "when": "typescript.isManagedFile"
658 659 660
        }
      ]
    },
661 662 663 664 665 666 667 668
    "breakpoints": [
      {
        "language": "typescript"
      },
      {
        "language": "typescriptreact"
      }
    ],
D
Dirk Baeumer 已提交
669
    "taskDefinitions": [
D
Dirk Baeumer 已提交
670 671
      {
        "type": "typescript",
672 673 674
        "required": [
          "tsconfig"
        ],
D
Dirk Baeumer 已提交
675 676 677
        "properties": {
          "tsconfig": {
            "type": "string",
678
            "description": "%taskDefinition.tsconfig.description%"
679 680 681
          },
          "option": {
            "type": "string"
D
Dirk Baeumer 已提交
682 683 684 685
          }
        }
      }
    ],
686 687 688
    "problemPatterns": [
      {
        "name": "tsc",
689
        "regexp": "^([^\\s].*)[\\(:](\\d+)[,:](\\d+)(?:\\):\\s+|\\s+-\\s+)(error|warning|info)\\s+(TS\\d+)\\s*:\\s*(.*)$",
690
        "file": 1,
691 692 693 694 695
        "line": 2,
        "column": 3,
        "severity": 4,
        "code": 5,
        "message": 6
696 697 698 699 700
      }
    ],
    "problemMatchers": [
      {
        "name": "tsc",
701
        "label": "%typescript.problemMatchers.tsc.label%",
702
        "owner": "typescript",
703
        "source": "ts",
704
        "applyTo": "closedDocuments",
J
Johannes Rieken 已提交
705 706 707 708 709
        "fileLocation": [
          "relative",
          "${cwd}"
        ],
        "pattern": "$tsc"
710 711 712
      },
      {
        "name": "tsc-watch",
713
        "label": "%typescript.problemMatchers.tscWatch.label%",
714
        "owner": "typescript",
715
        "source": "ts",
716
        "applyTo": "closedDocuments",
J
Johannes Rieken 已提交
717 718 719 720
        "fileLocation": [
          "relative",
          "${cwd}"
        ],
721
        "pattern": "$tsc",
722
        "background": {
723 724
          "activeOnStart": true,
          "beginsPattern": {
725
            "regexp": "^\\s*(?:message TS6032:|\\[?\\d{1,2}:\\d{1,2}:\\d{1,2}(?: AM| PM| a\\.m\\.| p\\.m\\.)?(?:\\]| -)) File change detected\\. Starting incremental compilation\\.\\.\\."
726 727
          },
          "endsPattern": {
728
            "regexp": "^\\s*(?:message TS6042:|\\[?\\d{1,2}:\\d{1,2}:\\d{1,2}(?: AM| PM| a\\.m\\.| p\\.m\\.)?(?:\\]| -)) (?:Compilation complete\\.|Found \\d+ errors?\\.) Watching for file changes\\."
729 730 731
          }
        }
      }
732 733
    ]
  }
734
}