ค้นหาเว็บไซต์

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 เอง