Visual Studio Code ใช้เวอร์ชัน TypeScript อะไร จะอัพเดตได้อย่างไร?


111

ฉันจะทราบได้อย่างไรว่าใช้ TypeScript เวอร์ชันใดใน Visual Studio Code โดยเฉพาะอย่างยิ่งฉันใช้ 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 Code ที่จะอัปเดต TypeScript เป็นเวอร์ชันล่าสุดโดยอัตโนมัติหรือไม่หรือการอัปเดต TypeScript ต้องทำอย่างอิสระ


tsc - รุ่น ??
Hackerman

ฉันเชื่อว่ามันเป็นการตั้งค่าไฟล์โครงการ หากคุณเปิดไฟล์โปรเจ็กต์ (เช่นไฟล์. csproj) ด้วย notepad คุณสามารถลบอิลิเมนต์เวอร์ชัน typescript ซึ่งควรบังคับให้โปรเจ็กต์ใช้เวอร์ชันล่าสุดที่ติดตั้งบนพีซี
อิกอร์

@Hackerman Nope นั่นแสดงให้คุณเห็นเวอร์ชัน TSC ทั่วโลก
Fabian Lauer

คำตอบ:


191

TypeScript สามารถอัพเดตโดยอัตโนมัติได้หรือไม่?

VS Code มาพร้อมกับ TypeScript เวอร์ชันเสถียรล่าสุด

- จากเอกสาร VS Code

ซึ่งหมายความว่ามีวิธีที่จะไม่โดยอัตโนมัติปรับรุ่น typescript ที่ใช้โดย VS รหัส อย่างไรก็ตามคุณสามารถแทนที่รหัส VS เวอร์ชัน TypeScript ที่ใช้โดยแก้ไขการตั้งค่าผู้ใช้หรือการตั้งค่าพื้นที่ทำงาน


VS Code ใช้เวอร์ชัน TypeScript อะไร

เมื่อคุณเปิดไฟล์ TypeScript VS Code ควรแสดงเวอร์ชัน TypeScript ในแถบสถานะที่ด้านล่างขวาของหน้าจอ:

VS รหัสแถบสถานะเวอร์ชัน TypeScript


การเปลี่ยนเวอร์ชัน TypeScript ส่วนกลาง

  1. ติดตั้งเวอร์ชัน TypeScript ที่ต้องการทั่วโลกเช่น npm install -g typescript@2.0.5
  2. เปิด VS Code User Settings ( F1> Open User Settings)
  3. อัปเดต / แทรก"typescript.tsdk": "{your_global_npm_path}/typescript/lib"คุณสามารถค้นหา {your_global_npm_path} ได้โดยพิมพ์ npm root -g

ตอนนี้โครงการทั้งหมดที่คุณเปิดด้วย VS Code จะใช้เวอร์ชัน TypeScript นี้เว้นแต่จะมีการตั้งค่าพื้นที่ทำงานที่แทนที่สิ่งนี้


การเปลี่ยนเวอร์ชัน TypeScript ภายในเครื่อง

  1. เปิดโครงการใน VS Code
  2. ติดตั้งเวอร์ชัน TypeScript ที่ต้องการในเครื่องเช่น npm install --save-dev typescript@2.0.5

    --save-devจะปรับปรุงโครงการของคุณpackage.jsonเพิ่มรุ่น typescript devDependencyคุณติดตั้งเป็น

  3. เปิดการตั้งค่า VS Code Workspace ( F1> Open Workspace Settings)

  4. อัปเดต / แทรก "typescript.tsdk": "./node_modules/typescript/lib"

    ตอนนี้มีเพียงโปรเจ็กต์ที่คุณติดตั้งเวอร์ชัน TypeScript นี้เท่านั้นที่จะใช้เวอร์ชัน TypeScript นั้นการติดตั้งส่วนกลางจะถูกละเว้นโดย VS Code ในโปรเจ็กต์นี้

  5. เมื่อเพิ่มtypescript.tsdkรายการแล้วจำเป็นต้องใช้ VS Code UI เพื่อเลือกเวอร์ชันใหม่:

    • คลิกเวอร์ชันที่แสดงในส่วนท้าย VS Code:

      เทียบกับส่วนท้ายของโค้ด

    • เลือกใน UI:

      เลือกเวอร์ชัน ts ใน UI


ดูสิ่งนี้ด้วย:


3
FYI ฉันบน Windows, ผมต้องใส่เส้นทางแบบเต็มไปยังโฟลเดอร์โหนดโมดูลโลกของฉัน C:\\Users\\myname\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib- คุณสามารถตรวจสอบของคุณได้อีกครั้งnpm root -gในบรรทัดคำสั่ง ไม่งั้นคงถูกทำเครื่องหมายเป็นคำตอบ @Richard Fuhr
Cody

การเพิ่มการตั้งค่านี้ทำให้โค้ดวิชวลสตูดิโอปิดใช้งานคุณลักษณะภาษาตัวพิมพ์ทั้งหมดโดยสิ้นเชิง นี่ไม่ใช่คำตอบที่คุณกำลังมองหา
BentOnCoding

3
@BentOnCoding สิ่งนี้จะไม่ปิดการใช้งานอะไร ตรวจสอบการพิมพ์ผิดในtsdkเส้นทางและตรวจสอบให้แน่ใจว่าได้ติดตั้ง TypeScript ใน repo ของคุณแล้ว นอกจากนี้อีก 11 คนพบว่าสิ่งนี้ถูกต้องเพียงพอที่จะโหวตให้คะแนน ;-)
Fabian Lauer

VS Code ดูเหมือนว่าจะได้รับการอัปเดตเวอร์ชัน TypeScript โดยอัตโนมัติดังนั้นคำตอบที่นี่อาจไม่เป็นปัจจุบันอีกต่อไป
Mickey Segal

1
การตั้งค่านี้สามารถนำไปใช้กับการตั้งค่าพื้นที่ทำงานแทนเพื่อให้สามารถกำหนดค่าโปรเจ็กต์ที่กำหนดเป้าหมายไปยังเวอร์ชันที่เฉพาะเจาะจงซึ่งจะสามารถกำหนดค่าให้คงอยู่ในลักษณะนั้นได้ นอกจากนี้โปรดทราบว่าคุณไม่สามารถกำหนดเป้าหมายเวอร์ชันที่ติดตั้ง MSI ซึ่งเข้ากันไม่ได้ ดูเว็บไซต์: code.visualstudio.com/docs/typescript/typescript-compiling
Itanex

20

Visual Studio Code มาพร้อมกับ TypeScript เวอร์ชันเสถียร แต่คุณสามารถเปลี่ยนไปใช้เวอร์ชันที่ใหม่กว่าได้ตามที่อธิบายไว้ในเอกสาร

VS Code มาพร้อมกับ TypeScript เวอร์ชันเสถียรล่าสุด หากคุณต้องการใช้ TypeScript เวอร์ชันที่ใหม่กว่าคุณสามารถกำหนดการ ตั้งค่าtypescript.tsdk ( ไฟล์ > การตั้งค่า > การตั้งค่าผู้ใช้ / พื้นที่ทำงาน ) ที่ชี้ไปยังไดเร็กทอรีที่มีไฟล์TypeScript tsserver.js
...
ตัวอย่างเช่น:

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

tsc --version ของฉันคือ 2.0.3 แต่ไม่พบไฟล์ tsserver.js บน Mac ของฉันจึงไม่สามารถเปลี่ยนการตั้งค่าใน VSCode ได้
Richard Fuhr

การเพิ่มการตั้งค่านี้ทำให้โค้ดวิชวลสตูดิโอปิดใช้งานคุณลักษณะภาษาตัวพิมพ์ทั้งหมดโดยสิ้นเชิง นี่ไม่ใช่คำตอบที่คุณกำลังมองหา
BentOnCoding

ฉันคิดว่าสิ่งนี้อธิบายได้ชัดเจนกว่าที่นี่gist.github.com/tonysneed/bb6d442103a057578a9498f106e45ac5
Gregor Schmitz

17

มีวิธีใดที่จะบอกได้ว่า Visual Studio Code ใช้เวอร์ชัน 2.0.3 หรือไม่

เปิดไฟล์ TypeScript ใน Visual Studio Code และที่ด้านล่างขวาคุณจะเห็นเวอร์ชันของ TypeScript ที่ใช้:

ใส่คำอธิบายภาพที่นี่

มีวิธีการอัปเดต Visual Studio Code ที่จะอัปเดต 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 typescript 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 Code ใช้ TypeScript เวอร์ชัน npm สำหรับ intellisense โดยเปิดไฟล์ TypeScript คลิกหมายเลขเวอร์ชัน TypeScript ที่ด้านล่างขวาและเห็นในหน้าต่างงานว่า VS Code กำลังโหลด TypeScript จากไดเร็กทอรีที่ระบุในขั้นตอนที่ 4:

ใส่คำอธิบายภาพที่นี่

  1. ยืนยันว่า VS Code ใช้ TypeScript เวอร์ชันที่ถูกต้องในการคอมไพล์โดยไปที่โฟลเดอร์นี้และเปลี่ยนชื่อไฟล์:

C: \ Users \ ชื่อผู้ใช้ \ AppData \ Roaming \ npm \ tsc.cmd (ถึงบางอย่างเช่น tsc1.cmd)

ตอนนี้ลองสร้างใน VS Code (Tasks -> Run Tasks -> tsc: build - tsconfig.json) และคุณควรได้รับข้อความแสดงข้อผิดพลาดนี้ในหน้าต่างเทอร์มินัล VS Code:

'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 Code สำหรับแพ็คเกจโหนด TypeScript ที่ติดตั้งทั่วโลก

2
เหตุใดจึงไม่แก้ไขคำตอบที่มีข้อมูลนี้อยู่แล้ว 99%
SgtPooki

ฉันเดาว่าเราจะไม่มีทางรู้
Denny

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 / typescript / lib /"

ดังนั้นฉันจึงใช้เส้นทางนั้นเมื่อแก้ไขการตั้งค่าพื้นที่ทำงานใน settings.json

ตอนนี้ฉันใช้ TypeScript เวอร์ชันล่าสุดของฉันและ VSCode บอกฉันว่าฉันกำลังใช้เวอร์ชันล่าสุดของฉัน


0

ฉันมีปัญหาที่คล้ายกันและตอนนี้ฉันประสบความสำเร็จในการมี TypeScript เวอร์ชันล่าสุดโดยการแก้ไขตัวแปรสภาพแวดล้อมในระบบของฉัน ในกรณีของฉันเราต้องการเวอร์ชัน TypeScript ที่สูงกว่า 2 แต่ฉันสามารถใช้เวอร์ชัน 1.8.3 เท่านั้น สิ่งแรกคือฉันไปที่ตัวแปรสภาพแวดล้อมระบบของฉันและตรวจสอบตัวแปรเส้นทาง ในนั้นฉันพบการอ้างอิงถึง TypeScript เวอร์ชัน 1.8.3

C: \ Program ไฟล์ (x86) \ Microsoft SDKs \ TypeScript \ 1.8.3 \

เมื่อฉันตรวจสอบไดเร็กทอรีหลักนี่เป็นเวอร์ชันสูงสุดที่ติดตั้งในไดเร็กทอรีนั้นด้วย ฉันจะคิดโดยการติดตั้งเวอร์ชันล่าสุดทั่วโลกว่าฉันจะเห็นสิ่งนี้ที่นี่เช่นกัน แต่ไม่มี เวอร์ชันที่คุณเห็นนี้เป็นเวอร์ชันที่ติดตั้งด้วย Visual Studio (ไม่ใช่รหัส Visual Studio)

ดังนั้นฉันจึงไปที่ Visual Studio และอัปเดตไลบรารี TypeScript เป็นเวอร์ชันล่าสุดผ่านทางตัวเลือก> ส่วนขยายและการอัปเดต ที่นั่นฉันค้นหา TypeScript เวอร์ชันล่าสุดและติดตั้ง

สิ่งนี้ทำให้เวอร์ชันใหม่พร้อมใช้งานในไดเร็กทอรีหลักที่กล่าวถึงก่อนหน้านี้ จากนั้นฉันเปลี่ยนตัวแปรเส้นทางเป็น:

C: \ Program ไฟล์ (x86) \ Microsoft SDKs \ TypeScript \ 2.2 \

ตอนนี้ฉันเปิด VS Code และพิมพ์ tsc -v ฉันเห็นว่าฉันกำลังใช้เวอร์ชันล่าสุด ไม่มีข้อความที่ไม่ตรงกันอีกต่อไป ฯลฯ หวังว่านี่จะช่วยพวกคุณได้บ้าง


0

แพ็คเกจ typescript มีคอมไพเลอร์และบริการภาษา VScode มาพร้อมกับบริการภาษา typescript ไม่ใช่ในคอมไพเลอร์ คุณสามารถดูบริการภาษาที่ด้านล่างขวาเช่นเดียวกับคำตอบอื่น ๆ ที่แสดง แต่คุณไม่สามารถดูได้ว่าใช้คอมไพเลอร์เวอร์ชันใด

คุณสามารถมีเวอร์ชันต่างๆสำหรับคอมไพเลอร์และบริการภาษา


0

หากต้องการใช้เวอร์ชัน typescript ที่ติดตั้งในพื้นที่ทำงานของคุณโดยอัตโนมัติnode_modulesโดยไม่ต้องกำหนดค่าทุกครั้งที่คุณตั้งค่าพื้นที่ทำงานใหม่คุณสามารถตั้งค่าการตั้งค่า typescript เริ่มต้นในการตั้งค่าผู้ใช้ JSON ( ไม่ใช่พื้นที่ทำงาน ) เพื่อใช้เส้นทางสัมพัทธ์:

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

ตอนนี้เมื่อคุณเรียกใช้คำสั่ง "Select typescript Version ... " "VS Code's Version" จะเหมือนกับ "Workspace Version" เสมอ:

คำสั่ง 'Select typescript Version ... '

ข้อเสียที่อาจเกิดขึ้นเพียงนี้ก็คือว่ามันหมายความว่าคุณมักจะต้อง typescript ติดตั้งในพื้นที่ที่คุณทำงานอยู่ใน. แต่ถ้าคุณกำลังเขียน typescript ทุกที่ผมคิดว่าเป็นความคาดหวังที่เหมาะสม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.