# TypeScript

> **TL;DR**
> `File | Settings | Languages & Frameworks | TypeScript` for Windows and Linux
>
>
>
> `IntelliJ IDEA | Settings | Languages & Frameworks | TypeScript` for macOS
>
>
>
> `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) ![the Settings icon](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.settings.svg)
>
>
>
> Required plugin:
>
>
>
> `JavaScript and TypeScript` -    the plugin is bundled with IntelliJ IDEA and enabled by default.

> **Warning:**
> The page is available only when the JavaScript and TypeScript plugin is enabled on the Settings | Plugins page as described in [Managing
> plugins](managing-plugins.html).

## Node.js runtime

In this field, specify the Node.js runtime to use.

If you choose the Project alias, IntelliJ IDEA will automatically use the project default interpreter from the Node runtime field on the [JavaScript Runtime](javascript-runtime.html) page . In most cases, IntelliJ IDEA detects the project default runtime and fills in the field itself.

You can also choose another configured local or remote interpreter or click ![the Browse button](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.general.ellipsis.svg) and configure a new one.

## TypeScript

In this field,  specify the version of the TypeScript to use (IntelliJ IDEA displays the currently chosen version).

* By default, the `typescript` package from the project's `node_modules` folder is used.

* Bundled: choose this option to use the `typescript` package that is shipped with IntelliJ IDEA without attempting to find another one.

* Select: choose this option to use a custom `typescript` package instead of the one bundled with IntelliJ IDEA. In the dialog that opens, choose the path to the relevant package.

* If your project package manager is [Yarn 2](https://yarnpkg.com/getting-started), you have to use the `typescript` package installed via Yarn 2. In this case, `yarn:package.json:typescript` is by default selected. Learn more about package managers from [npm and Yarn](installing-and-removing-external-software-using-node-package-manager.html#ws_npm_yarn_configure_package_manager).

## TypeScript language service

Select this checkbox to get native support from the [TypeScript language service](https://github.com/Microsoft/TypeScript/wiki/Using-the-Language-Service-API) according to the up-to-date specifications. As a result:

* Syntax and error highlighting is based on the annotations from the TypeScript language service.

* Completion lists contain both suggestions from the TypeScript language service and suggestions calculated by IntelliJ IDEA.

* TypeScript code is compiled into JavaScript.

> **Tip:**
> By default, the TypeScript Language Service checkbox is selected.

| Item | Description |
| --- | --- |
|     Show project errors     |      By default, this checkbox is selected and the TypeScript language service checks the code across the entire project. The detected errors are listed in the Project Errors tab of the [Problems tool window](problems-tool-window.html) grouped by files where they occurred.         To avoid performance issues, clear the Show project errors checkbox so the TypeScript language service checks files only when you open them. The Project Errors tab will then list the errors that are detected only in the files that you have already opened.      |
|     Show suggestions     |                   By default, this checkbox is selected and IntelliJ IDEA shows potential problems that the TypeScript language service detects in your code in addition to actual errors.            Show suggestions is on:    ![Show suggestions is enabled](https://resources.jetbrains.com.cn/help/img/idea/2026.2/typescript_settings_show_suggestions_on.png)   Show suggestions is off:    ![Show suggestions is disabled](https://resources.jetbrains.com.cn/help/img/idea/2026.2/typescript_settings_show_suggestions_off.png)    |
|     Enable service-powered type engine     |       Select this checkbox to evaluate types of symbols based on the data from the TypeScript Compiler.          By default, the checkbox is cleared, so type evaluation, resolution, code inspections and refactorings are based on the type information from the IntelliJ IDEA internal TypeScript engine.       This default behavior may result in performance issues and in bugs in type resolution because the type evaluation algorithm that the IntelliJ IDEA internal TypeScript engine uses differs from the algorithm of the TypeScript Compiler. Selecting the checkbox may help avoid these problems.       > **Note:** > Some of the code highlighting and completion are always retrieved from the TypeScript language service if the TypeScript Language Service checkbox is selected, no matter whether the Enable service-powered type engine checkbox is selected or cleared.    |
|    Recompile on changes    |      * When this checkbox is selected, the compiler "wakes up" upon any change to a TypeScript file.    * When this checkbox is cleared, the compiler ignores changes to TypeScript files.    |
|  Options  |    In this field,  specify the command-line options to be passed to the TypeScript language service when the `tsconfig.json` file is not found. See the list of acceptable options at [TSC arguments](http://www.typescriptlang.org/docs/handbook/compiler-options.html). Note that the `-w` or `--watch` (Watch input files) option is irrelevant.     |

> **Tip:**
> You can enhance completion in JavaScript files with suggestions from the TypeScript language service. To do that, add `'allowJS' : true` to your `jsconfig.json` or `tsconfig.json` file.  Learn more from [Code completion](auto-completing-code.html) and [Configure JavaScript libraries](configuring-javascript-libraries.html).

## See also

### Procedures

[TypeScript](typescript-support.html)

