Visual Studio Code đang sử dụng phiên bản TypeScript nào? Làm thế nào để cập nhật nó?


111

Làm cách nào để biết phiên bản TypeScript nào đang được sử dụng trong Visual Studio Code? Đặc biệt, tôi đã sử dụng TypeScript 1.8.10 và VSCode 1.4.0. Lần đầu tiên tôi cập nhật VSCode lên phiên bản mới nhất, là 1.5.3. Nhưng kiểm tra từ dòng lệnh, tôi thấy rằng phiên bản TypeScript của tôi vẫn là 1.8.10. Vì vậy, tôi đã cập nhật TypeScript từ dòng lệnh và bây giờ nó là 2.0.3.

Có cách nào để biết chắc chắn liệu Visual Studio Code có đang sử dụng phiên bản 2.0.3 không?

Có phương pháp nào để cập nhật Visual Studio Code sẽ tự động cập nhật TypeScript lên phiên bản mới nhất được phát hành hay không, hay việc cập nhật TypeScript phải được thực hiện độc lập?


tsc --version ??
Hackerman

Tôi tin rằng đó là một thiết lập tệp dự án. Nếu bạn mở tệp dự án (như tệp .csproj) bằng notepad, bạn có thể xóa phần tử phiên bản typecript sẽ buộc dự án sử dụng phiên bản mới nhất được cài đặt trên PC.
Igor

@Hackerman Không, điều đó chỉ hiển thị cho bạn phiên bản TSC toàn cầu.
Fabian Lauer

Câu trả lời:


191

TypeScript có thể được cập nhật tự động không?

VS Code đi kèm với phiên bản TypeScript ổn định gần đây.

- từ tài liệu VS Code

Điều này có nghĩa là không có cách nào để tự động nâng cấp phiên bản TypeScript được VS Code sử dụng. Tuy nhiên, bạn có thể ghi đè phiên bản TypeScript VS Code sử dụng bằng cách sửa đổi cài đặt người dùng hoặc cài đặt không gian làm việc.


VS Code đang sử dụng phiên bản TypeScript nào?

Khi bạn mở tệp TypeScript, VS Code sẽ hiển thị phiên bản TypeScript trong thanh trạng thái ở dưới cùng bên phải của màn hình:

Thanh trạng thái mã VS Phiên bản TypeScript


Thay đổi phiên bản TypeScript toàn cầu

  1. Cài đặt phiên bản TypeScript mong muốn trên toàn cầu, chẳng hạn npm install -g typescript@2.0.5
  2. Mở Cài đặt Người dùng Mã VS ( F1> Open User Settings)
  3. Cập nhật / Chèn "typescript.tsdk": "{your_global_npm_path}/typescript/lib"bạn có thể tìm ra {your_global_npm_path} bằng cách nhập npm root -g

Bây giờ tất cả các dự án bạn mở bằng VS Code sẽ sử dụng phiên bản TypeScript này, trừ khi tất nhiên có một thiết lập không gian làm việc ghi đè điều này.


Thay đổi phiên bản TypeScript cục bộ

  1. Mở dự án trong VS Code
  2. Cài đặt phiên bản TypeScript mong muốn tại địa phương, chẳng hạn npm install --save-dev typescript@2.0.5

    Các --save-devsẽ cập nhật dự án của bạn package.json, thêm phiên bản nguyên cảo bạn cài đặt như một devDependency.

  3. Mở Cài đặt không gian làm việc mã VS ( F1> Open Workspace Settings)

  4. Cập nhật / Chèn "typescript.tsdk": "./node_modules/typescript/lib"

    Bây giờ chỉ dự án bạn đã cài đặt phiên bản TypeScript này sẽ sử dụng phiên bản TypeScript đó, cài đặt toàn cầu sẽ bị VS Code bỏ qua trong dự án này.

  5. Sau khi thêm typescript.tsdkmục nhập, bạn cũng cần sử dụng giao diện người dùng VS Code để chọn phiên bản mới:

    • Nhấp vào phiên bản được hiển thị trong chân trang Mã VS:

      so với chân trang mã

    • Chọn nó trong giao diện người dùng:

      chọn phiên bản ts trong giao diện người dùng


Xem thêm:


3
FYI Tôi đang sử dụng Windows, tôi phải đặt đường dẫn đầy đủ đến thư mục mô-đun nút chung của mình - C:\\Users\\myname\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib. Bạn có thể kiểm tra kỹ của mình bằng npm root -gdòng lệnh. Nếu không, điều này có lẽ nên được đánh dấu là câu trả lời @Richard Fuhr
Cody

Việc thêm cài đặt này khiến mã studio trực quan vô hiệu hóa hoàn toàn tất cả các tính năng của ngôn ngữ sắp chữ. Đây không phải là câu trả lời bạn đang tìm kiếm.
BentOnCoding

3
@BentOnCoding Điều này sẽ không vô hiệu hóa bất cứ điều gì. Kiểm tra lỗi chính tả trong tsdkđường dẫn và đảm bảo rằng TypeScript đã được cài đặt trong repo của bạn. Ngoài ra, 11 người khác thấy điều này đủ chính xác để ủng hộ ;-)
Fabian Lauer

Hiện tại VS Code dường như đang tự động cập nhật phiên bản TypeScript, vì vậy câu trả lời ở đây có thể không còn mới nữa.
Mickey Segal

1
Thay vào đó, cài đặt này có thể được áp dụng cho cài đặt không gian làm việc để dự án nhắm mục tiêu cụ thể đến một phiên bản cụ thể có thể được định cấu hình để giữ nguyên như vậy. Ngoài ra, LƯU Ý bạn không thể nhắm mục tiêu các phiên bản đã cài đặt MSI mà chúng không tương thích. Xem trang web: code.visualstudio.com/docs/typescript/typescript-compiling
Itanex

19

Visual Studio Code đi kèm với phiên bản TypeScript ổn định của riêng nó nhưng bạn có thể chuyển sang phiên bản mới hơn như được mô tả trong tài liệu của họ

VS Code đi kèm với phiên bản TypeScript ổn định gần đây. Nếu bạn muốn sử dụng phiên bản TypeScript mới hơn, bạn có thể xác định cài đặt stylescript.tsdk ( Tệp > Tùy chọn > Cài đặt Người dùng / Không gian làm việc ) trỏ đến thư mục chứa tệp tsserver.js của TypeScript .
...
Ví dụ:

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

Tsc --version tôi là 2.0.3 nhưng không thể tìm tsserver.js tập tin trên máy Mac của tôi vì vậy không thể thay đổi thiết lập trong VSCode
Richard FUHR

Việc thêm cài đặt này khiến mã studio trực quan vô hiệu hóa hoàn toàn tất cả các tính năng của ngôn ngữ sắp chữ. Đây không phải là câu trả lời bạn đang tìm kiếm.
BentOnCoding

Tôi nghĩ rằng đây là mô tả rõ ràng hơn ở đây gist.github.com/tonysneed/bb6d442103a057578a9498f106e45ac5
Gregor Schmitz

17

Có cách nào để biết chắc chắn liệu Visual Studio Code có đang sử dụng phiên bản 2.0.3 không?

Mở tệp TypeScript trong Visual Studio Code và ở dưới cùng bên phải, bạn sẽ thấy phiên bản TypeScript mà nó đang sử dụng:

nhập mô tả hình ảnh ở đây

Có phương pháp nào để cập nhật Visual Studio Code sẽ tự động cập nhật TypeScript lên phiên bản mới nhất được phát hành hay không, hay việc cập nhật TypeScript phải được thực hiện độc lập?

Cách tôi đã làm là thông báo rõ ràng cho Visual Studio Code thư mục nơi mô-đun npm TypeScript của bạn được cài đặt. Tôi đang sử dụng Windows, vì vậy sau khi bạn chạy lệnh npm để cài đặt TypeScript ( npm install -g typescript), nó sẽ cài đặt nó trong thư mục này:

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

Vì vậy, bạn cần yêu cầu Visual Studio Code sử dụng libthư mục cài đặt TypeScript npm của bạn. Bạn làm điều này bằng cách:

  1. Mở cài đặt Mã VS (Tệp -> Tùy chọn -> Cài đặt)

  2. Tìm kiếm typescript.tsdkcài đặt nhập mô tả hình ảnh ở đây

  3. Tìm nơi NPM cài đặt nguyên cảo với: npm list -g typescript. Trong trường hợp của tôi, nó đã trở lạiC:\Users\username\AppData\Roaming\npm

  4. Ghi đè giá trị của typescript.tsdkcài đặt thành: C:\\Users\\username\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib Lưu ý sử dụng dấu gạch chéo ngược kép để có một chuỗi thoát đúng cách với dấu gạch chéo ngược.

  5. Xác nhận rằng VS Code đang sử dụng phiên bản npm của TypeScript cho intellisense bằng cách mở tệp TypeScript, nhấp vào số phiên bản TypeScript ở dưới cùng bên phải và xem trong cửa sổ tác vụ rằng VS Code đang tải TypeScript từ thư mục được chỉ định trong bước 4:

nhập mô tả hình ảnh ở đây

  1. Xác nhận rằng VS Code đang sử dụng đúng phiên bản TypeScript để biên dịch bằng cách đi tới thư mục này và thay đổi tên của tệp:

C: \ Users \ tên người dùng \ AppData \ Roaming \ npm \ tsc.cmd (với một cái gì đó như tsc1.cmd)

Bây giờ hãy thử xây dựng trong VS Code (Nhiệm vụ -> Chạy Nhiệm vụ -> tsc: build - tsconfig.json) và bạn sẽ nhận được thông báo lỗi này trong cửa sổ đầu cuối Mã 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. Thay đổi tệp trở lại tsc.cmd và bây giờ bạn sẽ có thể xây dựng và có Intellisense trong Mã VS cho gói nút TypeScript được cài đặt toàn cầu

2
Tại sao đây không phải là bản chỉnh sửa câu trả lời đã có 99% thông tin này?
SgtPooki

Tôi đoán chúng ta sẽ không bao giờ biết
Denny

4

Bạn sẽ thấy số phiên bản được liệt kê trên thanh dưới cùng:

nhập mô tả hình ảnh ở đây

Nếu bạn nhấp vào số (2.4.0 ở trên), bạn sẽ thấy một tùy chọn để chọn phiên bản bạn muốn sử dụng:

nhập mô tả hình ảnh ở đây

Nếu bạn không thấy phiên bản mình muốn, điều đó có nghĩa là nó có thể chưa được cài đặt và bạn phải cài đặt nó.

npm install -g typescript@2.7.2

Thay thế 2.7.2bằng phiên bản bạn muốn cài đặt.


1

Mặc dù tôi không thể tìm thấy tệp tsserver.js khi sử dụng Spotlight trên máy Mac của mình, nhưng tôi đã thử lại bằng cách sử dụng mdfind và tôi thấy vị trí của nó là "/ usr / local / lib / node_modules / stylescript / lib /"

Vì vậy, tôi đã sử dụng đường dẫn đó khi chỉnh sửa cài đặt Không gian làm việc của mình trong settings.json

Bây giờ tôi đang sử dụng phiên bản TypeScript mới nhất của mình và VSCode cho tôi biết rằng tôi đang sử dụng phiên bản mới nhất của mình.


0

Tôi đã gặp sự cố tương tự và bây giờ tôi đã thành công trong việc có phiên bản TypeScript cập nhật bằng cách sửa đổi các biến môi trường trên hệ thống của mình. Trong trường hợp của tôi, chúng tôi cần phiên bản TypeScript cao hơn 2. Nhưng tôi chỉ có thể sử dụng phiên bản 1.8.3. Điều đầu tiên là tôi đã vào các biến môi trường hệ thống của mình và kiểm tra biến đường dẫn. Trong đó, tôi tìm thấy một tham chiếu đến TypeScript phiên bản 1.8.3.

C: \ Program Files (x86) \ Microsoft SDKs \ TypeScript \ 1.8.3 \

Khi tôi kiểm tra thư mục mẹ, đây cũng là phiên bản cao nhất được cài đặt trong thư mục đó. Tôi đã nghĩ bằng cách cài đặt toàn cầu phiên bản mới nhất, rằng tôi cũng sẽ thấy điều này ở đây nhưng nó không có ở đó. Phiên bản bạn thấy ở đây là phiên bản đã được cài đặt với Visual Studio (không phải mã studio trực quan).

Vì vậy, tôi đã đi đến Visual Studio và cập nhật thư viện TypeScript lên phiên bản mới nhất thông qua Tùy chọn> Tiện ích mở rộng và Cập nhật. Ở đó, tôi đã tìm kiếm phiên bản TypeScript mới nhất và cài đặt nó.

Điều này làm cho một phiên bản mới có sẵn trong thư mục mẹ được đề cập trước đó. Sau đó, tôi đã thay đổi biến đường dẫn thành:

C: \ Program Files (x86) \ Microsoft SDKs \ TypeScript \ 2.2 \

Khi tôi mở VS Code và nhập tsc -v, tôi thấy rằng tôi đang sử dụng phiên bản mới nhất. Không có tin nhắn không khớp nào nữa, v.v. Hy vọng điều này sẽ giúp các bạn một chút.


0

Gói Typecript có một trình biên dịch và một dịch vụ ngôn ngữ. VScode đi kèm với dịch vụ ngôn ngữ Typecript, không đi kèm với trình biên dịch. Bạn có thể thấy dịch vụ ngôn ngữ ở dưới cùng bên phải, giống như các câu trả lời khác hiển thị, nhưng bạn không thể thấy phiên bản trình biên dịch nào được sử dụng.

Bạn có thể có các phiên bản khác nhau cho trình biên dịch và dịch vụ ngôn ngữ.


0

Để tự động sử dụng phiên bản Typecript được cài đặt trong không gian làm việc của bạn node_modulesmà không cần phải định cấu hình nó mỗi khi bạn thiết lập một không gian làm việc mới, bạn có thể đặt cài đặt Typecript mặc định trong JSON Cài đặt Người dùng ( không phải Workspace ) để sử dụng một đường dẫn tương đối:

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

Bây giờ, khi bạn chạy lệnh "Chọn Phiên bản Kiểu chữ ...", "Phiên bản Mã VS" sẽ luôn giống với "Phiên bản Không gian làm việc":

Lệnh 'Chọn Phiên bản Chỉ số ...'

Nhược điểm tiềm năng duy nhất của điều này là nó có nghĩa là bạn luôn cần cài đặt Typecript trong không gian làm việc mà bạn đang làm việc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.