Vscode中的行尾序列CRLF/LF不兼容问题

news2024/11/26 20:22:24

最近开发的的时候,打开项目文件经常会出现爆红错误提示信息,显示如下图:

这东西太烦人了,毕竟谁都不希望在遍地都是爆红的代码里写东西,就像能解决这个问题,根据提示可以知道这是vscode中使用的prettier插件导致的,prettier插件常被用在vscode的代码格式化上,于是乎临时就想到了两种思路来解决这个问题:

  • 解决格式问题:根据prettier要求修改格式
  • 过滤格式问题:修改prettier格式要求

解决格式问题

解决问题之前先来了解下问题产生的原因,这是由于不同操作系统上使用的换行符不一致,在 Windows 操作系统中使用的换行符通常是回车换行符 \r\n (CRLF),而LinuxUnix使用简单换行 符 \n (LF)prettier为了保证环境的一致性所设置的配置。我们要是像保持这项规则,也很简单,将文件的CRLF切换为LF就可以。

1、单文件切换

VSCODE底部提供一个行尾序列切换的功能,直接切换就行,但这种方法有个问题就是,单次只能切换一个文件,操作比较费事。

2、git配置

git有一个autocrlf配置功能,我们可以通过如下配置:

git config --global core.autocrlf false

它的作用是告诉Git在检出代码时不要自动将行尾转换为CRLF(Windows风格的换行符),而是保留原来的LF(Unix风格的换行符)。取值类型如下:

  • true:在检出代码时自动将行尾转换为CRLF,在提交代码时自动将行尾转换为LF。
  • input:在检出代码时不自动转换行尾,在提交代码时自动将行尾转换为LF
  • false:在检出和提交代码时都不自动转换行尾。

由于git安装默认会将 core.autocrlf设置为true,这样就会导致当我们使用clone将代码拉下来后换行符自动由LF转为CRLF,我们只需要将这个配置关掉,然后重写通过clone拉下来换行符就不会变为CRLF了(由于上传的时候会自动转为LF所以也不用担心仓库的行尾序列类型)。

过滤格式问题

上面的方式是通过修改格式来适配prettier,但换个思路我们也可以反其道而行,若实在是不喜欢这种方式,不考虑系统换行符的兼容问题,我们也可以直接考虑修改prettier或者eslint的配置信息彻底解决换行符问题【有关prettiereslint的关系请参考prettier/prettier】。

直接打开VSCODE的设置搜索prettier,修改prettier设置如下:

end of line修改为auto即可:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1835019.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3-父子通信

一个简单的vue3子组件调用父组件方法的demo <template> <div> <h2>Parent Component父组件</h2> <ChildComponent notify-parent"handleParentMethod" /> </div> </template> <script> import { ref } fr…

图像处理与视觉感知复习--形态学图像处理

文章目录 计算图像膨胀和腐蚀计算开操作和闭操作击中或击不中变化 计算图像膨胀和腐蚀 定义&#xff1a; A c A^c Ac 表示集合A的补集几何的反射 有集合A中所有元素相对于原点的反射元素组成的集合称为集合A的反射&#xff0c;几位 A ^ \hat{A} A^ A ^ { w ∣ w − a , a …

泛微E9开发 查询页面添加按钮,完成特定功能

查询页面添加按钮&#xff0c;完成特定功能 1、关联知识&#xff08;查询页面实现新增按钮&#xff09;2、功能实现2.1. 点击按钮&#xff0c;输出选中的checkbox的值2.2. 点击按钮&#xff0c;打开一个自定义对话框 3、实现方法 1、关联知识&#xff08;查询页面实现新增按钮&…

SGPT论文阅读笔记

这是篇想要用GPT来提取sentence embedding的工作&#xff0c;提出了两个框架&#xff0c;一个是SGPT-BE&#xff0c;一个是SGPT-CE&#xff0c;分别代表了Bi-Encoder setting和Cross-Encoder setting。CE的意思是在做阅读理解任务时&#xff0c;document和query是一起送进去&am…

CP AUTOSAR标准之LargeDataCOM(AUTOSAR_CP_SWS_LargeDataCOM)

1 简介和功能概述 该规范描述了AUTOSAR基础软件模块LdCom的功能、API和配置。   在AUTOSAR分层架构中,AUTOSAR LdCom模块位于RTE/SwCluC_LdComProxy和PDU路由之间,参见[1,EXP LayeredSoftwareArchitecture]。   AUTOSAR LdCom模块提供了一种替代的交互层机制。通过专注于…

kafka在windows上的启动

启动zookeeper 解压kafka安装包到对应目录下&#xff0c;找到对应config目录下的zookeeper.properties文件 新建一个data文件夹&#xff0c;随便放哪 打开该文件&#xff0c;找到 dataDir/tmp/zookeeper 属性 将原来的属性值&#xff0c;修改为新建data文件夹地址&#xff0c;…

echarts 折线图 实现某两个点之间不要连线

通过插入null或NaN的数据点来实现"断开"的效果 const data [[a, 1], [b, 2], [c, 3], [d, 4], [e, 5]] data.splice(2, 0, NaN) option {xAxis: {type: "category",data: [a, b, c, d, e]},yAxis: {},series: [{data,type: "line"}] }

RadioML2016.10.a数据加载和介绍

RadioML2016.10.a For the RadioML 2016.10.a dataset, perform data loading and visualization. 数据集 RadioML 2016.10.a 官方链接https://www.deepsig.ai/datasets/https://www.deepsig.ai/datasets/ 具体的调制技术以及SNR [(QPSK, 2), (PAM4, 8), (AM-DSB, -4), (GFS…

基于Spring Boot+VUE毕业生信息招聘平台

系统详细设计 1管理员功能模块 管理员登录&#xff0c;管理员通过输入用户名、密码、角色等信息进行系统登录&#xff0c;如图1所示。 图1管理员登录界面图 管理员登录进入毕业生信息招聘平台可以查看首页、个人中心、企业管理、空中宣讲会管理、招聘岗位管理、毕业生管理、个…

Android下QVideoFrame转QImage不成功记录

1.由于QVideoFrame::image() const : unsupported pixel format Format_ABGR32 &#xff0c;在转换时需要做个特殊处理如下,增加了android手机下的特殊格式处理: if(frame.pixelFormat() QVideoFrame::Format_ABGR32) 此部分代码 QImage imageFromVideoFrame(QVideoFrame &…

复分析——第3章——亚纯函数和对数(E.M. Stein R. Shakarchi)

第3章 亚纯函数和对数 (Meromorphic Functions and the Logarithm) One knows that the differential calculus, which has contributed so much to the progress of analysis, is founded on the consideration of differential coefficients, that is derivatives of f…

013.随机指纹chromium编译-如何通过传参来固定指纹

随机指纹chromium编译-如何通过传参来固定指纹 由于要所有的类型的指纹都实现固定&#xff0c;工作量太大&#xff0c;这里我只用plugins指纹作为示例。 一、为什么要固定指纹 目标&#xff1a;启动浏览器时&#xff0c;加上参数--fingerprints"xxxxxxx", 参数变化时…

【机器学习】对大规模的文本数据进行多标签的分类处理

1. 引言 1.1. NLP研究的背景 随着人工智能技术的飞速发展&#xff0c;智能助手、聊天机器人和虚拟客服的需求正呈现出爆炸性增长。这些技术不仅为人们提供了极大的生活便利&#xff0c;如日程管理、信息查询和情感陪伴&#xff0c;还在工作场景中显著提高了效率。聊天机器人凭…

什么是云恶意软件攻击,如何进行有效的防护

一切都在向云转移。云端数据越多&#xff0c;恶意攻击者攻击云平台的兴趣就越大。 攻击者使用恶意软件窃取数据并破坏服务。虽然恶意软件在云端可能不像在个人电脑上那么普遍&#xff0c;但大行其道的云恶意软件令人担忧。此外&#xff0c;组织不像您预料的那样意识到这点。 …

EasyRecovery下载_EasyRecovery官方下载_2024最新版软件安装包附加详细安装步骤

EasyRecovery中文版是一款操作安全、恢复性比较高的数据恢复工具&#xff0c;小伙伴们可以使用EasyRecovery恢复各种各样被删除的文件、视频、图片等。EasyRecovery还可以支持恢复从硬盘、光盘、U盘、数码相机、手机等各种设备中恢复被删除或丢失的文件&#xff0c;只是使用Eas…

VBA学习(9):按指定名单一键删除工作表

今天继续给大家聊VBA编程中工作表对象的常用操作&#xff0c;主要内容是如何批量删除工作表&#xff1b;也就是删除单个工作表、删除全部工作表和删除指定名单内的工作表。 1.删除单个工作表 删除工作表需要使用到工作表对象的delete方法&#xff0c;语法格式如下&#xff1a…

SpringMVC系列八: 手动实现SpringMVC底层机制-下

手动实现SpringMVC底层机制-下 实现任务阶段五&#x1f34d;完成Spring容器对象的自动装配-Autowired 实现任务阶段六&#x1f34d;完成控制器方法获取参数-RequestParam1.&#x1f966;将 方法的 HttpServletRequest 和 HttpServletResponse 参数封装到数组, 进行反射调用2.&a…

软件测试/测试开发丨Selenium如何复用已打开浏览器

步骤说明&#xff1a; 将浏览器启动方式添加到环境变量。便于我们在终端任意位置启动浏览器终端中使用命令行&#xff0c;打开浏览器debug模式代码中创建driver时&#xff0c;添加debugger_address设置 以Chrome浏览器为例&#xff0c;设置步骤如下&#xff1a; 将浏览器启动…

SpringMVC系列六: 视图和视图解析器

视图和视图解析器 &#x1f49e;基本介绍&#x1f49e; 自定义视图为什么需要自定义视图自定义试图实例-代码实现自定义视图工作流程小结Debug源码默认视图解析器执行流程多个视图解析器执行流程 &#x1f49e;目标方法直接指定转发或重定向使用实例指定请求转发流程-Debug源码…

重磅新闻!狂揽120台订单!大运重卡唐山销服一体运营店盛大开业

2024年6月13日&#xff0c;唐山市迎来了一件令人振奋的商用车行业盛事——大运重卡经销商唐山滦都汽贸暨滦州通世坤销服一体盛大开业&#xff01; 参加本次开业庆典的有大运重卡营销中心副总经理助理张申、大运重卡营销中心销售总监倪世界、唐山滦都汽车贸易有限公司总经理王力…