본문 바로가기
코딩취미/C,C++

Visual Studio 에서 라인 엔딩 설정 변경하기 : 줄바꿈변경(CRLF), ^M 문자

by 브링블링 2024. 4. 30.
728x90

Visual Studio 에서 라인 엔딩 설정 변경하기 : 줄바꿈변경(CRLF)

비주얼 스튜디오(Visual Studio)에서 파일의 라인 엔딩(line ending) 옵션을 설정하는 방법은 파일 형식에 따라 줄 바꿈 문자를 선택하는 설정을 조정하는 것을 포함합니다. 라인 엔딩은 Windows 시스템에서는 주로 CRLF (Carriage Return + Line Feed)를 사용하고, UNIX/Linux 시스템에서는 LF (Line Feed)를 사용합니다. 비주얼 스튜디오에서 이를 설정하는 방법은 다음과 같습니다.

 

Visual Studio에서 줄바꿈 설정 변경하기

  1. Visual Studio 열기: 프로젝트를 열거나 새 프로젝트를 시작합니다.
  2. 파일 선택: 줄바꿈 설정을 변경하고 싶은 파일을 엽니다.
  3. 파일 메뉴로 이동: 상단 메뉴에서 파일(File) > 고급 저장 옵션(Advanced Save Options)...을 클릭합니다. 이 옵션이 메뉴에 보이지 않는 경우, 다음 단계를 따르세요.
  4. 라인 엔딩 설정:
    • 고급 저장 옵션 대화 상자에서 라인 엔딩(Line endings) 드롭다운 메뉴를 클릭합니다.
    • 드롭다운 목록에서 Windows (CR LF)를 선택합니다.
  5. 변경 사항 저장: 설정을 선택한 후 확인 버튼을 클릭하여 변경 사항을 저장하고 대화 상자를 닫습니다.
  6. 파일 저장: 파일을 저장하여 변경된 설정을 적용합니다.

메뉴에 고급 저장 옵션이 보이지 않는 경우

일부 버전의 Visual Studio에서는 고급 저장 옵션이 기본적으로 메뉴에 보이지 않을 수 있습니다. 이 경우, 다음과 같이 할 수 있습니다.

  1. 편집기에서 파일 열기: 변경하고 싶은 파일을 엽니다.
  2. 파일 저장: 파일(File) 메뉴로 가서 다른 이름으로 저장(Save As...)을 클릭합니다.
  3. 저장 옵션 확인: 저장 대화 상자에서 우측 하단에 있는 저장 옵션(Save Options) 또는 화살표 아이콘을 클릭합니다. 여기에서 라인 엔딩 옵션을 Windows (CR LF)로 설정할 수 있습니다.

라인 엔딩이 중요한 이유

라인 엔딩 설정은 협업 환경에서 중요할 수 있습니다. 다른 운영 체제에서 개발하는 팀원들과의 호환성을 위해 일관된 라인 엔딩 스타일을 유지하는 것이 좋습니다. 예를 들어, 리눅스 개발자와 협업 시 모든 소스 코드 파일에 LF를 사용하도록 설정할 수 있습니다. 이 설정은 또한 Git과 같은 버전 제어 시스템에서도 중요한 역할을 합니다. Git 설정에서 core.autocrlf를 적절히 설정하여 소스 코드의 라인 엔딩을 자동으로 관리할 수 있습니다. 이를 통해 크로스 플랫폼 프로젝트에서 발생할 수 있는 문제를 방지할 수 있습니다.

728x90
 
^M 문자가 나타나는 이유
 

^M 문자는 에디터에서 Windows 스타일의 줄바꿈을 나타내는 문자로, 일반적으로 CR (Carriage Return, ASCII 코드 13)에 해당합니다. Windows 시스템에서는 줄바꿈을 나타내기 위해 CR (\r)과 LF (Line Feed, \n, ASCII 코드 10)의 조합인 CRLF (\r\n)을 사용합니다. 하지만 Unix와 Linux 같은 시스템들은 줄바꿈으로 오직 LF (\n)만을 사용합니다. 

 

리눅스나 macOS와 같은 Unix 기반 시스템에서 Windows 형식의 파일을 열 때, CR 문자가 별도로 처리되지 않고 ^M으로 표시될 수 있습니다. 이는 Unix 기반 시스템의 텍스트 에디터가 CRLF 대신 LF만을 줄바꿈으로 인식하기 때문입니다.

 

  • 혼합 줄바꿈 스타일: 원본 파일이 Windows 스타일 (CRLF)로 저장되었고, Unix 기반 시스템의 에디터에서 열었을 때 발생합니다.
  • 에디터 설정: 일부 텍스트 에디터는 다양한 줄바꿈 스타일을 자동으로 감지하고 적절하게 처리하지만, 일부는 그렇지 않습니다.

^M 문자 제거 방법

Unix 기반 시스템에서 이러한 ^M 문자를 제거하기 위한 몇 가지 방법이 있습니다:

 

1. dos2unix 사용: 이 유틸리티는 파일의 줄바꿈을 Windows 스타일에서 Unix 스타일로 변환합니다.

dos2unix filename

 

2. sed 명령어 사용: 다음 sed 명령어는 파일에서 모든 ^M 문자를 제거할 수 있습니다. 여기서 -i 옵션은 파일을 직접 수정하며, s/\r$//는 각 줄 끝의 CR 문자를 제거합니다.

sed -i 's/\r$//' filename

 

3. tr 명령어 사용: tr (translate or delete characters)를 사용하여 파일에서 ^M 문자를 삭제할 수 있습니다.

cat filename | tr -d '\r' > newfile

 

4. 에디터 설정 변경: 일부 텍스트 에디터에서는 파일을 저장할 때 줄바꿈 스타일을 설정할 수 있습니다.

728x90