javascript - TypeScript - Visual Studio Code - การคอมไพล์ไม่แสดงแท็บ 2 ช่องว่าง
นี่ดูเหมือนจะเป็นปัญหาที่เกี่ยวข้องน้อยกว่า แต่ฉันใช้เวลาไปแล้ว 3 ชั่วโมงพยายามหาทางแก้ไขเรื่องนี้และก็ไม่ได้อะไรเลย
จากนั้นการตั้งค่าเบื้องต้น: ผมมีโปรเจคใน Node/JavaScript และตอนนี้ผมกำลังพยายามใช้ TypeScript เพื่อที่จะสร้างโค้ดสำหรับการผลิตที่สะอาดขึ้น ดังนั้นไฟล์ tsconfig.json จึงมีลักษณะดังนี้:
{
"compilerOptions": {
"target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', 'ES2021', or 'ESNEXT'. */
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
"lib": [
"DOM",
"es6",
"DOM.Iterable",
"ScriptHost"
], //default /* Specify library files to be included in the compilation. */
"sourceMap": true, /* Generates corresponding '.map' file. */
"removeComments": true, /* Do not emit comments to output. */
"strict": true, /* Enable all strict type-checking options. */
"esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
"skipLibCheck": true, /* Skip type checking of declaration files. */
"forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
},
"files": [
"app_js/functions-syncsystem.ts"
]
}
และไฟล์ .prettierrc ที่สวยกว่าของฉันมีลักษณะดังนี้:
{
"singleQuote": true,
"tabWidth": 2
}
นอกจากนี้ ฉันได้เปลี่ยนการตั้งค่าทั้งหมดสำหรับช่องว่างแท็บใน Visual Studio Code เป็น 2 ช่องว่าง (ทั้งผู้ใช้และพื้นที่ทำงาน) นอกจากนี้ยังยกเลิกการเลือก "Detect Indentation".
ปัญหา: บนโปรแกรมแก้ไขของฉัน ทุกอย่างทำงานได้ดีด้วยแท็บ 2 ช่องว่าง แต่เมื่อฉันรัน tsc บนเทอร์มินัล ไฟล์ที่ได้กลับมีขนาดแท็บ 4 และฉันดูเหมือนจะไม่สามารถเปลี่ยนได้ที่ไหนเลย
ฉันยังได้ลองทำตามข้อเสนอแนะหลายอย่างในโพสต์นี้ด้วย: วิธีเปลี่ยนการจัดย่อหน้าใน Visual Studio Code?
ชอบอันนี้ด้วย: https://stackoverflow.com/a/68082579/2510785
หลังจากแต่ละการแก้ไข ฉันก็แน่ใจว่าฉันปิดตัวแก้ไขแล้วเปิดใหม่และสร้างไฟล์คอมไพล์อีกไฟล์เพื่อความมั่นใจ ใครพอจะคิดถึงความเป็นไปได้อื่นที่อาจแก้ไขปัญหานี้ได้บ้าง? สิ่งเดียวที่ฉันคิดได้ก็คือมันอาจเป็นปัญหาเฉพาะในระบบปฏิบัติการของฉัน/การติดตั้ง VS Code ของฉัน
ขอบคุณ, Jorge Mauricio
คำตอบ #1
การเปลี่ยนการตั้งค่าของ VSCode จะไม่มีผลใด ๆ ต่อคอมไพเลอร์ tsc
เพียงแค่ดูอย่างรวดเร็ว ดูเหมือนไม่สามารถเปลี่ยนสไตล์การเยื้องของผลลัพธ์ของ tsc ได้ ดูที่ https://github.com/microsoft/TypeScript/issues/4042
นี่น่าจะเป็นเพราะว่ามักจะไม่มีเหตุผลที่นักพัฒนาจะต้องแก้ไขผลลัพธ์ที่คอมไพล์แล้ว
เป็นวิธีแก้ปัญหา คุณสามารถจัดรูปแบบไฟล์เอาต์พุตใหม่ด้วยเครื่องมืออย่าง prettier หรือใช้ VSCode เอง