ให้การสนับสนุนภาษา Java ™ผ่านเซิร์ฟเวอร์ภาษา Eclipse ™ JDT ซึ่งใช้ Eclipse ™ JDT, M2Eclipse และ Buildship
ติดตั้งส่วนขยาย
บนแพลตฟอร์มต่อไปนี้ ส่วนขยายควรเปิดใช้งานโดยไม่ต้องตั้งค่าใดๆ : win32-x64
, darwin-x64
, darwin-arm64
, linux-x64
, linux-arm64
หากบนแพลตฟอร์มอื่นหรือใช้เวอร์ชัน "สากล" คุณสามารถตั้งค่า Java Development Kit ได้ ต้องเป็น Java 17 ขึ้นไป
คุณสามารถเลือกดาวน์โหลดและติดตั้ง Java Development Kit สำหรับโปรเจ็กต์ของคุณ (รองรับ Java 1.8 ขึ้นไป) ดู Project JDK สำหรับรายละเอียดเพิ่มเติม
ส่วนขยายจะเปิดใช้งานเมื่อคุณเข้าถึงไฟล์ Java เป็นครั้งแรก
จดจำโปรเจ็กต์ด้วยไฟล์บิลด์ Maven หรือ Gradle ในลำดับชั้นไดเร็กทอรี
รองรับโค้ดจาก Java 1.8 ถึง Java 23
รองรับโปรเจ็กต์ Maven pom.xml
การสนับสนุนโครงการ Gradle (พร้อมการสนับสนุนการนำเข้าโครงการ Android รุ่นทดลอง)
รองรับไฟล์ Java แบบสแตนด์อโลน
ในขณะที่คุณพิมพ์การรายงานข้อผิดพลาดในการแยกวิเคราะห์และการคอมไพล์
กรอกโค้ด
การดำเนินการของโค้ด/แหล่งที่มา/การปรับโครงสร้างใหม่
Javadoc โฮเวอร์
จัดระเบียบการนำเข้า
ทริกเกอร์ด้วยตนเองหรือเมื่อบันทึก
เมื่อวางโค้ดลงในไฟล์ java ด้วย Ctrl+Shift+v
( Cmd+Shift+v
บน Mac)
พิมพ์ค้นหา
โครงร่างโค้ด
การพับโค้ด
การนำทางโค้ด
เลนส์โค้ด (ข้อมูลอ้างอิง/การใช้งาน)
ไฮไลท์
การจัดรูปแบบโค้ด (ตามประเภท/การเลือก/ไฟล์)
ข้อมูลโค้ด
รองรับการประมวลผลคำอธิบายประกอบ (อัตโนมัติสำหรับโครงการ Maven)
การเลือกความหมาย
แท็กการวินิจฉัย
ลำดับชั้นการโทร
ประเภทลำดับชั้น
หากต้องการเปิดและดีบักโปรแกรม Java ของคุณ ขอแนะนำให้คุณติดตั้ง Java Debug Extension สำหรับ Visual Studio Code
ดูบันทึกการเปลี่ยนแปลงสำหรับรุ่นล่าสุด คุณอาจพบข้อมูลที่เป็นประโยชน์ในโครงการ Wiki
ตอนนี้ส่วนขยาย Java จะเผยแพร่เวอร์ชันเฉพาะของแพลตฟอร์ม มันจะฝัง JRE สำหรับแพลตฟอร์มที่รองรับ เช่น win32-x64
, linux-x64
, linux-arm64
, darwin-x64
, darwin-arm64
JRE แบบฝังใช้เพื่อเปิดใช้เซิร์ฟเวอร์ภาษาสำหรับ Java ผู้ใช้มีหน้าที่รับผิดชอบในการกำหนดค่า Project JDK เพื่อคอมไพล์โปรเจ็กต์ Java ของคุณเท่านั้น
ส่วนต่อไปนี้จะถูกเก็บไว้สำหรับเวอร์ชันสากลที่ไม่มี JRE แบบฝังเท่านั้น
เครื่องมือ JDK จะถูกใช้เพื่อเปิดใช้เซิร์ฟเวอร์ภาษาสำหรับ Java และตามค่าเริ่มต้น จะใช้ในการรวบรวมโครงการของคุณด้วย Java 17 เป็นเวอร์ชันขั้นต่ำที่ต้องการ
เส้นทางไปยังชุดพัฒนา Java สามารถระบุได้โดยการตั้งค่าjava.jdt.ls.java.home
ในการตั้งค่า VS Code (การตั้งค่าพื้นที่ทำงาน/ผู้ใช้) หากไม่ได้ระบุไว้ ระบบจะค้นหาตามลำดับต่อไปนี้จนกว่า JDK จะตรงตามข้อกำหนดขั้นต่ำในปัจจุบัน
ตัวแปรสภาพแวดล้อม
JDK_HOME
ตัวแปรสภาพแวดล้อม
JAVA_HOME
บนเส้นทางของระบบปัจจุบัน
หากคุณต้องการคอมไพล์โปรเจ็กต์ของคุณกับ JDK เวอร์ชันอื่น ขอแนะนำให้คุณกำหนดค่าคุณสมบัติ java.configuration.runtimes
ในการตั้งค่าผู้ใช้ของคุณ เช่น:
"java.configuration.runtimes": [ {"ชื่อ": "JavaSE-1.8", "เส้นทาง": "/path/to/jdk-8", - {"ชื่อ": "JavaSE-11", "เส้นทาง": "/path/to/jdk-11", - {"ชื่อ": "JavaSE-23", "เส้นทาง": "/path/to/jdk-23", "ค่าเริ่มต้น": จริง - -
รันไทม์เริ่มต้นจะถูกใช้เมื่อคุณเปิดไฟล์ Java แบบสแตนด์อโลน
คำสั่งต่อไปนี้มีอยู่:
Switch to Standard Mode
: สลับเซิร์ฟเวอร์ภาษา Java เป็นโหมด Standard
คำสั่งนี้ใช้ได้เฉพาะเมื่อเซิร์ฟเวอร์ภาษา Java อยู่ในโหมด LightWeight
Java: Reload Projects
( Shift+Alt+U
): บังคับให้อัปเดตการกำหนดค่าโปรเจ็กต์ / คลาสพาธ (เช่น การเปลี่ยนแปลงการพึ่งพาหรือระดับการคอมไพล์ Java) ตามตัวอธิบายการสร้างโปรเจ็กต์
Java: Import Java Projects into Workspace
: ตรวจจับและนำเข้าโปรเจ็กต์ Java ทั้งหมดลงในพื้นที่ทำงาน Java Language Server
Java: Open Java Language Server Log File
: เปิดไฟล์บันทึกเซิร์ฟเวอร์ภาษา Java ซึ่งมีประโยชน์สำหรับการแก้ไขปัญหา
Java: Open Java Extension Log File
: เปิดไฟล์บันทึกส่วนขยาย Java ซึ่งมีประโยชน์สำหรับการแก้ไขปัญหา
Java: Open All Log Files
: เปิดทั้งไฟล์บันทึกของ Java Language Server และไฟล์บันทึกส่วนขยาย Java
Java: Force Java Compilation
( Shift+Alt+B
): ทริกเกอร์การคอมไพล์เวิร์กสเปซด้วยตนเอง
Java: Rebuild Projects
: ทริกเกอร์บิลด์เต็มของโปรเจ็กต์ที่เลือกด้วยตนเอง
Java: Open Java Formatter Settings
: เปิดการตั้งค่าฟอร์แมตเตอร์ Eclipse สร้างไฟล์การตั้งค่าใหม่หากไม่มีอยู่
Java: Clean Java Language Server Workspace
: ล้างพื้นที่ทำงานเซิร์ฟเวอร์ภาษา Java
Java: Attach Source
: แนบซอร์ส jar/zip เข้ากับไฟล์คลาสไบนารีที่เปิดอยู่ในปัจจุบัน คำสั่งนี้ใช้ได้เฉพาะในเมนูบริบทของตัวแก้ไขเท่านั้น
Java: Add Folder to Java Source Path
: เพิ่มโฟลเดอร์ที่เลือกไปยังเส้นทางแหล่งที่มาของโครงการ คำสั่งนี้มีเฉพาะในเมนูบริบทของ File Explorer และใช้ได้กับโฟลเดอร์ที่ไม่มีการจัดการเท่านั้น
Java: Remove Folder from Java Source Path
: ลบโฟลเดอร์ที่เลือกออกจากเส้นทางแหล่งที่มาของโครงการ คำสั่งนี้มีเฉพาะในเมนูบริบทของ File Explorer และใช้ได้กับโฟลเดอร์ที่ไม่มีการจัดการเท่านั้น
Java: List All Java Source Paths
: แสดงรายการพาธต้นทาง Java ทั้งหมดที่เวิร์กสเปซ Java Language Server รู้จัก
Java: Show Build Job Status
: แสดงสถานะงานเซิร์ฟเวอร์ภาษา Java ในเทอร์มินัล Visual Studio Code
Java: Go to Super Implementation
: ไปที่การใช้งานขั้นสูงสำหรับสัญลักษณ์ที่เลือกในปัจจุบันในตัวแก้ไข
Java: Restart Java Language Server
: รีสตาร์ทเซิร์ฟเวอร์ภาษา Java
รองรับการตั้งค่าต่อไปนี้:
java.home
: เลิกใช้แล้ว โปรดใช้ 'java.jdt.ls.java.home' แทน เส้นทางที่แน่นอนไปยังโฮมโฟลเดอร์ JDK ที่ใช้ในการเปิดเซิร์ฟเวอร์ภาษา Java ต้องรีสตาร์ทรหัส VS
java.jdt.ls.lombokSupport.enabled
: ไม่ว่าจะเปิดใช้งานการสนับสนุน lombok หรือไม่ ค่าเริ่มต้นเป็น true
java.jdt.ls.vmargs
: อาร์กิวเมนต์ VM เพิ่มเติมที่ใช้ในการเปิดเซิร์ฟเวอร์ภาษา Java ต้องรีสตาร์ทรหัส VS
java.errors.incompleteClasspath.severity
: ระบุความรุนแรงของข้อความเมื่อ classpath ไม่สมบูรณ์สำหรับไฟล์ Java ค่าที่รองรับคือ ignore
, info
, warning
, error
java.trace.server
: ติดตามการสื่อสารระหว่าง VS Code และเซิร์ฟเวอร์ภาษา Java
java.configuration.updateBuildConfiguration
: ระบุวิธีที่การแก้ไขในไฟล์บิลด์อัพเดต Java classpath/configuration ค่าที่รองรับ disabled
(ไม่มีอะไรเกิดขึ้น), interactive
(ถามเกี่ยวกับการอัปเดตทุกครั้งที่มีการแก้ไข), automatic
(การอัปเดตจะถูกทริกเกอร์โดยอัตโนมัติ)
java.configuration.maven.userSettings
: พาธไปยังการตั้งค่าผู้ใช้ของ Maven.xml
java.configuration.checkProjectSettingsExclusions
: เลิกใช้แล้ว โปรดใช้ 'java.import.generatesMetadataFilesAtProjectRoot' เพื่อควบคุมว่าจะสร้างไฟล์ข้อมูลเมตาของโปรเจ็กต์ที่รูทโปรเจ็กต์หรือไม่ และใช้ 'files.exclude' เพื่อควบคุมว่าจะซ่อนไฟล์ข้อมูลเมตาของโปรเจ็กต์จาก File Explorer หรือไม่ ควบคุมว่าจะไม่รวมไฟล์การตั้งค่าโปรเจ็กต์ที่สร้างส่วนขยาย ( .project
, .classpath
, .factorypath
, .settings/
) จาก file explorer ค่าเริ่มต้นเป็น false
java.referencesCodeLens.enabled
: เปิด/ปิดการใช้งานเลนส์โค้ดอ้างอิง
java.implementationsCodeLens.enabled
: เปิด/ปิดการใช้งานเลนส์โค้ดการใช้งาน
java.signatureHelp.enabled
: เปิด/ปิดใช้งานการสนับสนุนวิธีใช้ลายเซ็น (เปิดใช้งานบน (
)
java.signatureHelp.description.enabled
: เปิด/ปิดใช้งานเพื่อแสดงคำอธิบายในวิธีใช้ลายเซ็น ค่าเริ่มต้นเป็น false
java.contentProvider.preferred
: ผู้ให้บริการเนื้อหาที่ต้องการ (ดูตัวถอดรหัสบุคคลที่สามที่มีอยู่ใน vscode-java-decompiler)
java.import.exclusions
: ยกเว้นโฟลเดอร์จากการนำเข้าผ่านรูปแบบ glob ใช้ !
เพื่อลบล้างรูปแบบเพื่ออนุญาตให้นำเข้าโฟลเดอร์ย่อย คุณต้องรวมไดเรกทอรีหลักด้วย การสั่งซื้อเป็นสิ่งสำคัญ
java.import.gradle.enabled
: เปิด/ปิดการใช้งานตัวนำเข้า Gradle
ระบุการกระจาย Gradle ที่ใช้โดยส่วนขยาย Java:
java.import.gradle.wrapper.enabled
: ใช้ Gradle จากไฟล์ 'gradle-wrapper.properties' ค่าเริ่มต้นเป็น true
java.import.gradle.version
: ใช้ Gradle จากเวอร์ชันเฉพาะหาก Gradle wrapper หายไปหรือปิดใช้งาน
java.import.gradle.home
: ใช้ Gradle จากไดเร็กทอรีการติดตั้งในเครื่องที่ระบุหรือ GRADLE_HOME หาก Gradle wrapper หายไปหรือปิดใช้งานและไม่ได้ระบุ 'java.import.gradle.version'
java.import.gradle.arguments
: อาร์กิวเมนต์ที่จะส่งผ่านไปยัง Gradle
java.import.gradle.jvmArguments
: อาร์กิวเมนต์ JVM ที่จะส่งผ่านไปยัง Gradle
java.import.gradle.user.home
: การตั้งค่าสำหรับ GRADLE_USER_HOME
java.import.gradle.offline.enabled
: เปิด/ปิดโหมดออฟไลน์ Gradle ค่าเริ่มต้นเป็น false
java.import.maven.enabled
: เปิด/ปิดการใช้งานตัวนำเข้า Maven
java.autobuild.enabled
: เปิด/ปิดการใช้งาน 'การสร้างอัตโนมัติ'
java.maxConcurrentBuilds
: ตั้งค่าการสร้างโปรเจ็กต์พร้อมกันสูงสุด
java.completion.enabled
: เปิด/ปิดใช้งานการสนับสนุนการเติมโค้ดให้สมบูรณ์
java.completion.guessMethodArguments
: ระบุว่าจะเติมอาร์กิวเมนต์อย่างไรในระหว่างการดำเนินการเสร็จสิ้น ค่าเริ่มต้นเป็น auto
auto
: ใช้ off
เฉพาะเมื่อใช้ Visual Studio Code - Insiders แพลตฟอร์มอื่นจะมีค่าเริ่มต้นเป็น insertBestGuessedArguments
off
: อาร์กิวเมนต์ของวิธีการจะไม่ถูกแทรกระหว่างการเสร็จสิ้น
insertParameterNames
: ชื่อพารามิเตอร์จะถูกแทรกในระหว่างการดำเนินการเสร็จสิ้น
insertBestGuessedArguments
: อาร์กิวเมนต์ที่เดาได้ดีที่สุดจะถูกแทรกในระหว่างการดำเนินการให้เสร็จสิ้นตามบริบทของโค้ด
java.completion.filteredTypes
: กำหนดตัวกรองประเภท ทุกประเภทที่มีชื่อแบบเต็มตรงกับสตริงตัวกรองที่เลือกจะถูกละเว้นในการช่วยงานในเนื้อหาหรือข้อเสนอการแก้ไขด่วน และเมื่อจัดระเบียบการนำเข้า ตัวอย่างเช่น 'java.awt.*' จะซ่อนทุกประเภทจากแพ็คเกจ awt
java.completion.favoriteStaticMembers
: กำหนดรายการสมาชิกแบบคงที่หรือประเภทที่มีสมาชิกแบบคงที่
java.completion.importOrder
: กำหนดลำดับการเรียงลำดับของคำสั่งการนำเข้า
java.format.enabled
: เปิด/ปิดการใช้งานตัวจัดรูปแบบ Java เริ่มต้น
java.format.settings.url
: ระบุ url หรือพาธของไฟล์ไปยังการตั้งค่า xml ของฟอร์แมตเตอร์ Eclipse
java.format.settings.profile
: ชื่อโปรไฟล์ตัวจัดรูปแบบทางเลือกจากค่าติดตั้งตัวจัดรูปแบบ Eclipse
java.format.comments.enabled
: รวมความคิดเห็นระหว่างการจัดรูปแบบโค้ด
java.format.onType.enabled
: เปิด/ปิดใช้งานการจัดรูปแบบตามประเภท (ทริกเกอร์บน ;
, }
หรือ <return>
)
java.foldingRange.enabled
: เปิด/ปิดใช้งานการสนับสนุนช่วงการพับอัจฉริยะ หากปิดใช้งาน ระบบจะใช้ช่วงการพับตามการเยื้องเริ่มต้นที่ได้รับจาก VS Code
java.maven.downloadSources
: เปิด/ปิดใช้งานการดาวน์โหลดอาร์ติแฟกต์แหล่งที่มาของ Maven โดยเป็นส่วนหนึ่งของการนำเข้าโปรเจ็กต์ Maven
java.maven.updateSnapshots
: บังคับอัปเดตสแนปช็อต/การเผยแพร่ ค่าเริ่มต้นเป็น false
java.codeGeneration.hashCodeEquals.useInstanceof
: ใช้ 'instanceof' เพื่อเปรียบเทียบประเภทเมื่อสร้าง hashCode และเมธอดเท่ากับ ค่าเริ่มต้นเป็น false
java.codeGeneration.hashCodeEquals.useJava7Objects
: ใช้ Objects.hash และ Objects.equals เมื่อสร้างเมธอด hashCode และเท่ากับ การตั้งค่านี้ใช้กับ Java 7 และสูงกว่าเท่านั้น ค่าเริ่มต้นเป็น false
java.codeGeneration.useBlocks
: ใช้บล็อกในคำสั่ง 'if' เมื่อสร้างวิธีการ ค่าเริ่มต้นเป็น false
java.codeGeneration.generateComments
: สร้างความคิดเห็นเกี่ยวกับเมธอดเมื่อสร้างเมธอด ค่าเริ่มต้นเป็น false
java.codeGeneration.toString.template
: เทมเพลตสำหรับสร้างเมธอด toString ค่าเริ่มต้นคือ ${object.className} [${member.name()}=${member.value}, ${otherMembers}]
java.codeGeneration.toString.codeStyle
: สไตล์โค้ดสำหรับสร้างเมธอด toString ค่าเริ่มต้นเป็น STRING_CONCATENATION
java.codeGeneration.toString.skipNullValues
: ข้ามค่า null เมื่อสร้างเมธอด toString ค่าเริ่มต้นเป็น false
java.codeGeneration.toString.listArrayContents
: แสดงรายการเนื้อหาของอาร์เรย์แทนที่จะใช้ toString() ดั้งเดิม ค่าเริ่มต้นเป็น true
java.codeGeneration.toString.limitElements
: จำกัดจำนวนรายการในอาร์เรย์/คอลเลกชัน/แผนที่ให้แสดงรายการ หากเป็น 0 ให้แสดงรายการทั้งหมด ค่าเริ่มต้นเป็น 0
java.selectionRange.enabled
: เปิด/ปิดใช้งานการสนับสนุน Smart Selection สำหรับ Java การปิดใช้งานตัวเลือกนี้จะไม่ส่งผลต่อการเลือกอัจฉริยะแบบใช้คำและวงเล็บเหลี่ยมในตัว VS Code
java.showBuildStatusOnStart.enabled
: แสดงสถานะบิลด์โดยอัตโนมัติเมื่อเริ่มต้นระบบ โดยมีค่าเริ่มต้นเป็นการ notification
สำหรับความเข้ากันได้แบบย้อนหลัง การตั้งค่านี้ยังยอมรับค่าบูลีนด้วย โดยที่
true
มีความหมายเหมือนกับnotification
และfalse
มีความหมายเหมือนกับoff
notification
: แสดงสถานะการสร้างผ่านการแจ้งเตือนความคืบหน้า
terminal
: แสดงสถานะการ build ผ่านทาง Terminal
off
: ไม่ต้องแสดงสถานะ build ใดๆ
java.project.outputPath
: พาธสัมพัทธ์ไปยังเวิร์กสเปซที่เก็บเอาต์พุตที่คอมไพล์แล้ว มีผล Only
ในขอบเขต WORKSPACE
การตั้งค่าจะ NOT
ส่งผลต่อโปรเจ็กต์ Maven หรือ Gradle
java.project.referencedLibraries
: กำหนดค่ารูปแบบ glob สำหรับการอ้างอิงไลบรารีท้องถิ่นไปยังโปรเจ็กต์ Java
java.completion.maxResults
: จำนวนผลลัพธ์ที่สมบูรณ์สูงสุด (ไม่รวมตัวอย่าง) 0
(ค่าเริ่มต้น) ปิดใช้งานขีดจำกัด ผลลัพธ์ทั้งหมดจะถูกส่งกลับ ในกรณีที่เกิดปัญหาด้านประสิทธิภาพ ให้พิจารณากำหนดขีดจำกัดที่เหมาะสม
java.configuration.runtimes
: แมปสภาพแวดล้อมการดำเนินการ Java กับ JDK ในเครื่อง
java.server.launchMode
:
โหมดการเปิดตัวเริ่มต้นคือ Hybrid
โหมดดั้งเดิมคือ Standard
Standard
: มอบฟีเจอร์เต็มรูปแบบ เช่น Intellisense, การปรับโครงสร้างใหม่, การสร้าง, การสนับสนุน Maven/Gradle เป็นต้น
LightWeight
: เริ่มเซิร์ฟเวอร์ไวยากรณ์ด้วยต้นทุนเริ่มต้นที่ต่ำกว่า จัดเตรียมเฉพาะคุณลักษณะทางไวยากรณ์ เช่น โครงร่าง การนำทาง javadoc ข้อผิดพลาดทางไวยากรณ์ โหมดน้ำหนักเบาจะไม่โหลดส่วนขยายของบุคคลที่สาม เช่น java test runner, java debugger เป็นต้น
Hybrid
: มอบคุณสมบัติครบถ้วนพร้อมการตอบสนองที่ดีขึ้น โดยจะเริ่มต้นเซิร์ฟเวอร์ภาษามาตรฐานและเซิร์ฟเวอร์ไวยากรณ์รอง เซิร์ฟเวอร์ไวยากรณ์มีคุณสมบัติทางไวยากรณ์จนกว่าเซิร์ฟเวอร์มาตรฐานจะพร้อม และเซิร์ฟเวอร์ไวยากรณ์จะถูกปิดโดยอัตโนมัติหลังจากที่เซิร์ฟเวอร์มาตรฐานพร้อมใช้งานโดยสมบูรณ์
java.sources.organizeImports.starThreshold
: ระบุจำนวนการนำเข้าที่เพิ่มก่อนที่จะใช้การประกาศ star-import ค่าเริ่มต้นคือ 99
java.sources.organizeImports.staticStarThreshold
: ระบุจำนวนการนำเข้าแบบคงที่ที่เพิ่มก่อนที่จะใช้การประกาศ star-import ค่าเริ่มต้นคือ 99
java.imports.gradle.wrapper.checksums
: กำหนดเช็คซัม SHA-256 ที่อนุญาต/ไม่อนุญาตของ Gradle Wrappers
java.project.importOnFirstTimeStartup
: ระบุว่าจะอิมพอร์ตโปรเจ็กต์ Java หรือไม่ เมื่อเปิดโฟลเดอร์ในโหมดไฮบริดเป็นครั้งแรก ค่าที่รองรับ disabled
(ไม่ต้องนำเข้า), interactive
(ขอให้นำเข้าหรือไม่), automatic
(นำเข้าเสมอ) ค่าเริ่มต้นเป็น automatic
java.project.importHint
: เปิด/ปิดใช้งานข้อมูลสวิตช์โหมดเซิร์ฟเวอร์ เมื่อข้ามการนำเข้าโปรเจ็กต์ Java เมื่อเริ่มต้น ค่าเริ่มต้นเป็น true
java.import.gradle.java.home
: ระบุตำแหน่งของ JVM ที่ใช้ในการรัน Gradle daemon
java.project.resourceFilters
: ยกเว้นไฟล์และโฟลเดอร์ไม่ให้รีเฟรชโดยเซิร์ฟเวอร์ภาษา Java ซึ่งสามารถปรับปรุงประสิทธิภาพโดยรวมได้ ตัวอย่างเช่น ["node_modules",".git"] จะยกเว้นไฟล์และโฟลเดอร์ทั้งหมดที่ชื่อ 'node_modules' หรือ '.git' นิพจน์รูปแบบต้องเข้ากันได้กับ java.util.regex.Pattern
ค่าเริ่มต้นคือ ["node_modules",".git"]
java.templates.fileHeader
: ระบุความคิดเห็นส่วนหัวไฟล์สำหรับไฟล์ Java ใหม่ รองรับการกำหนดค่าความคิดเห็นหลายบรรทัดด้วยอาร์เรย์ของสตริง และใช้ ${variable} เพื่ออ้างอิงตัวแปรที่กำหนดไว้ล่วงหน้า
java.templates.typeComment
: ระบุความคิดเห็นประเภทสำหรับประเภท Java ใหม่ รองรับการกำหนดค่าความคิดเห็นหลายบรรทัดด้วยอาร์เรย์ของสตริง และใช้ ${variable} เพื่ออ้างอิงตัวแปรที่กำหนดไว้ล่วงหน้า
java.references.includeAccessors
: รวม getter, setter และ builder/constructor เมื่อค้นหาข้อมูลอ้างอิง ค่าเริ่มต้นเป็นจริง
java.configuration.maven.globalSettings
: เส้นทางไปยัง global settings.xml ของ Maven
java.configuration.maven.lifecycleMappings
: เส้นทางสู่การแมปวงจรชีวิตของ Maven xml
java.eclipse.downloadSources
: เปิด/ปิดใช้งานการดาวน์โหลดส่วนแหล่งที่มา Maven สำหรับโปรเจ็กต์ Eclipse
java.references.includeDecompiledSources
: รวมแหล่งที่มาที่ถอดรหัสแล้วเมื่อค้นหาข้อมูลอ้างอิง ค่าเริ่มต้นเป็นจริง
java.project.sourcePaths
: พาธสัมพัทธ์ไปยังเวิร์กสเปซที่เก็บไฟล์ต้นฉบับ มีผล Only
ในขอบเขต WORKSPACE
การตั้งค่าจะ NOT
ส่งผลต่อโปรเจ็กต์ Maven หรือ Gradle
java.typeHierarchy.lazyLoad
: เปิด/ปิดใช้งานการโหลดเนื้อหาแบบ Lazy Loading ในลำดับชั้นของประเภท การโหลดแบบ Lazy Loading ช่วยประหยัดเวลาในการโหลดได้มาก แต่ควรขยายทุกประเภทด้วยตนเองเพื่อโหลดเนื้อหา
java.codeGeneration.insertionLocation
: ระบุตำแหน่งการแทรกของโค้ดที่สร้างโดยการดำเนินการของแหล่งที่มา ค่าเริ่มต้นคือ afterCursor
afterCursor
: ใส่โค้ดที่สร้างขึ้นหลังสมาชิกที่มีเคอร์เซอร์อยู่
beforeCursor
: ใส่โค้ดที่สร้างขึ้นหน้าสมาชิกที่มีเคอร์เซอร์อยู่
lastMember
: ใส่โค้ดที่สร้างขึ้นเป็นสมาชิกตัวสุดท้ายของประเภทเป้าหมาย
java.codeGeneration.addFinalForNewDeclaration
: ไม่ว่าจะสร้างโมดิฟายเออร์ 'สุดท้าย' สำหรับการดำเนินการโค้ดที่สร้างการประกาศใหม่หรือไม่ ค่าเริ่มต้นเป็น none
none
: อย่าสร้างตัวแก้ไขขั้นสุดท้าย
fields
: สร้างตัวแก้ไข 'ขั้นสุดท้าย' สำหรับการประกาศฟิลด์ใหม่เท่านั้น
variables
: สร้างตัวแก้ไข 'สุดท้าย' สำหรับการประกาศตัวแปรใหม่เท่านั้น
all
: สร้างตัวแก้ไข 'ขั้นสุดท้าย' สำหรับการประกาศใหม่ทั้งหมด
java.settings.url
: ระบุ url หรือพาธของไฟล์ไปยังการตั้งค่า Java ของเวิร์กสเปซ ดูการตั้งค่าการตั้งค่าส่วนกลาง
java.symbols.includeSourceMethodDeclarations
: รวมการประกาศเมธอดจากไฟล์ต้นฉบับในการค้นหาสัญลักษณ์ ค่าเริ่มต้นเป็น false
java.quickfix.showAt
: แสดงการแก้ไขด่วนในระดับปัญหาหรือระดับบรรทัด
java.configuration.workspaceCacheLimit
: จำนวนวัน (หากเปิดใช้งาน) เพื่อเก็บข้อมูลแคชเวิร์กสเปซที่ไม่ได้ใช้ นอกเหนือจากขีดจำกัดนี้ ข้อมูลพื้นที่ทำงานที่แคชไว้อาจถูกลบออก
java.import.generatesMetadataFilesAtProjectRoot
: ระบุว่าไฟล์ข้อมูลเมตาของโปรเจ็กต์ (.project, .classpath, .factorypath, .settings/) จะถูกสร้างขึ้นที่รูทโปรเจ็กต์หรือไม่ ค่าเริ่มต้นเป็น false
java.inlayHints.parameterNames.enabled
: เปิด/ปิดใช้งานคำแนะนำการฝังสำหรับชื่อพารามิเตอร์ ค่าที่รองรับคือ: none
(ปิดใช้งานคำแนะนำชื่อพารามิเตอร์), literals
(เปิดใช้งานคำแนะนำชื่อพารามิเตอร์สำหรับอาร์กิวเมนต์ตามตัวอักษรเท่านั้น) และ all
(เปิดใช้งานคำแนะนำชื่อพารามิเตอร์สำหรับอาร์กิวเมนต์ตามตัวอักษรและไม่ใช่ตัวอักษร) ค่าเริ่มต้นเป็น literals
java.compile.nullAnalysis.nonnull
: ระบุประเภทคำอธิบายประกอบที่ไม่เป็นค่าว่างที่จะใช้สำหรับการวิเคราะห์ค่าว่าง หากมีการระบุคำอธิบายประกอบมากกว่าหนึ่งรายการ คำอธิบายประกอบที่อยู่ด้านบนสุดจะถูกใช้ก่อนหากมีอยู่ในการขึ้นต่อกันของโปรเจ็กต์ของคุณ การตั้งค่านี้จะถูกละเว้นหาก java.compile.nullAnalysis.mode
ถูกตั้งค่าเป็น disabled
java.compile.nullAnalysis.nullable
: ระบุประเภทคำอธิบายประกอบแบบ Nullable ที่จะใช้สำหรับการวิเคราะห์แบบ Nullable หากมีการระบุคำอธิบายประกอบมากกว่าหนึ่งรายการ คำอธิบายประกอบที่อยู่ด้านบนสุดจะถูกใช้ก่อนหากมีอยู่ในการขึ้นต่อกันของโปรเจ็กต์ของคุณ การตั้งค่านี้จะถูกละเว้นหาก java.compile.nullAnalysis.mode
ถูกตั้งค่าเป็น disabled
java.compile.nullAnalysis.nonnullbydefault
: ระบุประเภทคำอธิบายประกอบ NonNullByDefault ที่จะใช้สำหรับการวิเคราะห์ null หากมีการระบุคำอธิบายประกอบมากกว่าหนึ่งรายการ คำอธิบายประกอบที่อยู่ด้านบนสุดจะถูกใช้ก่อนหากมีอยู่ในการขึ้นต่อกันของโปรเจ็กต์ของคุณ การตั้งค่านี้จะถูกละเว้นหาก java.compile.nullAnalysis.mode
ถูกตั้งค่าเป็น disabled
java.import.maven.offline.enabled
: เปิด/ปิดโหมดออฟไลน์ของ Maven ค่าเริ่มต้นเป็น false
java.codeAction.sortMembers.avoidVolatileChanges
: การเรียงลำดับฟิลด์ ค่าคงที่แจงนับ และตัวเริ่มต้นใหม่อาจส่งผลให้เกิดการเปลี่ยนแปลงทางความหมายและรันไทม์ เนื่องจากการกำหนดค่าเริ่มต้นและลำดับการคงอยู่ที่แตกต่างกัน การตั้งค่านี้ป้องกันไม่ให้เกิดเหตุการณ์เช่นนี้ ค่าเริ่มต้นเป็น true
java.jdt.ls.protobufSupport.enabled
: ระบุว่าจะเพิ่มไดเร็กทอรีซอร์สเอาต์พุต Protobuf ให้กับ classpath โดยอัตโนมัติหรือไม่ หมายเหตุ: ใช้งานได้กับปลั๊กอิน Gradle com.google.protobuf
0.8.4
หรือสูงกว่าเท่านั้น ค่าเริ่มต้นเป็น true
java.jdt.ls.androidSupport.enabled
: [ทดลอง] ระบุว่าจะเปิดใช้งานการนำเข้าโปรเจ็กต์ Android หรือไม่ เมื่อตั้งค่าเป็น auto
การสนับสนุน Android จะเปิดใช้งานใน Visual Studio Code - Insiders หมายเหตุ: ใช้งานได้กับ Android Gradle Plugin 3.2.0
หรือสูงกว่าเท่านั้น ค่าเริ่มต้นเป็น auto
java.completion.postfix.enabled
: เปิด/ปิดใช้งานการสนับสนุนการเติม postfix ให้สมบูรณ์ ค่าเริ่มต้นเป็น true
java.completion.chain.enabled
: เปิด/ปิดใช้งานการสนับสนุนการทำให้เชนสมบูรณ์ ค่าเริ่มต้นเป็น false
java.completion.matchCase
: ระบุว่าจะจับคู่ตัวพิมพ์เล็กหรือใหญ่สำหรับการเติมโค้ดให้สมบูรณ์หรือไม่ ค่าเริ่มต้นเป็น firstLetter
java.compile.nullAnalysis.mode
: ระบุวิธีเปิดใช้งานการวิเคราะห์ null ที่ใช้คำอธิบายประกอบ ค่าที่รองรับถูก disabled
(ปิดใช้งานการวิเคราะห์ null), interactive
(ถามเมื่อตรวจพบประเภทคำอธิบายประกอบ null), automatic
(เปิดใช้งานการวิเคราะห์ null โดยอัตโนมัติเมื่อตรวจพบประเภทคำอธิบายประกอบ null) ค่าเริ่มต้น interactive
java.cleanup.actionsOnSave
: เลิกใช้แล้ว โปรดใช้ 'java.cleanup.actions' แทน รายการการล้างข้อมูลที่จะรันบนเอกสารปัจจุบันเมื่อมีการบันทึก การล้างข้อมูลสามารถแก้ไขรูปแบบโค้ดหรือข้อผิดพลาดในการเขียนโปรแกรมได้โดยอัตโนมัติ คลิกที่นี่เพื่อเรียนรู้เพิ่มเติมว่าการล้างแต่ละครั้งทำอะไรได้บ้าง
java.cleanup.actions
: รายการการล้างข้อมูลที่จะรันบนเอกสารปัจจุบันเมื่อมีการบันทึกหรือเมื่อมีการออกคำสั่งล้างข้อมูล การล้างข้อมูลสามารถแก้ไขรูปแบบโค้ดหรือข้อผิดพลาดในการเขียนโปรแกรมได้โดยอัตโนมัติ คลิกที่นี่เพื่อเรียนรู้เพิ่มเติมว่าการล้างแต่ละครั้งทำอะไรได้บ้าง
java.saveActions.cleanup
: เปิด/ปิดการดำเนินการล้างข้อมูลเมื่อบันทึก
java.import.gradle.annotationProcessing.enabled
: เปิด/ปิดใช้งานการประมวลผลคำอธิบายประกอบในโครงการ Gradle และมอบหมายให้กับ JDT APT ใช้งานได้กับ Gradle 5.2 หรือสูงกว่าเท่านั้น
java.sharedIndexes.enabled
: [ทดลอง] ระบุว่าจะแชร์ดัชนีระหว่างพื้นที่ทำงานที่แตกต่างกันหรือไม่ ค่าเริ่มต้นเป็น auto
และดัชนีที่ใช้ร่วมกันจะเปิดใช้งานโดยอัตโนมัติใน Visual Studio Code - Insiders
อัตโนมัติ
บน
ปิด
java.sharedIndexes.location
: ระบุตำแหน่งดัชนีทั่วไปสำหรับเวิร์กสเปซทั้งหมด ดูค่าเริ่มต้นดังต่อไปนี้:
Windows: ขั้นแรกให้ใช้ "$APPDATA.jdtindex"
หรือ "~.jdtindex"
หากไม่มีอยู่
macOS: "~/Library/Caches/.jdt/index"
Linux: ขั้นแรกให้ใช้ "$XDG_CACHE_HOME/.jdt/index"
หรือ "~/.cache/.jdt/index"
หากไม่มีอยู่
java.refactoring.extract.interface.replace
: ระบุว่าจะแทนที่การเกิดขึ้นทั้งหมดของชนิดย่อยด้วยอินเทอร์เฟซที่แตกออกมาใหม่หรือไม่ ค่าเริ่มต้นเป็น true
java.import.maven.disableTestClasspathFlag
: เปิด/ปิดใช้งานการแยกคลาสพาธทดสอบ เมื่อเปิดใช้งาน จะอนุญาตให้ใช้ทรัพยากรทดสอบภายในโปรเจ็กต์ Maven เป็นการพึ่งพาภายในขอบเขตการคอมไพล์ของโปรเจ็กต์อื่น ค่าเริ่มต้นเป็น false
java.configuration.maven.defaultMojoExecutionAction
: ระบุการดำเนินการดำเนินการ mojo เริ่มต้นเมื่อตรวจไม่พบข้อมูลเมตาที่เกี่ยวข้อง ค่าเริ่มต้นที่จะ ignore
java.completion.lazyResolveTextEdit.enabled
: [ทดลอง] เปิด/ปิดใช้งานการแก้ไขข้อความอย่างเกียจคร้านเพื่อการเติมโค้ดให้สมบูรณ์ ค่าเริ่มต้นเป็น true
java.edit.validateAllOpenBuffersOnChanges
: ระบุว่าจะตรวจสอบไฟล์ Java ที่เปิดอยู่ทั้งหมดอีกครั้งเพื่อวินิจฉัยเมื่อแก้ไขไฟล์ Java หรือไม่ ค่าเริ่มต้นเป็น false
java.editor.reloadChangedSources
: ระบุว่าจะรีโหลดซอร์สของไฟล์คลาสเปิดหรือไม่ เมื่อไฟล์ jar ต้นทางมีการเปลี่ยนแปลง ค่าเริ่มต้นที่จะ ask
ask
: ขอให้โหลดซอร์สของไฟล์คลาสเปิดอีกครั้ง
auto
: รีโหลดซอร์สของไฟล์คลาสเปิดโดยอัตโนมัติ
manual
: โหลดซอร์สของไฟล์ open class ด้วยตนเอง
java.edit.smartSemicolonDetection.enabled
: กำหนดการตรวจ smart semicolon
ค่าเริ่มต้นเป็น false
java.configuration.detectJdksAtStart
: ตรวจจับ JDK ที่ติดตั้งบนเครื่องโลคอลโดยอัตโนมัติเมื่อเริ่มต้นระบบ หากคุณระบุเวอร์ชัน JDK เดียวกันใน java.configuration.runtimes
ส่วนขยายจะใช้เวอร์ชันนั้นก่อน ค่าเริ่มต้นเป็น true
java.completion.collapseCompletionItems
: เปิด/ปิดใช้งานการล่มสลายของวิธีการโอเวอร์โหลดในรายการที่สมบูรณ์ แทนที่ java.completion.guessMethodArguments
ค่าเริ่มต้นเป็น false
java.diagnostic.filter
: ระบุรายการรูปแบบไฟล์ที่เอกสารที่ตรงกันไม่ควรมีการรายงานการวินิจฉัย (เช่น '**/Foo.java')
java.search.scope
: ระบุขอบเขตที่จะต้องใช้สำหรับการดำเนินการค้นหาเช่น
ค้นหาข้อมูลอ้างอิง
ลำดับชั้นการโทร
สัญลักษณ์พื้นที่ทำงาน
java.jdt.ls.javac.enabled
: [ทดลอง] ระบุว่าจะเปิดใช้งานการคอมไพล์ที่ใช้ Javac ในเซิร์ฟเวอร์ภาษาหรือไม่ ต้องใช้ส่วนขยายนี้ด้วย Java 23 ค่าเริ่มต้นเป็น off
java.completion.engine
: [ทดลอง] เลือกกลไกการเติมโค้ดให้สมบูรณ์ ค่าเริ่มต้นเป็น ecj
การเน้นความหมายแก้ไขไวยากรณ์จำนวนมากที่เน้นปัญหาเกี่ยวกับไวยากรณ์ Java Textmate เริ่มต้น อย่างไรก็ตาม คุณอาจประสบปัญหาเล็กๆ น้อยๆ บางประการ โดยเฉพาะอย่างยิ่งความล่าช้าเมื่อเริ่มทำงาน เนื่องจากจำเป็นต้องคำนวณโดยเซิร์ฟเวอร์ภาษา Java เมื่อเปิดไฟล์ใหม่หรือเมื่อพิมพ์ การเน้นความหมายสามารถปิดใช้งานได้สำหรับทุกภาษาโดยใช้การตั้งค่า editor.semanticHighlighting.enabled
หรือสำหรับ Java โดยใช้การตั้งค่าตัวแก้ไขเฉพาะภาษาเท่านั้น
ตรวจสอบสถานะของเครื่องมือภาษาที่มุมขวาล่าง (ทำเครื่องหมายด้วย A ในภาพด้านล่าง) ควรแสดงพร้อม (ยกนิ้วโป้ง) ดังภาพด้านล่าง คุณสามารถคลิกที่สถานะและเปิดบันทึกเครื่องมือภาษาเพื่อดูข้อมูลเพิ่มเติมในกรณีที่เกิดความล้มเหลว
อ่านคู่มือการแก้ไขปัญหาเพื่อรวบรวมข้อมูลเกี่ยวกับปัญหาที่คุณอาจพบ
รายงานปัญหาใด ๆ ที่คุณเผชิญต่อโครงการ
นี่เป็นโครงการโอเพ่นซอร์สที่เปิดให้ทุกคน ยินดีเป็นอย่างยิ่ง!
สำหรับข้อมูลเกี่ยวกับการเริ่มต้น โปรดดูคำแนะนำในการมีส่วนร่วม
บิลด์การรวมอย่างต่อเนื่องสามารถติดตั้งได้จาก http://download.jboss.org/jbosstools/jdt.ls/staging/ ดาวน์โหลดไฟล์ java-<version>.vsix
ล่าสุด และติดตั้งโดยทำตามคำแนะนำที่นี่ รุ่นเสถียรจะถูกเก็บถาวรภายใต้http://download.jboss.org/jbosstools/static/jdt.ls/stable/
นอกจากนี้ คุณยังสามารถสนับสนุนส่วนขยาย VS Code ของคุณเองเพื่อปรับปรุงคุณสมบัติที่มีอยู่โดยทำตามคำแนะนำที่นี่
มีคำถาม? เริ่มการสนทนาในการสนทนา GitHub
แจ้งข้อบกพร่องในปัญหา GitHub
พูดคุยกับเราบน Gitter
ทวีตถึงเราพร้อมข้อเสนอแนะอื่น ๆ
EPL 2.0 ดูใบอนุญาตสำหรับข้อมูลเพิ่มเติม