行尾标准化工具Skill line-ending-normalizer

这是一个用于检测和转换文件行尾格式的工具,旨在解决跨平台协作(如Windows、Linux、macOS)时因CRLF(回车换行)和LF(换行)格式不一致导致的代码混乱问题。它提供自动检测、批量转换、Git配置管理等功能,帮助开发团队统一代码风格,提升协作效率。关键词:行尾标准化,CRLF转LF,跨平台兼容,Git配置,代码格式化,开发工具。

DevOps 0 次安装 0 次浏览 更新于 2/23/2026

名称: 行尾标准化工具 描述: 通过CRLF/LF转换和git配置实现跨平台文件处理的行尾标准化。 允许工具: 读取, 写入, 编辑, Bash, Glob, Grep

行尾标准化工具

为跨平台兼容性标准化行尾。

功能

  • 检测行尾样式
  • 在CRLF和LF之间转换
  • 配置git行尾设置
  • 处理混合行尾
  • 设置.gitattributes

生成的模式

export type LineEnding = 'lf' | 'crlf' | 'mixed';

export function detectLineEnding(content: string): LineEnding {
  const crlf = (content.match(/\r
/g) || []).length;
  const lf = (content.match(/(?<!\r)
/g) || []).length;
  if (crlf > 0 && lf > 0) return 'mixed';
  if (crlf > 0) return 'crlf';
  return 'lf';
}

export function normalizeLineEndings(content: string, target: 'lf' | 'crlf' = 'lf'): string {
  const normalized = content.replace(/\r
/g, '
').replace(/\r/g, '
');
  return target === 'crlf' ? normalized.replace(/
/g, '\r
') : normalized;
}

// .gitattributes 内容
export const gitattributes = `
* text=auto eol=lf
*.bat text eol=crlf
*.cmd text eol=crlf
*.ps1 text eol=crlf
*.sh text eol=lf
`;

目标流程

  • 跨平台命令行兼容性
  • 配置管理系统
  • Shell脚本开发