รวม ESLINT เข้ากับรหัส VS หากคุณยังใหม่กับ Eslint ตรวจสอบเอกสาร
ส่วนขยายใช้ไลบรารี ESLINT ที่ติดตั้งในโฟลเดอร์ Workspace ที่เปิดอยู่ หากโฟลเดอร์ไม่ได้จัดเตรียมหนึ่งส่วนขยายให้มองหาเวอร์ชันการติดตั้งทั่วโลก หากคุณยังไม่ได้ติดตั้ง ESLINT ไม่ว่าจะเป็นแบบท้องถิ่นหรือทั่วโลกโดยเรียกใช้ npm install eslint
ในโฟลเดอร์ Workspace สำหรับการติดตั้งในท้องถิ่นหรือ npm install -g eslint
สำหรับการติดตั้งทั่วโลก
ในโฟลเดอร์ใหม่คุณอาจต้องสร้างไฟล์กำหนดค่า .eslintrc
คุณสามารถทำได้โดยใช้คำสั่ง VS Code Create ESLint configuration
หรือโดยเรียกใช้คำสั่ง eslint
ในเทอร์มินัลด้วย npx eslint --init
ส่วนนี้อธิบายถึงการเผยแพร่ที่สำคัญและการปรับปรุงของพวกเขา สำหรับรายการการเปลี่ยนแปลงโดยละเอียดโปรดดูบันทึกการเปลี่ยนแปลง
จากเวอร์ชัน 2.2.3 บนหมายเลขรุ่นคี่หรือหมายเลขแพทช์ไปข้างหน้าหมายถึงวงในหรือการเปิดตัวล่วงหน้า ดังนั้นเวอร์ชัน 2.2.3
, 2.2.5
และ 2.3.1
จะเป็นรุ่นก่อนวางจำหน่าย 2.2.10
, 2.4.10
และ 3.0.0
ทั้งหมดจะเป็นรุ่นปล่อยปกติ
eslint.validate
ถูกระบุเฉพาะไฟล์ในรายการนั้นจะได้รับการตรวจสอบ ตัวอย่างเช่นการตั้งค่าของแบบฟอร์ม "eslint.validate": [
"javascript"
]
eslint.useFlatConfig
ใหม่ซึ่งได้รับการยกย่องจาก ESLINT เวอร์ชัน 8.57.0 ขึ้นไป หากมีการใช้เวอร์ชันใดรุ่นหนึ่งส่วนขยายจะปฏิบัติตามแผนการเปิดตัว ESLINT Flat Config การตั้งค่ามีความหมายเช่นเดียวกับตัวแปรสภาพแวดล้อม ESLINT_USE_FLAT_CONFIG
นั่นหมายความว่า:eslint.experimental.useFlatConfig
เลิกใช้แล้วและควรใช้สำหรับรุ่น ESLINT เท่านั้นหรือ 8.21 <8.57.0ESLint: Revalidate all open files
เพื่อตรวจสอบไฟล์ที่เปิดทั้งหมดทั้งหมดeslint.timeBudget.onValidation
และ eslint.timeBudget.onFixes
untitled
เรื่องพระเจ้าeslint.alwaysShowStatus
ได้ถูกลบออกเนื่องจากสถานะจะแสดงเป็นตัวบ่งชี้สถานะภาษาeslint.timeBudget.onValidation
และ eslint.timeBudget.onFixes
untitled
เรื่องพระเจ้าeslint.alwaysShowStatus
ได้ถูกลบออกเนื่องจากสถานะจะแสดงเป็นตัวบ่งชี้สถานะภาษา เพิ่มการสนับสนุนสำหรับ ESLINT v8.0 เบต้า เพื่อให้อยู่ย้อนหลังเข้ากันได้กับการตั้งค่า ESLINT เวอร์ชันยังคงใช้ cliEngine หากมีอยู่ อย่างไรก็ตามผู้ใช้สามารถบังคับให้ใช้ ESLINT API ใหม่โดยใช้การตั้งค่า eslint.useESLintClass
ระวังว่าโมดูล ESLINT NPM เปลี่ยนวิธีการตีความตัวเลือก นอกจากนี้ยังเปลี่ยนชื่อของตัวเลือกบางตัว หากคุณใช้ eslint.options
เพื่อส่งผ่านตัวเลือกพิเศษไปยังโมดูล ESLINT NPM คุณอาจต้องปรับการตั้งค่าให้เข้ากับแบบฟอร์มใหม่
ปรับรูปแบบ Workspace Trust ของ VS Code เป็นผลให้การโต้ตอบแบบกำหนดเอง ESLINT ที่แนะนำในเวอร์ชัน 2.1.7
ได้ถูกลบออก นอกจากนี้ค่า off
ที่เพิ่มเข้ามาในการสนับสนุนการปรับแต่งกฎ ESLINT
เพิ่มการสนับสนุนเพื่อปรับแต่งความรุนแรงของกฎ ESLINT ดูการตั้งค่าใหม่ eslint.rules.customizations
การขอการยืนยันค่า eslint.nodePath
เปิดเผยการตั้งค่าที่กำหนดค่านั้นแยกกันในระดับโฟลเดอร์เวิร์กสเปซแม้ว่าการตั้งค่าโฟลเดอร์เวิร์กสเปซ Multi Workspace เปิดอยู่ (เช่นไฟล์ Code-Workspace) การตั้งค่าเหล่านี้จำเป็นต้องกำหนดค่า eslint.nodePath
ในไฟล์ code-workspace
ที่เกี่ยวข้องและส่วนขยายตอนนี้เตือนผู้ใช้เกี่ยวกับเรื่องนี้ ด้านล่างตัวอย่างของไฟล์ code-workspace
ดังกล่าว
{
"folders" : [
{
"path" : " project-a "
},
{
"path" : " project-b "
}
],
"settings" : {
"eslint.nodePath" : " myCustomNodePath "
}
}
ในการติดตามโมเดลของ VS Code เพื่อยืนยันการตั้งค่าท้องถิ่น Workspace ที่ส่งผลกระทบต่อรหัสการดำเนินการการตั้งค่าทั้งสอง eslint.runtime
และ eslint.nodePath
ตอนนี้ต้องการการยืนยันผู้ใช้หากกำหนดไว้ในโฟลเดอร์เวิร์กสเปซหรือไฟล์พื้นที่ทำงาน ผู้ใช้ที่ใช้การตั้งค่าเหล่านี้ในขอบเขตท้องถิ่นเหล่านั้นจะเห็นการแจ้งเตือนเตือนพวกเขาถึงความต้องการการยืนยัน
เวอร์ชันยังเพิ่มคำสั่งเพื่อรีสตาร์ทเซิร์ฟเวอร์ ESLINT
กระแสการอนุมัติเพื่อให้การดำเนินการของไลบรารี ESLINT ได้รับการปรับปรุงใหม่ ประสบการณ์ครั้งแรกของมันมีดังนี้:
การดำเนินการของไลบรารี ESLINT สามารถปฏิเสธหรืออนุมัติได้โดยใช้ท่าทางต่อไปนี้:
ESLint: Manage Library Execution
จากจานคำสั่งท่าทางทั้งหมดจะเปิดกล่องโต้ตอบต่อไปนี้:
การกระทำที่เลือกจะสะท้อนให้เห็นในรายการแถบสถานะ ESLINT ด้วยวิธีต่อไปนี้:
Allow
ให้นำหน้ารายการแถบสถานะด้วยเครื่องหมายถูกAllow Everywhere
จะนำหน้ารายการแถบสถานะด้วยเครื่องหมายเช็คสองครั้งDeny
และ Disable
จะนำหน้ารายการแถบสถานะด้วยเครื่องหมายที่ถูกบล็อกคุณสามารถจัดการการตัดสินใจของเราโดยใช้คำสั่งต่อไปนี้:
ESLint: Manage Library Execution
จะเปิดออกอีกครั้งด้านบนกล่องโต้ตอบESLint: Reset Library Decisions
ให้คุณรีเซ็ตการตัดสินใจก่อนหน้านี้ที่ได้ทำรุ่นนี้ยังระบุถึงช่องโหว่ที่อธิบายไว้ใน CVE-20121-27081
ส่วนขยาย 2.0.4 มีการปรับปรุงที่สำคัญต่อไปนี้:
eslint.validate
ของ VS Code เช่นเดียวกับไฟล์ HTML และ Vue.jseslint.workingDirectories
สามารถใช้รูปแบบ GLOB แทนการแสดงรายการทุกโฟลเดอร์โครงการ ตัวอย่างเช่น { "pattern": "code-*" }
จะจับคู่โฟลเดอร์โครงการทั้งหมดที่เริ่มต้นด้วย code-
- นอกจากนี้ส่วนขยายในขณะนี้จะเปลี่ยนไดเรกทอรีการทำงานโดยค่าเริ่มต้น คุณสามารถปิดการใช้งานคุณสมบัตินี้ด้วยคุณสมบัติใหม่ !cwd
eslint.format.enable
editor.codeActionsOnSave
การตั้งค่ารองรับ source.fixAll.eslint
คุณสมบัติเฉพาะของ ESLINT.fixall.eslint ส่วนขยายยังเคารพ source.fixAll
ของคุณสมบัติทั่วไป fixallการตั้งค่าด้านล่างเปิดการแก้ไขอัตโนมัติสำหรับผู้ให้บริการทั้งหมดรวมถึง ESLINT:
"editor.codeActionsOnSave" : {
"source.fixAll" : " explicit "
}
ในทางตรงกันข้ามการกำหนดค่านี้จะเปิดเฉพาะสำหรับ ESLINT:
"editor.codeActionsOnSave" : {
"source.fixAll.eslint" : " explicit "
}
นอกจากนี้คุณยังสามารถเลือกปิดใช้งาน ESLINT ผ่าน:
"editor.codeActionsOnSave" : {
"source.fixAll" : " explicit " ,
"source.fixAll.eslint" : " never "
}
นอกจากนี้โปรดทราบว่ามีงบประมาณเวลา 750ms ในการเรียกใช้การกระทำของรหัสบนบันทึกซึ่งอาจไม่เพียงพอสำหรับไฟล์ JavaScript / typeScript ขนาดใหญ่ คุณสามารถเพิ่มงบประมาณเวลาโดยใช้ editor.codeActionsOnSaveTimeout
การตั้งค่า eslint.autoFixOnSave
แบบเก่าตอนนี้เลิกใช้แล้วและสามารถลบออกได้อย่างปลอดภัย
หากคุณใช้ Eslint Extension เวอร์ชัน <2.x โปรดดูที่ตัวเลือกการตั้งค่าที่นี่
ส่วนขยายนี้มีส่วนร่วมตัวแปรต่อไปนี้ในการตั้งค่า:
eslint.enable
: เปิด/ปิดการใช้งาน ESLINT สำหรับโฟลเดอร์ Workspace เปิดใช้งานโดยค่าเริ่มต้น
eslint.debug
: เปิดใช้งานโหมดการดีบักของ ESLINT (เช่นเดียวกับ -ตัวเลือกบรรทัดคำสั่ง DEBUG) โปรดดูช่อง ESLINT OUTPUT สำหรับเอาต์พุตดีบั๊ก ตัวเลือกนี้มีประโยชน์มากในการติดตามปัญหาการกำหนดค่าและการติดตั้งด้วย ESLINT เนื่องจากมีข้อมูล verbose เกี่ยวกับวิธีการตรวจสอบไฟล์ ESLINT
eslint.lintTask.enable
: ส่วนขยายมีส่วนร่วมในการทำภารกิจผ้าสำลีเพื่อผ้าสำลีทั้งหมดโฟลเดอร์เวิร์กสเปซหรือไม่
eslint.lintTask.options
: ตัวเลือกบรรทัดคำสั่งที่ใช้เมื่อรันงานสำหรับผ้าสำลีเวิร์กสเปซทั้งหมด (https://eslint.org/docs/user-guide/command-line-interface) ตัวอย่างเพื่อชี้ไปที่ไฟล์ .eslintrc.json
ที่กำหนดเองและแบบกำหนดเอง .eslintignore
คือ:
{
"eslint.lintTask.options" : " -c C:/mydirectory/.eslintrc.json --ignore-path C:/mydirectory/.eslintignore . "
}
การตั้งค่า eslint.packageManager
เก่าตอนนี้เลิกใช้แล้วและสามารถลบออกได้อย่างปลอดภัย สิ่งนี้ควบคุมตัวจัดการแพ็คเกจที่จะใช้เพื่อแก้ไขไลบรารี ESLINT สิ่งนี้มีอิทธิพลเพียงถ้าไลบรารี ESLINT ได้รับการแก้ไขทั่วโลก ค่าที่ถูกต้องคือ "npm"
หรือ "yarn"
หรือ "pnpm"
eslint.options
: ตัวเลือกในการกำหนดค่าวิธีการเริ่มต้นของ ESLINT โดยใช้ ESLINT Class API หรือ CLIENGINE API ส่วนขยายใช้ ESLINT Class API หากใช้ ESLINT เวอร์ชัน 8 หรือสูงกว่าหรือใช้ ESLINT เวอร์ชัน 7 และใช้การตั้งค่า eslint.useESLintCLass
ถูกตั้งค่าเป็น TRUE ในกรณีอื่น ๆ ทั้งหมดใช้ CliEngine API ตัวอย่างที่จะชี้ไปที่ไฟล์ .eslintrc.json
ที่กำหนดเองโดยใช้ ESLINT API ใหม่คือ:
{
"eslint.options" : { "overrideConfigFile" : " C:/mydirectory/.eslintrc.json " }
}
ตัวอย่างเพื่อชี้ไปที่ไฟล์ .eslintrc.json
ที่กำหนดเองโดยใช้ Cliengine API เก่าคือ:
{
"eslint.options" : { "configFile" : " C:/mydirectory/.eslintrc.json " }
}
eslint.useESLintClass
(@Since 2.2.0) - ไม่ว่าจะใช้ ESLINT Class API แม้ว่าจะมี API CliEngine หรือไม่ก็ตาม การตั้งค่าเป็นเกียรติเมื่อใช้ ESLINT เวอร์ชัน 7.x
eslint.run
- เรียกใช้ linter onSave
หรือ onType
ค่าเริ่มต้นคือ onType
eslint.quiet
- เพิกเฉยต่อคำเตือน
eslint.runtime
- ใช้การตั้งค่านี้เพื่อตั้งค่าเส้นทางของ Node Runtime เพื่อเรียกใช้ ESLINT ภายใต้ ใช้ "node"
หากคุณต้องการใช้โหนดระบบเริ่มต้นของคุณ
eslint.execArgv
-ใช้การตั้งค่านี้เพื่อส่งผ่านอาร์กิวเมนต์เพิ่มเติมไปยัง Node Runtime เช่น --max_old_space_size=4096
eslint.nodeEnv
- ใช้การตั้งค่านี้หากปลั๊กอิน ESLINT หรือการกำหนดค่าต้องการ process.env.NODE_ENV
ที่จะกำหนด
eslint.nodePath
- ใช้การตั้งค่านี้หากไม่สามารถตรวจพบแพ็คเกจ ESLINT ที่ติดตั้งได้เช่น /myGlobalNodePackages/node_modules
eslint.probe
- อาร์เรย์สำหรับตัวระบุภาษาที่ควรเปิดใช้งานส่วนขยาย ESLINT และควรพยายามตรวจสอบไฟล์ หากการตรวจสอบความถูกต้องล้มเหลวสำหรับภาษาที่ตรวจสอบส่วนขยายจะบอกว่าเงียบ ค่าเริ่มต้นเป็น ["astro", "javascript", "javascriptreact", "typescript","typescriptreact", "html", "mdx", "vue", "markdown", "json", "jsonc"]
eslint.validate
- อาร์เรย์ของตัวระบุภาษาที่ระบุไฟล์ที่จะบังคับใช้การตรวจสอบความถูกต้อง หากระบุเฉพาะไฟล์ที่มีรหัสภาษาใดภาษาหนึ่งที่ระบุจะได้รับการตรวจสอบ สิ่งนี้เทียบได้กับตัวเลือกบรรทัดคำสั่ง --ext
ค่าเริ่มต้นเป็น null
eslint.format.enable
: เปิดใช้งาน ESLINT เป็นรูปแบบสำหรับไฟล์ที่ผ่านการตรวจสอบแล้ว แม้ว่าคุณจะสามารถใช้ Formatter ในการบันทึกโดยใช้ตัวแก้ไขการตั้งค่า editor.formatOnSave
ขอแนะนำให้ใช้คุณสมบัติ editor.codeActionsOnSave
เนื่องจากช่วยให้สามารถกำหนดค่าได้ดีขึ้น
eslint.workingDirectories
- ระบุว่าไดเรกทอรีการทำงานที่ใช้ ESLINT ใช้คำนวณได้อย่างไร ESLINT แก้ไขไฟล์การกำหนดค่า (เช่น eslintrc
, .eslintignore
) เทียบกับไดเรกทอรีการทำงานดังนั้นจึงเป็นสิ่งสำคัญในการกำหนดค่านี้อย่างถูกต้อง หากการดำเนินการ ESLINT ในเทอร์มินัลต้องการให้คุณเปลี่ยนไดเรกทอรีการทำงานในเทอร์มินัลเป็นโฟลเดอร์ย่อยคุณควรปรับแต่งการตั้งค่านี้ (ดูเพิ่มเติมที่ตัวเลือกคลาส ESLINT#CWD) โปรดทราบว่าไฟล์ .eslintrc*
ได้รับการแก้ไขโดยพิจารณาจากไดเรกทอรีหลักในขณะที่ไฟล์ .eslintignore
ได้รับเกียรติในไดเรกทอรีการทำงานปัจจุบันเท่านั้น สามารถใช้ค่าต่อไปนี้:
[{ "mode": "location" }]
(@Since 2.0.0): สั่งให้ ESLINT ใช้ตำแหน่งโฟลเดอร์เวิร์กสเปซหรือตำแหน่งไฟล์ (หากไม่มีโฟลเดอร์ Workspace เปิด) เป็นไดเรกทอรีการทำงาน นี่เป็นค่าเริ่มต้นและเป็นกลยุทธ์เดียวกับที่ใช้ในส่วนขยาย ESLINT รุ่นเก่า (เวอร์ชัน 1.9.X)[{ "mode": "auto" }]
(@since 2.0.0): สั่งให้ Eslint อนุมานไดเรกทอรีการทำงานตามตำแหน่งของ package.json
, eslint.config.js
, .eslintignore
และ .eslintrc*
ไฟล์ สิ่งนี้อาจใช้งานได้ในหลายกรณี แต่อาจนำไปสู่ผลลัพธ์ที่ไม่คาดคิดเช่นกันstring[]
: อาร์เรย์ของไดเรกทอรีการทำงานที่จะใช้ พิจารณาเค้าโครงไดเรกทอรีต่อไปนี้: root/
client/
.eslintrc.json
client.js
server/
.eslintignore
.eslintrc.json
server.js
"eslint.workingDirectories" : [ "./client" , "./server" ]
!cwd
สามารถใช้งานได้ (เช่น { "directory": "./client", "!cwd": true }
) สิ่งนี้จะใช้ไดเรกทอรีไคลเอนต์เป็นไดเรกทอรีการทำงานของ ESLINT แต่จะไม่เปลี่ยนไดเรกทอรีการทำงานของกระบวนการ[{ "pattern": glob pattern }]
(@Since 2.0.0): อนุญาตให้ระบุรูปแบบในการตรวจจับไดเรกทอรีการทำงาน นี่คือการตัดสั้น ๆ สำหรับรายการทุกไดเรกทอรี หากคุณมีที่เก็บโมโนพร้อมโครงการทั้งหมดของคุณอยู่ด้านล่างโฟลเดอร์แพ็คเกจคุณสามารถใช้ { "pattern": "./packages/*/" }
เพื่อสร้างไดเรกทอรีการทำงานทั้งหมดของโฟลเดอร์เหล่านี้ eslint.codeAction.disableRuleComment
- วัตถุที่มีคุณสมบัติ:
enable
- แสดงกฎการปิดใช้งานกฎเกณฑ์ในเมนูแก้ไขด่วน true
โดยค่าเริ่มต้นlocation
- เลือกที่จะเพิ่มความคิดเห็น eslint-disable
บน separateLine
หรือ sameLine
separateLine
เป็นค่าเริ่มต้น ตัวอย่าง: { "enable" : true , "location" : " sameLine " }
eslint.codeAction.showDocumentation
- วัตถุที่มีคุณสมบัติ:
enable
- แสดงหน้าเว็บหน้าเว็บที่เปิดกฎระเบียบในเมนูแก้ไขด่วน true
โดยค่าเริ่มต้น eslint.codeActionsOnSave.mode
(@Since 2.0.12) - ควบคุมปัญหาที่แก้ไขเมื่อเรียกใช้การดำเนินการรหัสบนบันทึก
all
: แก้ไขปัญหาที่เป็นไปได้ทั้งหมดโดยการปรับเทียบเนื้อหาของไฟล์ใหม่ สิ่งนี้ดำเนินการเส้นทางรหัสเดียวกันกับการเรียกใช้ ESLINT ด้วยตัวเลือก --fix
ในเทอร์มินัลและอาจใช้เวลาพอสมควร นี่คือค่าเริ่มต้นproblems
: แก้ไขเฉพาะปัญหาที่สามารถแก้ไขได้ในปัจจุบันตราบใดที่การแก้ไขข้อความของพวกเขานั้นไม่ได้อยู่เหนือกว่า โหมดนี้เร็วกว่ามาก แต่มีแนวโน้มมากที่จะแก้ไขปัญหาบางส่วนเท่านั้น โปรดทราบว่าหาก eslint.codeActionsOnSave.mode
ถูกตั้งค่าเป็น problems
eslint.codeActionsOnSave.rules
จะถูกละเว้น
eslint.codeActionsOnSave.rules
(@Since 2.2.0) - ควบคุมกฎที่นำมาพิจารณาในระหว่างการดำเนินการโค้ดในการบันทึกการดำเนินการ หากไม่ได้ระบุกฎทั้งหมดที่ระบุผ่านกลไกการกำหนดค่า ESLINT ปกติจะถูกพิจารณา อาร์เรย์ที่ว่างเปล่าส่งผลให้ไม่มีการพิจารณากฎ หากอาร์เรย์มีมากกว่าหนึ่งรายการเรื่องคำสั่งซื้อและการจับคู่แรกจะกำหนดสถานะเปิด / ปิดของกฎ การตั้งค่านี้ได้รับเกียรติภายใต้กรณีต่อไปนี้เท่านั้น:
eslint.codeActionsOnSave.mode
มีค่าแตกต่างจาก problems
eslint.useESLintClass
ถูกตั้งค่าเป็น TRUE (เวอร์ชัน> = 8 || (เวอร์ชัน == 7.X && ESLINT.USESLINTCLASS)ในตัวอย่างนี้มีการพิจารณากฎที่เกี่ยวข้องกับอัฒภาคเท่านั้น:
"eslint.codeActionsOnSave.rules" : [
" *semi* "
]
ตัวอย่างนี้จะลบกฎเฉพาะ TypeScript ESLINT ทั้งหมดออกจากการดำเนินการโค้ดบน SAVE Pass แต่เก็บกฎอื่น ๆ ทั้งหมด:
"eslint.codeActionsOnSave.rules" : [
" !@typescript-eslint/* " ,
" * "
]
ตัวอย่างนี้ช่วยให้กฎการเยื้องและกึ่งจาก TypeScript Eslint ปิดการใช้งานกฎ eslint typescript อื่น ๆ ทั้งหมดและรักษาส่วนที่เหลือ:
"eslint.codeActionsOnSave.rules" : [
" @typescript-eslint/semi " ,
" @typescript-eslint/indent " ,
" !@typescript-eslint/* " ,
" * "
]
eslint.rules.customizations
(@Since 2.1.20) - กฎบังคับให้รายงานความรุนแรงที่แตกต่างกันภายในรหัส VS เมื่อเทียบกับการกำหนดค่า ESLINT ที่แท้จริงของโครงการ มีคุณสมบัติเหล่านี้:
"rule
": เลือกกฎที่มีชื่อที่ตรงกันโดยแฟคตอริ่งในเครื่องหมายดอกจันเป็นไวด์การ์ด: { "rule": "no-*", "severity": "warn" }
"!"
เพื่อกำหนดเป้าหมายกฎทั้งหมดที่ ไม่ ตรงกับชื่อ: { "rule": "!no-*", "severity": "info" }
"severity"
: ตั้งค่าความรุนแรง "default"
"upgrade"
กฎที่ "downgrade"
คู่"fixable"
: เลือกเฉพาะกฎ AutoFixable เท่านั้น: { "rule": "no-*", "fixable": true, "severity": "info" }
ในตัวอย่างนี้กฎทั้งหมดถูกแทนที่ด้วยคำเตือน:
"eslint.rules.customizations" : [
{ "rule" : " * " , "severity" : " warn " }
]
ในตัวอย่างนี้ no-
กฎเป็นข้อมูลกฎอื่น ๆ จะถูกลดระดับและ "radix"
จะถูกรีเซ็ตเป็นค่าเริ่มต้น:
"eslint.rules.customizations" : [
{ "rule" : " no-* " , "severity" : " info " },
{ "rule" : " !no-* " , "severity" : " downgrade " },
{ "rule" : " radix " , "severity" : " default " }
]
ในตัวอย่างนี้กฎอัตโนมัติทั้งหมดจะถูกแทนที่ด้วยข้อมูล:
"eslint.rules.customizations" : [
{ "rule" : " * " , "fixable" : true , "severity" : " info " }
]
eslint.format.enable
(@Since 2.0.0) - ใช้ ESLINT เป็นรูปแบบสำหรับไฟล์ที่ตรวจสอบโดย ESLINT หากเปิดใช้งานโปรดตรวจสอบให้แน่ใจว่าจะปิดการใช้งาน formatters อื่น ๆ หากคุณต้องการทำให้เป็นค่าเริ่มต้น วิธีที่ดีในการทำเช่นนั้นคือการเพิ่มการตั้งค่าต่อไปนี้ "[javascript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" }
สำหรับ JavaScript สำหรับ TypeScript คุณต้องเพิ่ม "[typescript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" }
eslint.onIgnoredFiles
(@Since 2.0.10): ใช้เพื่อควบคุมว่าควรสร้างคำเตือนเมื่อพยายามที่จะละเว้นไฟล์หรือไม่ ค่าเริ่มต้น off
สามารถตั้งค่าเป็น warn
editor.codeActionsOnSave
(@Since 2.0.0): การตั้งค่านี้รองรับ source.fixAll.eslint
ที่มาของรายการ fixall.eslint หากตั้งค่าเป็นข้อผิดพลาด ESLINT แบบปรับอัตโนมัติทั้งหมดจากปลั๊กอินทั้งหมดจะได้รับการแก้ไขเมื่อบันทึก นอกจากนี้คุณยังสามารถเลือกเปิดใช้งานและปิดใช้งานภาษาเฉพาะโดยใช้การตั้งค่าภาษา VS Code ในการปิดใช้งาน codeActionsOnSave
สำหรับไฟล์ HTML ให้ใช้การตั้งค่าต่อไปนี้:
"[html]" : {
"editor.codeActionsOnSave" : {
"source.fixAll.eslint" : false
}
}
การตั้งค่า eslint.autoFixOnSave
แบบเก่าตอนนี้เลิกใช้แล้วและสามารถลบออกได้อย่างปลอดภัย โปรดทราบด้วยว่าหากคุณใช้ ESLINT เป็นฟอร์แมตเริ่มต้นของคุณคุณควรปิด editor.formatOnSave
เมื่อคุณเปิด editor.codeActionsOnSave
มิฉะนั้นไฟล์จะได้รับการแก้ไขสองครั้งซึ่งไม่จำเป็น
eslint.problems.shortenToSingleLine
: (@Since 2.3.0) - สั้นลงข้อความของปัญหาที่ขีดเส้นใต้ไปยังบรรทัดแรกที่เกี่ยวข้อง
eslint.experimental.useFlatConfig
: (@Since 2.3.0) - เปิดใช้งานการสนับสนุนการกำหนดค่าแบบแบนทดลอง (aka eslint.config.js รองรับโดย ESLINT เวอร์ชัน 8.21 หรือใหม่กว่า)
eslint.timeBudget.onValidation
(@Since 2.3.5) - ควบคุมงบประมาณเวลาที่สามารถใช้สำหรับการตรวจสอบก่อนการเตือนหรือข้อผิดพลาดจะปรากฏขึ้น
eslint.timeBudget.onFixes
(@Since 2.3.5) - ควบคุมงบประมาณเวลาที่สามารถใช้ในการคำนวณการแก้ไขก่อนที่จะมีการเตือนหรือข้อผิดพลาด
หากตัวเลือก eslint.autoFixOnSave
เก่าถูกตั้งค่าเป็น TRUE ESLINT จะแจ้งให้แปลงเป็นรูปแบบ editor.codeActionsOnSave
ใหม่ หากคุณต้องการหลีกเลี่ยงการโยกย้ายคุณสามารถตอบสนองในบทสนทนาด้วยวิธีต่อไปนี้:
eslint.migration.2_x
เป็น off
การโยกย้ายสามารถเรียกใช้ด้วยตนเองโดยใช้คำสั่ง ESLint: Migrate Settings
ส่วนขยายนี้ก่อให้เกิดคำสั่งต่อไปนี้ไปยังจานคำสั่ง
Create '.eslintrc.json' file
: สร้างไฟล์ .eslintrc.json
ใหม่Fix all auto-fixable problems
: ใช้ความละเอียด Auto-Fix ESLINT กับปัญหาที่แก้ไขได้ทั้งหมด ส่วนขยายกำลังผ้าสำลีแต่ละไฟล์เฉพาะในการพิมพ์ หากคุณต้องการผ้าสำลีทั้งหมดเวิร์กสเปซตั้งค่า eslint.lintTask.enable
to true
และส่วนขยายจะมีส่วนร่วมในงาน eslint: lint whole folder
ไม่จำเป็นต้องมีอีกต่อไปในการกำหนดงานที่กำหนดเองใน tasks.json
. json
การแนะนำที่ยอดเยี่ยมเกี่ยวกับวิธีการพิมพ์ผ้าสำลีโดยใช้ ESLINT สามารถพบได้ใน TypeScript - Eslint โปรดทำให้ตัวเองคุ้นเคยกับการแนะนำก่อนที่จะใช้ส่วนขยาย ESLINT VS ในการตั้งค่า TypeScript โดยเฉพาะอย่างยิ่งตรวจสอบให้แน่ใจว่าคุณสามารถตรวจสอบไฟล์ TypeScript ได้สำเร็จในเทอร์มินัลโดยใช้คำสั่ง eslint
โครงการนี้ใช้ ESLINT เพื่อตรวจสอบไฟล์ TypeScript ดังนั้นจึงสามารถใช้เป็นพิมพ์เขียวเพื่อเริ่มต้นได้
เพื่อหลีกเลี่ยงการตรวจสอบความถูกต้องจากการติดตั้ง Tslint ใด ๆ ปิดการใช้งาน Tslint โดยใช้ "tslint.enable": false
เช่นเดียวกับ JavaScript ตรวจสอบความถูกต้อง typeScript ในที่เก็บโมโนต้องให้คุณบอกรหัส ESLINT VS ว่าไดเรกทอรีการทำงานในปัจจุบันคืออะไร ใช้การตั้งค่า eslint.workingDirectories
เพื่อทำเช่นนั้น สำหรับที่เก็บนี้การตั้งค่าไดเรกทอรีการทำงานจะมีดังนี้:
"eslint.workingDirectories" : [ " ./client " , " ./server " ]
การย้ายจาก ESLINT 5.X ไปยัง ESLINT 6.X อาจต้องมีการปรับตัว (ดูคู่มือการย้ายถิ่นของ ESLINT สำหรับรายละเอียด) ก่อนที่จะยื่นปัญหากับส่วนขยาย ESLINT VS โปรดตรวจสอบให้แน่ใจว่าคุณสามารถตรวจสอบไฟล์ของคุณในเทอร์มินัลได้สำเร็จโดยใช้คำสั่ง ESLINT