Яку версію TypeScript використовує Visual Studio Code? Як її оновити?


111

Як я можу сказати, яка версія TypeScript використовується в коді Visual Studio? Зокрема, я використовував TypeScript 1.8.10 та VSCode 1.4.0. Я вперше оновив VSCode до останньої версії, яка була 1.5.3. Але перевіривши з командного рядка, я побачив, що моя версія TypeScript все ще була 1.8.10. Тому я оновив TypeScript з командного рядка, і він тепер 2.0.3.

Чи є спосіб точно сказати, чи використовує Visual Studio Code версію 2.0.3?

Чи існує метод оновлення коду Visual Studio, який автоматично оновлює TypeScript до останньої випущеної версії, чи оновлення TypeScript потрібно проводити самостійно?


tsc - повернення ??
Хакерман

Я вважаю, що це налаштування файлу проекту. Якщо ви відкриєте файл проекту (наприклад, файл .csproj) із блокнота, ви можете видалити елемент версії typecript, який повинен змусити проект використовувати останню версію, встановлену на ПК.
Ігор

@Hackerman Ні, це просто показує вам глобальну версію TSC.
Фабіан Лауер

Відповіді:


191

Чи можна оновити TypeScript автоматично?

Код VS постачається з останньою стабільною версією TypeScript.

- від документів VS Code

Це означає, що немає способу автоматичного оновлення версії TypeScript, що використовується VS-кодом. Однак ви можете змінити тип TypeS Версія VS Code, змінивши налаштування або налаштування робочої області.


Яку версію TypeScript використовує VS-код?

Коли ви відкриваєте файл TypeScript, код VS повинен відображати версію TypeScript у рядку стану в нижній правій частині екрана:

Версія коду VS Версія TypeScript


Зміна глобальної версії TypeScript

  1. Наприклад, встановіть бажану версію TypeScript, наприклад, у всьому світі npm install -g typescript@2.0.5
  2. Відкрити налаштування користувача VS Code ( F1> Open User Settings)
  3. Оновлення / вставка "typescript.tsdk": "{your_global_npm_path}/typescript/lib"ви можете дізнатися {your_global_npm_path}, ввівши npm root -g

Тепер усі проекти, які ви відкриваєте за допомогою коду VS, використовуватимуть цю версію TypeScript, якщо, звичайно, немає налаштування робочої області, яке це перекриває.


Зміна локальної версії TypeScript

  1. Відкрийте проект у Кодексі VS
  2. Наприклад, встановіть потрібну версію TypeScript, наприклад, локально npm install --save-dev typescript@2.0.5

    --save-devОновить проект package.json, додавши версію машинопису ви встановили в якості devDependency.

  3. Відкрити налаштування робочої області коду VS ( F1> Open Workspace Settings)

  4. Оновлення / Вставка "typescript.tsdk": "./node_modules/typescript/lib"

    Тепер тільки проект, у який ви встановили цю версію TypeScript, буде використовувати цю версію TypeScript, глобальна установка буде ігнорована кодом VS в цьому проекті.

  5. Додавши typescript.tsdkзапис, тоді також потрібно використовувати інтерфейс VS Code для вибору нової версії:

    • Клацніть на версії, відображеній у колонтитулі коду VS:

      проти кодового колонтитулу

    • Виберіть його в інтерфейсі користувача:

      виберіть версію ts в інтерфейсі користувача


Дивитися також:


3
FYI Я в Windows, мені довелося прокласти повний шлях до моєї папки з модулями глобального вузла - C:\\Users\\myname\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib. Ви можете двічі перевірити своє npm root -gв командному рядку. В іншому випадку це, мабуть, має бути позначено як відповідь @Richard Fuhr
Коді

Додавання цього параметра призвело до того, що візуальний код студії повністю відключить всі функції мови друкарських текстів. Це не відповідь, яку ви шукаєте.
BentOnCoding

3
@BentOnCoding Це нічого не відключить. Перевірте помилки друку на tsdkшляху та переконайтеся, що TypeScript встановлений у вашій репо-репортажі. Також 11 інших людей вважають це досить правильним, щоб підняти заяву ;-)
Фабіан Лауер

Тепер, здається, VS Code автоматично отримує оновлення версії TypeScript автоматично, тому відповідь тут більше не може бути поточною.
Міккі Сегал

1
Цей параметр замість цього може бути застосований до налаштування робочої області, щоб проект, який спеціально орієнтований на певну версію, може бути налаштований таким чином. Також ПРИМІТКА, ви не можете орієнтуватися на встановлені MSI версії, вони не сумісні. Дивіться сайт: code.visualstudio.com/docs/typescript/typescript-compiling
Itanex

19

Visual Studio Code постачається з власною стабільною версією TypeScript, але ви можете перейти на більш нову версію, як описано в їхніх документах

Код VS постачається з останньою стабільною версією TypeScript. Якщо ви хочете використовувати новішу версію TypeScript, ви можете визначити налаштування typecript.tsdk ( Файл > Налаштування > Налаштування користувача / робочої області ), що вказує на каталог, що містить файл TypeScript tsserver.js .
...
Наприклад:

{
   "typescript.tsdk": "node_modules/typescript/lib"
}

Мій tsc --version - 2.0.3, але не можу знайти файл tsserver.js на моєму Mac, тому не можу змінити налаштування у VSCode
Річард Фур

Додавання цього параметра призвело до того, що візуальний код студії повністю відключить всі функції мови друкарських текстів. Це не відповідь, яку ви шукаєте.
BentOnCoding

Я думаю, що це описано більш чітко тут gist.github.com/tonysneed/bb6d442103a057578a9498f106e45ac5
Gregor Schmitz

17

Чи є спосіб точно сказати, чи використовує Visual Studio Code версію 2.0.3?

Відкрийте файл TypeScript у коді Visual Studio і в нижньому правому куті ви побачите версію TypeScript, яку він використовує:

введіть тут опис зображення

Чи існує метод оновлення коду Visual Studio, який автоматично оновлює TypeScript до останньої випущеної версії, чи оновлення TypeScript потрібно проводити самостійно?

Як я це робив, це явно сказати Visual Studio Code папці, де встановлений ваш TypeScript npm-модуль. Я в Windows, тому після запуску команди npm для встановлення TypeScript ( npm install -g typescript) вона встановить її в цю папку:

C:\Users\username\AppData\Roaming\npm\node_modules\typescript\

Тому вам потрібно сказати Visual Studio Code, щоб використовувати libпапку вашої установки TypeScript npm. Ви робите це:

  1. Відкрийте налаштування коду VS (Файл -> Налаштування -> Налаштування)

  2. Пошук typescript.tsdkналаштувань введіть тут опис зображення

  3. Знайти , де НПМ встановлений машинопис з: npm list -g typescript. У моєму випадку воно повернулосяC:\Users\username\AppData\Roaming\npm

  4. Перевизначте значення typescript.tsdkпараметра на: C:\\Users\\username\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib Зверніть увагу на використання подвійних нахилів на зворотному напрямку, щоб правильно вийшов рядок з косою рисою назад.

  5. Підтвердьте, що VS-код використовує npm-версію TypeScript для інтелігенції, відкривши файл TypeScript, натиснувши номер версії TypeScript внизу праворуч і побачивши у вікні завдання, що VS-код завантажує TypeScript з каталогу, визначеного на кроці 4:

введіть тут опис зображення

  1. Переконайтесь, що VS Code використовує правильну версію TypeScript для компіляції, перейшовши в цю папку та змінивши ім’я файлу:

C: \ Користувачі \ ім'я користувача \ AppData \ Роумінг \ npm \ tsc.cmd (щось подібне до tsc1.cmd)

Тепер спробуйте створити код VS (Завдання -> Запустити завдання -> tsc: build - tsconfig.json), і ви отримаєте це повідомлення про помилку у вікні терміналу коду VS:

'tsc' is not recognized as an internal or external command, operable program or batch file.
The terminal process terminated with exit code: 1
  1. Змініть файл назад на tsc.cmd, і тепер ви зможете створити та мати Intellisense у коді VS для глобально встановленого пакету вузлів TypeScript

2
Чому це не було редагуванням відповіді, в якому вже було 99% цієї інформації?
SgtPooki

Напевно, ми ніколи не дізнаємось
Денні

4

На нижній панелі ви повинні побачити номер версії:

введіть тут опис зображення

Якщо ви натиснете на номер (2.4.0 вище), вам буде запропоновано вибрати варіант, який ви хочете використовувати:

введіть тут опис зображення

Якщо ви не бачите потрібної версії, це означає, що вона, ймовірно, не встановлена, і вам доведеться її встановити.

npm install -g typescript@2.7.2

Замініть 2.7.2версію, яку ви хочете встановити.


1

Хоча я не міг знайти файл tsserver.js, коли я використовував Spotlight на своєму Mac, я спробував знову використовувати mdfind, і я виявив, що його місцезнаходження "/ usr / local / lib / node_modules / typecript / lib /"

Тому я використовував цей шлях під час редагування моїх налаштувань робочої області в settings.json

Зараз я використовую останню версію TypeScript, і VSCode каже мені, що я використовую останню версію.


0

У мене була схожа проблема, і тепер мені вдалося отримати оновлену версію TypeScript, змінивши змінні середовища в моїй системі. У моєму випадку нам потрібна версія TypeScript, що перевищує 2. Але я зміг використовувати лише версію 1.8.3. По-перше, я зайшов до змінних мого системного середовища і перевірив змінну шляху. Там я знайшов посилання на TypeScript версії 1.8.3.

C: \ Програмні файли (x86) \ Microsoft SDKs \ TypeScript \ 1.8.3 \

Коли я перевірив батьківський каталог, це була також найвища версія, встановлена ​​в цьому каталозі. Я б подумав, встановивши останню версію на глобальному рівні, що я побачив би це і тут, але його немає. Версія, яку ви бачите тут, - це версія, встановлена ​​за допомогою Visual Studio (не візуальний код студії).

Тому я зайшов у Visual Studio і оновив бібліотеку TypeScript до останньої версії за допомогою параметрів> Розширення та оновлення. Там я шукав останню версію TypeScript і встановлював її.

Це зробило нову версію доступною у згаданому раніше батьківському каталозі. Потім я змінив змінну шляху на:

C: \ Програмні файли (x86) \ Microsoft SDKs \ TypeScript \ 2.2 \

Коли я зараз відкриваю VS-код і набираю tsc -v, я бачу, що я використовую останню версію. Більше немає повідомлення про невідповідність і т. Д. Сподіваюсь, це допоможе вам трохи піти.


0

Пакет Typescript має компілятор та мовну службу. VScode постачається з мовою служби Typescript, а не з компілятором. Ви можете бачити мовну службу внизу праворуч, як показують інші відповіді, але ви не бачите, яка версія компілятора використовується.

Ви можете мати різні версії для компілятора та мовної служби.


0

Щоб автоматично використовувати версію Typescript, встановлену у вашій робочій області node_modules, без необхідності конфігурувати її щоразу, коли ви налаштовуєте нову робочу область, ви можете встановити параметр Typescript за замовчуванням у User Settings JSON ( не Workspace ) для використання відносного шляху:

{
    // ... other User settings
    "typescript.tsdk": "./node_modules/typescript/lib"
}

Тепер, коли ви запускаєте команду "Вибрати версію типового сценарію ...", "Версія коду VS" завжди буде такою ж, як і "Версія робочої області":

Виберіть команду "Вибрати версію Typescript ..."

Єдиним потенційним недоліком цього є те, що це означає, що вам завжди потрібен Typescript, встановлений у робочій області, в якій ви працюєте. Хоча, якщо ви пишете Typescript куди завгодно, я думаю, що це розумне очікування.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.