首页 > 其他分享 >Vscode中的行尾序列CRLF/LF问题,及其引起的Delete ‘␍‘ 的报错问题

Vscode中的行尾序列CRLF/LF问题,及其引起的Delete ‘␍‘ 的报错问题

时间:2024-10-09 16:50:29浏览次数:11  
标签:LF core 文件 Vscode 报错 CRLF 行尾

本人使用的是Windows系统,Unix/Linux/macOS系统也可参照此方法解决问题

报错如图:

(如果你只想解决报错的话直接下翻到解决方法,想了解原理的话请耐心看完)

在这之前,我们先来了解一下什么是行尾符(也叫换行符/行尾序列)。

行尾符是用于标记文本文件中一行结束的字符,不同的操作系统使用不同的行尾符:

  1. LF (\n)

    Unix/Linux/macOS:这些系统使用单个 LF 字符来表示行尾。
  2. CRLF (\r\n)

    Windows:这些系统使用两个字符 CR 和 LF 来表示行尾

图中报错通常是由于文件的行尾符不一致导致的,VSCode 提示你删除 ,即删除\r字符。

我用的是Windows系统,为什么他会提示我删除\r字符呢?前面不是说windows使用\r  \n 吗?

出现原因:

1.图中vscode提示是由于使用小皮(prettier)引起的报错,

打开设置,搜索” prettier “,找到 ” 指定 Prettier 使用的换行符 “,

如图:一般来说,Prettier的 都是默LF,导致报错,

将其改为crlf即可

2.在使用 Git 推送和拉取代码时,git将行尾符更改,导致代码报错

   Git 提供了几个配置选项来处理行尾符(EOL)的问题,确保在不同操作系统之间的一致性。以     下是这些配置选项及其作用:

  • core.autocrlf

    • true:在提交时将所有行尾符转换为 LF,在检出时将所有行尾符转换为 CRLF(适用于 Windows 用户)。
    • input:在提交时将所有行尾符转换为 LF,但在检出时不进行转换(适用于 Linux 和 macOS 用户)。
    • false:不进行任何转换(适用于 Linux 和 macOS 用户)。
  • core.eol

    • lf:设置存储库中的文件使用 LF 作为行尾符。
    • crlf:设置存储库中的文件使用 CRLF 作为行尾符。

可以通过以下命令检查当前的 Git 配置:

git config --get core.autocrlf
git config --get core.eol

推荐设置:

  •  对于 Windows 用户

        将 core.autocrlf 设置为 true:

git config --global core.autocrlf true
  • 对于 Linux 和 macOS 用户

        将 core.autocrlf 设置为 input

git config --global core.autocrlf input
  • 在项目中统一行尾符

        在项目根目录下创建一个 .gitattributes 文件,并添加以下内容:

        这个配置告诉 Git 将所有文本文件的行尾符统一为 LF(或CRLF,根据你的实际情况)

# .gitattributes
* text=auto eol=lf

3.当你在一个跨平台团队中工作,你在一个操作系统中创建或编辑文件,然后在另一个操作系统中打开时,可能会遇到这种不一致的问题

解决方法:

1.单文件直接转换(只能救急,治标不治本):

  • 在 VSCode 右下角的状态栏,可以看到文件当前使用的换行符格式,目前显示为 CRLF
  • 点击这个换行符指示,弹出一个选项菜单,选择 LF来替换文件中的 CRLF。
  • 此时保存文件,VSCode 会自动将所有的 ␍ 删除并转换为 LF 换行格式(但是只有该文件生效)。如图:

2.调整小皮的格式验证:

  • 打开设置,搜索” prettier “,找到” 指定 Prettier 使用的换行符 “,如图:
  • 一般来说,Prettier的 都是默LF,导致报错,将其改为  crlf  即可

3.全局设置行尾符

  • 打开 VSCode 设置(点击左下角的齿轮图标,然后选择 Settings)。
  • 搜索 files.eol
  • 设置 files.eol 为你希望的行尾符格式,例如:
    "files.eol": "\r\n"  // 对应 CRLF

4.在项目根目录下创建一个 .editorconfig 文件,并添加以下内容:

# .editorconfig
root = true

[*]
charset = utf-8
end_of_line = crlf
indent_style = space
indent_size = 2

这个配置告诉 VSCode 和其他支持 .editorconfig 的编辑器将所有文本文件的行尾符统一为 CRLF

  • 安装扩展插件来帮助管理行尾符,例如 EditorConfig for VS Code,它可以自动根据 .editorconfig 文件中的设置来调整文件的编码和行尾符。

如果以上内容对你有所帮助的话,麻烦给我点个赞,谢谢!

本文只是粗浅的论述了Vscode中的行尾序列CRLF/LF问题,

敬请斧正!

标签:LF,core,文件,Vscode,报错,CRLF,行尾
From: https://blog.csdn.net/M249_0428/article/details/142780033

相关文章

  • 运行CtsVerifier.apk报错
    要过GMS认证,遇到个问题。安装CtsVerifier.apk。前面几个选项都OK。可以测试成功。执行CameraITSTest的时候崩溃。查看log:r:AccessinghiddenmethodLandroid/hardware/devicestate/DeviceStateManager;->getSupportedStates()[I(blocked,test-api,linking,denied......
  • 停止训练后报错torch.cuda.OutOfMemoryError: CUDA out of memory. 及查看进程和停止
    停止训练后遇到 torch.cuda.OutOfMemoryError 错误,意味着你的GPU内存不足,无法分配更多内存给当前的PyTorch操作。查看进程并关闭相关进程就可恢复。在不同的操作系统中,查看进程的方法有所不同。以下是常见操作系统的命令:在Linux和macOS系统中,你可以使用以下几种方法来......
  • 调用sdapi/v1/txt2img接口,报错“Couldn‘t load custom C++ ops”
    后端启动stable_diffusion的api接口nohuppythonlaunch.py --use-cpuall--skip-torch-cuda-test   --api--api-log  --listen--server-name192.168.1.204>/home/third_party_app/llm/stable-diffusion-webui/logs/all.log2>&1 &服务接口http://192.168......
  • nacos gateway 调用服务报错503 Server unavailable
    环境springboot3jdk17依赖<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency><dependency><groupId>org.springframe......
  • springboot-网站开发-thymeleaf引擎报错找不到指定的页面模板文件
    springboot-网站开发-thymeleaf引擎报错找不到指定的页面模板文件!这种错误的情况,发生,一般都是因为,我们自己的html模板文件,存档位置并不是在默认的templates下面。而是我们自己新建的一个子目录里面。然后,我们在java代码里面,控制器方法体内,return,返回模板的时候,我们多写了一个......
  • 如何在VSCode上运行C/C++代码
    诸神缄默不语-个人CSDN博文目录我是Win10,其他系统仅供参考。文章目录1.下载所需插件2.安装编译器3.不借助编辑器的cpp代码执行3.建立VSCodecpp项目3.1c_cpp_properties.json3.2settings.json3.3tasks.json4.运行C++代码参考资料1.下载所需插件2.安装......
  • 在vscode开发平台中编写HTML的基础快门键以及安装插件
    1、HTML5是HTML的第五次重大修改;2、相关快门键使用如下:   (1)放大缩小视图:放大:Ctrl和+;缩小:Ctrl和-;   (2)向上复制一行:alt+shift+......
  • C# WebService返回参数为DataTable报错“XML文档有错误”
    该问题由于DataTable列存在自定义类型。解决该报错需要以下几步:1、自定义类型增加xml序列化2、由于C#从XML反序列化DataSet或DataTable时的默认限制,所以需要先把调用方的项目开放限制,如果是.netframework项目,需要在app.config中添加<configuration><runtime>......
  • 安装VUE报错
    今年在安装脚手架的时候使用命令:npminstall-g@vue/cli发现报错:requesttohttps://registry.npm.taobao.org/@vue%2fclifailed,reason:certificatehasexpired证书已过期,查看了下旧的地址已经不适用了 接解决办法:1、查看下当前的下载源:npmconfiggetregistry2.设......
  • uniapp - HBuilderX运行到内置浏览器编译报错 ublic static TextAppearance_Holo_Smal
    前言网上的教程都无法解决问题,本文提供强力解决方案。在uniappH5网页开发中,报错提示:ublicstaticTextAppearance_Holo_Small:number;|SyntaxError:Unexpectedidentifier,非常恶心的错误,手机H5网站项目点击运行到内置浏览器后,瞬间报错且无法编译提示已停止运行,H5......