TypeScript – Visual Studio Code – 编译后不输出 2 个空格选项卡

Posted

技术标签:

【中文标题】TypeScript – Visual Studio Code – 编译后不输出 2 个空格选项卡【英文标题】:TypeScript – Visual Studio Code – Compiled Doesn´t Output 2 Spaces Tab 【发布时间】:2021-10-12 17:03:19 【问题描述】:

这似乎是一个不太相关的问题,但我已经花了 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 代码中制表符空格的所有配置更改为 2 个空格(用户和工作区)。

问题: 在我的编辑器上,2 个空格选项卡一切正常。但是当我在终端上运行 tsc 时,输出文件的选项卡大小为 4,我似乎无法更改任何地方。

我也尝试了很多关于这篇文章的建议: How to change indentation in Visual Studio Code?

也喜欢这个: https://***.com/a/68082579/2510785

每次修改后,我确保我关闭编辑器并再次打开并生成另一个编译文件以确保。谁能想到可以解决此问题的任何其他可能性?我唯一能想到的是,这可能是我的操作系统/VS 代码安装中的一个特定问题。

谢谢, 豪尔赫·毛里西奥

【问题讨论】:

【参考方案1】:

更改 VSCode 的设置不会对 tsc 编译器产生任何影响。

一眼看去,tsc 输出的缩进样式似乎无法改变,见https://github.com/microsoft/TypeScript/issues/4042

这可能是因为开发人员很少有理由编辑编译的输出。

作为一种解决方法,您可以使用 prettier 之类的内容或使用 VSCode 本身重新格式化输出文件。

【讨论】:

以上是关于TypeScript – Visual Studio Code – 编译后不输出 2 个空格选项卡的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2017 中用于 JavaScript 和 TypeScript 文件的 Visual Studio Code 颜色主题

visual-studio-code 中的自动右括号不适用于 js 和 jsx 文件

typescript 我的Visual Studio代码内幕设置

Visual Studio - 引擎盖下(NPM/Typescript)

Typescript visual Studio项目属性

使用 Visual Studio 2012 express 进行 TypeScript、node.js 开发