├── .gitignore
├── README.md
├── SECURITY.md
├── articles
├── build
│ ├── index.md
│ ├── nuget.md
│ └── tsc.md
├── configuration
│ ├── index.md
│ ├── msbuild.md
│ ├── tsconfig.md
│ └── versioning.md
├── debugging
│ ├── clientSideDebugging.md
│ ├── index.md
│ └── sourcemaps.md
├── editor
│ ├── formatting.md
│ ├── index.md
│ ├── intellisense.md
│ ├── linting.md
│ ├── lists.md
│ ├── refactoring.md
│ └── test.js
├── frameworks
│ ├── angular.md
│ ├── gulpwebpack.md
│ ├── index.md
│ ├── jsx.md
│ └── vue.md
├── index-2019.md
├── index.md
├── nodejs
│ ├── azure.md
│ ├── index.md
│ ├── interactivewindow.md
│ ├── npm.md
│ ├── requirements.md
│ ├── taskexplorer.md
│ └── unittesting.md
├── projects
│ ├── aspnet
│ │ ├── aspnetclassic.md
│ │ ├── aspnetcore.md
│ │ └── index.md
│ ├── cordova.md
│ ├── index.md
│ ├── nodejs.md
│ ├── openfolder.md
│ └── uwp.md
├── toc.yml
├── troubleshooting
│ ├── diagnostics.md
│ ├── editorProblems.md
│ ├── index.md
│ ├── newtonsoft.md
│ ├── resourceProblems.md
│ └── tsconfigtypewarning.md
└── types
│ ├── allowjs.md
│ ├── ata.md
│ ├── attypes.md
│ ├── index.md
│ └── jsdoc.md
├── docfx.json
├── docs
├── README.html
├── articles
│ ├── build
│ │ ├── index.html
│ │ ├── nuget.html
│ │ └── tsc.html
│ ├── configuration
│ │ ├── index.html
│ │ ├── msbuild.html
│ │ ├── tsconfig.html
│ │ └── versioning.html
│ ├── debugging
│ │ ├── clientSideDebugging.html
│ │ ├── index.html
│ │ └── sourcemaps.html
│ ├── editor
│ │ ├── formatting.html
│ │ ├── index.html
│ │ ├── intellisense.html
│ │ ├── linting.html
│ │ ├── lists.html
│ │ └── refactoring.html
│ ├── frameworks
│ │ ├── angular.html
│ │ ├── gulpwebpack.html
│ │ ├── index.html
│ │ ├── jsx.html
│ │ └── vue.html
│ ├── index.html
│ ├── nodejs
│ │ ├── azure.html
│ │ ├── index.html
│ │ ├── interactivewindow.html
│ │ ├── npm.html
│ │ ├── requirements.html
│ │ ├── taskexplorer.html
│ │ └── unittesting.html
│ ├── projects
│ │ ├── aspnet
│ │ │ ├── aspnetclassic.html
│ │ │ ├── aspnetcore.html
│ │ │ └── index.html
│ │ ├── cordova.html
│ │ ├── index.html
│ │ ├── nodejs.html
│ │ ├── openfolder.html
│ │ └── uwp.html
│ ├── toc.html
│ ├── troubleshooting
│ │ ├── index.html
│ │ ├── jsdisabled.html
│ │ └── newtonsoft.html
│ └── types
│ │ ├── allowjs.html
│ │ ├── ata.html
│ │ ├── attypes.html
│ │ ├── index.html
│ │ └── jsdoc.html
├── favicon.ico
├── fonts
│ ├── glyphicons-halflings-regular.eot
│ ├── glyphicons-halflings-regular.svg
│ ├── glyphicons-halflings-regular.ttf
│ ├── glyphicons-halflings-regular.woff
│ └── glyphicons-halflings-regular.woff2
├── images
│ ├── NewtonSoftPath.png
│ ├── installation-nodejs-options.png
│ ├── installation-nodejs-workload.png
│ ├── installation-vs-launch.png
│ ├── jsdoc-param.png
│ ├── jsdoc-quickinfo.png
│ ├── jslsdisabledpopup.png
│ ├── linux-appservice
│ │ ├── changes-detected.png
│ │ ├── choose-source.png
│ │ ├── create-appservice-annotated.png
│ │ ├── create-appservice.png
│ │ ├── deployment-options-sync.png
│ │ ├── deployment-options.png
│ │ ├── github-get-started.png
│ │ ├── github-publish.png
│ │ ├── repo-and-branch.png
│ │ ├── script-generator-args.png
│ │ └── ts-express-app.png
│ ├── mygetAddSource.PNG
│ ├── mygetMSBuild.PNG
│ ├── node
│ │ ├── UnitTestsDiscoveryMocha.png
│ │ ├── UnitTestsFrameworkMocha.png
│ │ ├── extraneous-npm.png
│ │ ├── installation-nodejs-options.png
│ │ ├── installation-nodejs-workload.png
│ │ ├── installation-vs-launch.png
│ │ ├── installed-npm.png
│ │ ├── interactivewindow.png
│ │ ├── missing-npm.png
│ │ ├── newproject-dialog.png
│ │ ├── project-interactivewindow.png
│ │ ├── search-package.png
│ │ ├── solution-explorer-install-package.png
│ │ ├── solution-explorer-npm-ctx.png
│ │ ├── solution-explorer-status.png
│ │ ├── unit-test-add-new-item.png
│ │ ├── unit-test-project-properties.png
│ │ └── viewmenu-interactivewindow.png
│ ├── nugetMSBuild.png
│ ├── taskmanager.png
│ ├── toolsoptionsproject.png
│ ├── tooltip.png
│ ├── virtualproject.png
│ └── virtualprojects.png
├── index.html
├── logo.svg
├── manifest.json
├── search-stopwords.json
├── styles
│ ├── docfx.css
│ ├── docfx.js
│ ├── docfx.vendor.css
│ ├── docfx.vendor.js
│ ├── lunr.js
│ ├── lunr.min.js
│ ├── main.css
│ ├── main.js
│ └── search-worker.js
├── toc.html
└── xrefmap.yml
├── images
├── NewtonSoftPath.png
├── intellisense_completion.png
├── intellisensesighelp.png
├── jsdoc-param.png
├── jsdoc-quickinfo.png
├── jslsdisabledpopup.png
├── linux-appservice
│ ├── changes-detected.png
│ ├── choose-source.png
│ ├── create-appservice-annotated.png
│ ├── create-appservice.png
│ ├── deployment-options-sync.png
│ ├── deployment-options.png
│ ├── github-get-started.png
│ ├── github-publish.png
│ ├── repo-and-branch.png
│ ├── script-generator-args.png
│ └── ts-express-app.png
├── mygetAddSource.PNG
├── mygetMSBuild.PNG
├── node
│ ├── UnitTestsDiscoveryMocha.png
│ ├── UnitTestsFrameworkMocha.png
│ ├── extraneous-npm.png
│ ├── installation-nodejs-options.png
│ ├── installation-nodejs-workload.png
│ ├── installation-vs-launch.png
│ ├── installed-npm.png
│ ├── interactivewindow.png
│ ├── missing-npm.png
│ ├── newproject-dialog.png
│ ├── project-interactivewindow.png
│ ├── search-package.png
│ ├── solution-explorer-install-package.png
│ ├── solution-explorer-npm-ctx.png
│ ├── solution-explorer-status.png
│ ├── unit-test-add-new-item.png
│ ├── unit-test-project-properties.png
│ └── viewmenu-interactivewindow.png
├── nugetMSBuild.png
├── taskmanager.png
├── toolsoptionsproject.png
├── tooltip.png
├── virtualproject.png
└── virtualprojects.png
├── index.md
└── toc.yml
/.gitignore:
--------------------------------------------------------------------------------
1 | /_site/
2 | /obj/
3 | /.vs/
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # JavaScript & TypeScript documentation for Visual Studio
2 |
3 | This repository contains documentation for using the JavaScript and TypeScript languages in VS 2017 and 2019.
4 |
5 | - Overview
6 | - [Visual Studio 2019](articles/index-2019.md)
7 | - [Visual Studio 2017](articles/index.md)
8 |
9 |
10 | - Build
11 | - [Building via Nuget](articles/build/nuget.md)
12 | - [Building via tsc](articles/build/tsc.md)
13 |
14 | - Configuration
15 | - [MSBuild Configuration](articles/configuration/msbuild.md)
16 | - [Using tsconfig.json](articles/configuration/tsconfig.md)
17 |
18 | - Editor
19 | - [Formatting](articles/editor/formatting.md)
20 | - [Linting](articles/editor/linting.md)
21 | - [Refactoring and Quick Fixes](articles/editor/refactoring.md)
22 | - [IntelliSense](articles/editor/intellisense.md)
23 |
24 | - Troubleshooting
25 | - [Editor problems](articles/troubleshooting/editorProblems.md)
26 | - [CPU and memory consumption](articles/troubleshooting/resourceProblems.md)
27 | - [Missing or unexpected errors](articles/troubleshooting/diagnostics.md)
28 | - [Newtonsoft.json versioning](articles/troubleshooting/newtonsoft.md)
29 | - [Gathering more information](articles/troubleshooting/index.md)
30 |
31 | - FAQ
32 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## Security
4 |
5 | Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).
6 |
7 | If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below.
8 |
9 | ## Reporting Security Issues
10 |
11 | **Please do not report security vulnerabilities through public GitHub issues.**
12 |
13 | Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report).
14 |
15 | If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey).
16 |
17 | You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc).
18 |
19 | Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
20 |
21 | * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
22 | * Full paths of source file(s) related to the manifestation of the issue
23 | * The location of the affected source code (tag/branch/commit or direct URL)
24 | * Any special configuration required to reproduce the issue
25 | * Step-by-step instructions to reproduce the issue
26 | * Proof-of-concept or exploit code (if possible)
27 | * Impact of the issue, including how an attacker might exploit the issue
28 |
29 | This information will help us triage your report more quickly.
30 |
31 | If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs.
32 |
33 | ## Preferred Languages
34 |
35 | We prefer all communications to be in English.
36 |
37 | ## Policy
38 |
39 | Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd).
40 |
41 |
42 |
--------------------------------------------------------------------------------
/articles/build/index.md:
--------------------------------------------------------------------------------
1 | # Building
2 |
3 | TODO
4 |
--------------------------------------------------------------------------------
/articles/build/nuget.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Building via NuGet
3 | author: uniqueiniquity
4 | ms.author: belichtm
5 | ms.date: 12/1/2017
6 | ms.topic: article
7 | ms.prod: .net
8 | uid: tsnuget
9 | ---
10 |
11 | # Building via NuGet
12 |
13 | As an alternative to using the TypeScript SDK with MSBuild to compile TypeScript, you can also use the TypeScript NuGet package `Microsoft.TypeScript.MSBuild`. This allows you to install a particular version of TypeScript locally to your project.
14 |
15 | > :pushpin:
16 | > One common use case for the NuGet package is for compiling TypeScript using the .NET Core CLI. Unless you are willing to hand-edit your project file to import build targets from a TypeScript SDK installation, the NuGet package is the only way to enable TypeScript compilation using .NET Core CLI commands such as `dotnet build` and `dotnet publish`.
17 |
18 | >:warning:
19 | > If you are using the NuGet package for MSBuild support for a given project, that project file must not itself import `Microsoft.TypeScript.Default.props` or `Microsoft.TypeScript.targets`.
20 | > These will be imported by the NuGet package, so including them separately could cause unintended behavior. See [Removing Default Imports](#removing-default-imports) for details on what to remove.
21 |
22 | ## Installing major releases via NuGet (https://www.nuget.org)
23 |
24 | * Right-Click -> Manage NuGet Packages
25 | * Search for `Microsoft.TypeScript.MSBuild`
26 |
27 |
28 |
29 | * Hit `Install`
30 | * When install is complete, rebuild!
31 |
32 | ## Installing nightly drops (https://www.myget.org)
33 |
34 | 1. Add a new Package Source
35 | * Go to `Tools` -> `Options` -> `NuGet Package Manager` -> `Package Sources`
36 | * Create a new Source:
37 | * Name: `TypeScript Nightly`
38 | * Source: `https://www.myget.org/F/typescript-preview/`
39 |
40 |
41 |
42 | 2. Use the new Package Source
43 | * On Project node Right-Click -> `Manage NuGet Packages`
44 | * Search for `Microsoft.TypeScript.MSBuild`
45 |
46 |
47 |
48 | * Hit `Install`
49 | * When install is complete, rebuild!
50 |
51 | ## Removing default imports
52 |
53 | * Right-Click -> `Unload Project`
54 | * Right-Click -> `Edit `
55 | * Remove references to
56 |
57 | * `Microsoft.TypeScript.Default.props`
58 |
59 | The import should look something like:
60 |
61 | ```XML
62 |
65 | ```
66 |
67 | * `Microsoft.TypeScript.targets`
68 |
69 | The import should look something like:
70 |
71 | ```XML
72 |
75 | ```
76 |
77 | ## Package structure details
78 |
79 | `Microsoft.TypeScript.MSBuild.nupkg` contains two main folders:
80 |
81 | * `build` folder
82 |
83 | Two files are located in this folder.
84 | Both are entry points - for the main TypeScript target file and props file respectively.
85 |
86 | 1. Microsoft.TypeScript.MSBuild.targets
87 |
88 | This file sets variables that specify the run-time platform, such as a path to `TypeScript.Tasks.dll`, before importing `Microsoft.TypeScript.targets` from the `tools` folder.
89 |
90 | 2. Microsoft.TypeScript.MSBuild.props
91 |
92 | This file imports `Microsoft.TypeScript.Default.props` from the `tools` folder and sets properties indicating that the build has been initiated through NuGet.
93 |
94 | * `tools` folder
95 |
96 | Versions prior to 2.3 only contain a tsc folder. `Microsoft.TypeScript.targets` and `TypeScript.Tasks.dll` are located at the root level.
97 |
98 | In versions 2.3 and later, the root level contains `Microsoft.TypeScript.targets` and `Microsoft.TypeScript.Default.props`. See [MSBuild Configuration](xref:msbuild) for more details on these files.
99 |
100 | Additionally, the folder contains three subfolders:
101 |
102 | 1. `net45`
103 |
104 | This folder contains `TypeScript.Tasks.dll` and other DLLs on which it depends.
105 | When building a project on a Windows platform, MSBuild uses the DLLs from this folder.
106 |
107 | 2. `netstandard1.3`
108 |
109 | This folder contains another version of `TypeScript.Tasks.dll`, which is used when building projects on a non-Windows machine.
110 |
111 | 3. `tsc`
112 |
113 | This folder contains `tsc.js`, `tsserver.js` and all dependency files required to run them as node scripts.
114 | > :pushpin:
115 | > If Visual Studio is installed then the `node.exe` bundled with it will automatically be picked up. Otherwise Node.js must be installed on the machine.
116 |
117 | Versions prior to 3.1 contained a `tsc.exe` executable to run the compilation. In version 3.1 this was removed in favor of using `node.exe`.
118 |
--------------------------------------------------------------------------------
/articles/build/tsc.md:
--------------------------------------------------------------------------------
1 | # Building via tsc
2 |
3 | TODO
4 |
--------------------------------------------------------------------------------
/articles/configuration/index.md:
--------------------------------------------------------------------------------
1 | # Project configuration
2 |
3 | TODO: Details configured, external, and inferred project/context types.
4 |
5 | ## External projects
6 | The VS/MSBuild default
7 |
8 | ```xml
9 | 2.5
10 | ```
11 |
12 | ## Configured projects
13 | Just add a `tsconfig.json` file, e.g.
14 |
15 | ```json
16 | {
17 | "compilerOptions": {
18 | "target": "es5",
19 | "module": "commonjs"
20 | }
21 | }
22 | ```
23 |
24 | ## Inferred projects
25 | The leftovers will appear in the Virtual Projects node as:
26 |
27 |
28 |
--------------------------------------------------------------------------------
/articles/configuration/msbuild.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: MSBuild Configuration
3 | author: uniqueiniquity
4 | ms.author: belichtm
5 | ms.date: 11/13/2017
6 | ms.topic: article
7 | ms.prod: .net
8 | uid: msbuild
9 | ---
10 |
11 | # MSBuild Configuration
12 |
13 | ## Props and targets
14 |
15 | There are two different sources of information that tell MSBuild how to handle TypeScript. The first, `Microsoft.TypeScript.Default.props`, establishes some default TypeScript compilation settings. The second, `Microsoft.TypeScript.targets`, gives instructions on how to handle TypeScript files as part of the building and cleaning processes. To include these in your project, you will need to (in most cases) import `Microsoft.TypeScript.Default.props` at the beginning of your project file and `Microsoft.TypeScript.targets` at the end, as shown [in the TypeScript handbook](http://www.typescriptlang.org/docs/handbook/integrating-with-build-tools.html#msbuild).
16 |
17 | > :pushpin:
18 | > ASP.NET Core projects implicitly include these files, so an ASP.NET Core project file will not need to import them.
19 |
20 | ## The `TypeScriptToolsVersion` property
21 | Since a particular machine may have multiple versions of TypeScript installed, MSBuild allows you to set the `TypeScriptToolsVersion` property in your project file to specify which version to use, as shown in the example below. If this property is not set, MSBuild defaults to using the newest version of TypeScript that is installed. However, if you are using the TypeScript NuGet package instead, its version will override any setting in the project file. This setting must occur before the import of `Microsoft.TypeScript.targets` to properly work.
22 | ```xml
23 | 2.5
24 | ```
25 |
26 | ## Input files
27 | There are two ways of including TypeScript files in the compilation: either using a tsconfig.json file or the `TypeScriptCompile` MSBuild item type.
28 | ### With TSConfig
29 | One option for allowing MSBuild to recognize what TypeScript files are part of your project is by way of a tsconfig.json file. This configuration file can be registered for build configuration by being explicitly associated with your .csproj in the TypeScriptCompile or Content item lists, as shown in the example below. Otherwise, if your project has no items included as part of either the TypeScriptCompile or Content item lists, it can be simply included as part of the directory tree rooted at the directory containing your project file.
30 | ```xml
31 |
32 |
33 |
34 | ```
35 | Note that in the latter case, configuration files within a folder titled "node_modules", "bower_components", or "platforms" will not be considered in order to avoid duplicate symbol errors.
36 | Furthermore, note in TypeScript 3.5.1 and earlier, the Content item list must be used, as the TypeScriptCompile item list was not supported for `tsconfig.json` files.
37 |
38 | The tsconfig.json can either explicitly enumerate the input files (in the "includes" property) or it can exclude files that should not be compiled (in the "excludes" property). The file also allows you to set compile options that will override those set in the TypeScript Build page of your project's Properties. For more details, refer to [the discussion of tsconfig.json files](xref:tsconfig).
39 |
40 | ### `TypeScriptCompile` items
41 |
42 | If there is no discoverable tsconfig.json, MSBuild relies on the project file to determine what files to include. For this scenario, TypeScript files must be included using the `TypeScriptCompile` item type, as shown in the following example.
43 |
44 | ```xml
45 |
46 |
47 |
48 | ```
49 |
50 | ## Incremental build
51 |
52 | Starting with the TypeScript 2.7 SDK, we use the `Inputs` and `Outputs` attributes of certain targets, such as `CompileTypeScript` or `CompileTypeScriptWithTSConfig` to allow MSBuild to determine whether or not to skip the target. For targets that have these attributes defined, MSBuild compares the timestamps of the files specified by `Inputs` with those specified by `Outputs`. Since there is not always a one-to-one mapping between input files and output files (e.g., if `--outFile` is specified), MSBuild will rebuild all output files if at least one of the input files has been updated.
53 |
54 | ## Compilation options
55 |
56 | Similar to how the set of input files is specified, there are two ways to specify settings for the compiler. If a `tsconfig.json` exists, then it will specify the compilation settings. Otherwise, settings can be specified in the project file itself (between the imports of the props and targets files), as shown [in the TypeScript handbook](http://www.typescriptlang.org/docs/handbook/integrating-with-build-tools.html#msbuild). These settings are documented [in the handbook](http://www.typescriptlang.org/docs/handbook/compiler-options-in-msbuild.html) as well.
57 |
58 | ## Third-party build tool support
59 |
60 | If you are using a different build tool to build your project (e.g. gulp, grunt , etc.) and VS for the development and debugging experience, set `true` in your project. This will give support for editing TypeScript files but will not include them in the build process.
61 |
--------------------------------------------------------------------------------
/articles/configuration/tsconfig.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Using a tsconfig.json file
3 | author: uniqueiniquity
4 | ms.author: belichtm
5 | ms.date: 2/28/2019
6 | ms.topic: article
7 | ms.prod: .net
8 | uid: tsconfig
9 | ---
10 |
11 | # Using `tsconfig.json` for project configuration
12 |
13 | The primary documentation concerning the `tsconfig.json` file can be found [on the TypeScript website](http://www.typescriptlang.org/docs/handbook/tsconfig-json.html).
14 | There, you can find details on the file format, the available compiler options, and more.
15 | Here, we will provide some tips for using the `tsconfig.json` file that might be helpful when using TypeScript in Visual Studio.
16 |
17 | ## Configuring JavaScript using a `jsconfig.json` file
18 |
19 | Generally, you can edit JavaScript files in Visual Studio without needing a configuration file. Most of the options that are commonly used can be changed using the Visual Studio user interface. However, if you need to change one or more of the features that are not exposed, you can use a `jsconfig.json` file to configure your project. This file acts like a `tsconfig.json` file, but with some defaults that are specific to JavaScript development. In particular, these defaults are as follows:
20 |
21 | - `allowJs` is enabled
22 | - `maxNodeModuleJsDepth` is set to 2
23 | - `skipLibCheck` is enabled
24 | - `noEmit` is enabled
25 |
26 | If you have a significant number of JavaScript files in your project and are experiencing performance issues related to editing JavaScript files, it can sometimes be advantageous to use a `jsconfig.json` file to specify the source files that constitute your project (as opposed to libraries that may be checked in and included in your solution). This will limit the number of files that Visual Studio is processing and may improve performance.
27 |
28 | ## Mixed TypeScript and JavaScript projects
29 |
30 | By default, the set of files included in a project configured by a `tsconfig.json` file only includes TypeScript files. If you would also like JavaScript files to be included, then the `allowJs` option needs to be enabled. Furthermore, if you would like diagnostics to be reported in JavaScript files, then the `checkJs` option needs to be enabled.
31 |
32 | When a single project includes some source files written in TypeScript and some source files written in JavaScript, it can be a little tricky to configure.
33 | In particular, if `allowJs` is set to true and no output options are set (that is, `outFile` or `outDir`), the compiler will not be able to determine which JavaScript source files are intended to be source files and which are emitted files, and it will therefore produce an error.
34 |
35 | In this scenario, if `outDir` or `outFile` cannot be used, it is reasonable to use a `tsconfig.json` without `allowJs` enabled to configure settings for the TypeScript files, and a `jsconfig.json` file (or a `tsconfig.json` file with `allowJs` and `noEmit` enabled) to configure settings for the JavaScript files. More details on this situation can be found [here](https://github.com/Microsoft/TypeScript/wiki/FAQ#why-am-i-getting-the-error-ts5055-cannot-write-file-xxxjs-because-it-would-overwrite-input-file-when-using-javascript-files).
36 |
--------------------------------------------------------------------------------
/articles/configuration/versioning.md:
--------------------------------------------------------------------------------
1 | # TypeScript SDK versions
2 |
3 | Visual Studio 2017 contains the TypeScript SDK. The TypeScript SDK includes the TypeScript compiler, as well as the JavaScript and TypeScript language service.
4 |
5 | The following table shows the version of the TypeScript SDK that is included in each version of Visual Studio 2017.
6 |
7 | | Visual Studio 2017 Version | TypeScript SDK version |
8 | |----------------------------|------------------------|
9 | | 15.0 | 2.1 |
10 | | 15.1 | 2.1 |
11 | | 15.2 | 2.2 |
12 | | 15.3 | 2.3 |
13 | | 15.4 | 2.3 |
14 | | 15.5 | 2.5 |
15 |
16 | You can configure your Visual Studio 2017 project to use a specific version of the TypeScript compiler. For more information, see [Updating TypeScript in Visual Studio 2017](https://github.com/Microsoft/TypeScript/wiki/Updating-TypeScript-in-Visual-Studio-2017).
17 |
18 | You can install additional versions of TypeScript SDK by visiting the [TypeScript for Visual Studio 2017 download page](https://www.microsoft.com/en-us/download/details.aspx?id=55258).
19 |
--------------------------------------------------------------------------------
/articles/debugging/clientSideDebugging.md:
--------------------------------------------------------------------------------
1 | # Client-side debugging
2 |
3 | Visual Studio provides debugging support for Chrome and Internet Explorer only. It will automatically attach breakpoints to JavaScript/TypeScript and embedded scripts on HTML files.
4 |
5 | Dynamically generated files are not automatic though. See below to understand how the process works.
6 |
7 | ## Debugging JavaScript in dynamic files (using Razor)
8 |
9 | Breakpoints on files generated with Razor syntax (cshtml, vbhtml) are not automatically attached when debugging. There are two approaches you can do in order to debug this kind of files:
10 |
11 | 1. **Place the `debugger;` statement where you want to break**: This will cause the dynamic script to stop execution and start debugging immediately while being created.
12 | 1. **Load the page and open the dynamic document on Visual Studio**: You'll need to open the dynamic file while debugging, place your breakpoint and refresh the page for this one to work. Depending if you're using Chrome or Internet Explorer you'll find the file using one of the following strategies:
13 |
14 | For Chrome, go to *Solution Explorer > Script Documents > YourPageName*. **Note**: When using Chrome you might get a screen indicating no source available between `
108 |
109 |
110 |