NestJS新建.ts文件出现ESLint 'Delete `CD`'报错如何解决
报错原因
你看到的ESLint Delete CD 报错,是ESLint集成的Prettier格式化规则检测到代码中存在十六进制编码为0xCD的不可见控制字符。
注意:这里的CD不是指你输入了C、D两个可见字母,是异常字符的十六进制标识,直接找可见的CD字母删除无法解决问题。
这类字符不属于TypeScript语法认可的有效可见字符,通常是新建文件时误触键盘输入、从其他富文本/网页复制代码时带入的隐藏格式字符,或是跨系统协作时换行符格式不匹配生成的特殊字符,规则会直接提示你删除对应位置的非法字符。
解决方案
- 快速修复:定位到ESLint标红的代码位置,把标红段前后的空白、换行全部删除,手动重新输入空格和换行即可;如果文件开头就报错,直接清空第一行代码之前的所有隐藏空白。
- 换行符适配:查看编辑器右下角的换行符标识,把当前文件的换行格式统一为
LF或CRLF,和项目内.prettierrc/.editorconfig里配置的endOfLine规则保持一致,避免跨系统换行符冲突。 - 过滤隐藏字符:如果找不到具体的异常字符,就把当前文件的所有代码复制到系统自带的纯文本记事本中,清空原.ts文件的全部内容,再把记事本里的纯文本粘贴回去,所有不可见的控制字符会被自动过滤。
- 一劳永逸配置:如果不想被换行符格式问题频繁打扰,可以在项目根目录的
.prettierrc配置中添加"endOfLine": "auto"规则,让Prettier自动适配当前操作系统的换行符格式。
内容的提问来源于stack exchange,提问作者Jorge V.
相关产品推荐
相关产品推荐

