코딩할때 tab을 사용하거나 space를 사용하거나 한가지만 잘 사용하면 되는데 사람에 따라 두가지를 혼용하여 사용하면서 문제가 발생하게 됩니다.

특히 공통을 적용하거나 한번에 모든 소스를 수정할 때에 가끔 어려움을 격어야 하기도 하고 문서 작업할 때 소스를 복사하면 들쑥날쑥해서 한번더 손을 대야하는 경우가 발생 합니다.

이런 상황을 방지하기 위해서는 tab 보다는 space를 사용하는게 좋은데 eclipse는 기본적으로 tab을 적용하게 되어 있어서 space를 사용하려면 한번 설정을 해줘야 합니다.

 

설정 방법은 파일 종류별로 하나씩 설정을 할 수도 있고

한번에 모든 파일에 적용되게 할 수도 있으며

기존에 작업한 파일들도 한방에 space로 전부 변경할 수도 있습니다.

하나씩 알아보도록 하겠습니다.

 

 

 

I. file 종류별 설정

 

 

1. Preferences 설정 창 열기

 

Eclipse 또는 STS(Spring boot)를 열고 메뉴에서

Windows > Preferences를 선택 하면 설정 창이 오픈 됩니다.

 

 

 

 

2. tab 검색

 

Preferences 창의 “type filter text” 부분에 설정을 위헤 tab을 입력해 검색을 진행 합니다.

 

 

좌측에 탭을 설정해야할 파일 종류별 목록들이 다 보이는 군요.  차례대로 하나씩 설정을 진행 합니다.

스페이스로 변경해야 하는 파일 종류만 선택해서 작업을 진행 하면 됩니다.

CSS는 디자이너랑 싸우기 싫은뎅…. 걍 넘어가야지….

 

 

3. java 파일 설정

 

파일 확장자가 java인 파일들의 tab 간격을 space로 변경하도록 합니다.

Java > Code Style > Formatter를 선택 하고

 

 

 

우측에서 [New] 버튼을 선택 하면 새로운 창이 나오는데

 

 

 

Profile name에 구분하기 좋은 임의의 명칭을 입력해 줍니다.   저는 java space로 입력 했습니다.

name 입력을 하였으면 [OK]버튼을 클릭 합니다.

 

 

이제 실제 설정 창이 나타나는데

Indentation > Tab policy에서 Tabs only로 선택되어 있는데 이것을 Spaces only로 변경하고

 

 

 

하단 우측의 [OK] 또는 [Apply] 버튼을 클릭 하여 설정화면을 닫습니다.

 

 

 

다시 Preferences 창으로 돌아와 보면 FormatterActive profilejava space로 변경이 되었습니다.  만약 변경이 안되었다면 클릭해서 방금 수정한 java space를 선택하고 우측 하단 [Apply] 버튼을 클릭해서 설정이 반영되도록 합니다.

java만 설정하려는 거라면 [Apply and Close] 버튼을 클릭하여 Preferences 창을 닫으면 됩니다.

 

 

 

4. JavaScript 파일 설정

 

JavaScript 파일도 java 설정 방법과 동일하게 좌측 메뉴에서 Formatter를 선택하고

 

 

우측에서 [New] 버튼을 클릭해서 이름 설정 창을 오픈 합니다.

 

 

 

Profile name에 기억하기 좋은 이름을 입력하고 [OK] 버튼을 클릭 클릭하여 설정 창을 오픈 합니다.

 

 

 

설정 창 Indentation 탭에서 Spaces only를 선택하고 우측 하단의 [OK] 버튼을 클릭 합니다.

 

 

 

다시 Preference 창으로 돌아와 Active profile에 방금 설정한 이름으로 변경이 되었는지 확인 하고 우측 하단의 [Apply] 버튼을 클릭해서 설정을 반영 합니다.

 

 

 

5. css 파일 설정

 

 

css 파일 설정은 위에서 했던 설정 방법과는 조금 다르게 진행 되는데 좌측에서 Editor 메뉴를 선택합니다.

 

 

 

그리고 우측에서 Indent using spaces를 선택 하고 탭 사이즈도 알맞게 변경한 후에 [Apply] 버튼을 클릭해서 설정을 반영 합니다.

 

 

6. html 파일 설정

 

htmlcss 파일 설정과 동일한 방법으로 좌측에서 Editor 를 선택 하고

 

 

 

우측에서 Indent using spaces를 선택 하고 탭 사이즈도 알맞게 변경한 후에 [Apply] 버튼을 클릭해서 설정을 반영 합니다.

 

 

7. xml 파일 설정

 

xml 파일도 Editor를 선택 하고

 

 

 

우측에서 Indent using spaces를 선택 하고 탭 사이즈도 알맞게 변경한 후에 [Apply] 버튼을 클릭해서 설정을 반영 합니다.

 

 

이렇게 해서 tabspace로 변경이 필요한 파일 종류별로 설정하는 방법을 알아 보았습니다.

 

 

 

II. 모든 파일 설정 변경 방법

 

이번에는 각각의 파일 종류와 관계 없이 프로젝트에 포함된 모든 파일들에 대해 tabspace로 한번에 변경하는 벙법에 대해 알아봅니다.

 

 

1. Preferences 창 열기

 

설정 창을 오픈하는 방법은 위에서 사용한 방법과 동일 합니다.

 

Eclipse 또는 STS를 열고 메뉴에서

Windows > Preferences를 선택 합니다.

 

 

 

2. tab 검색

 

Preferences 창의 “type filter text” 부분에 검색을 위헤 tab을 입력해 줍니다.

그리고 검색 결과에서 General >Editors > Text Editors를 선택 합니다.

 

 

 

우측에서 Insert spaces for tabs를 체크 하고 탭 간격(여기서는 4)을 입력해 줍니다.

설정이 완료되면 [Apply and Close] 버튼을 클릭 해서 설정을 반영 합니다.

모든 파일의 tab 간격을 space로 변경해야 한다면 정말 간단한 방법입니다.

 

 

 

III. space 설정 작업 반영하기

 

 

위에서 파일 종류별 설정 방법과 모든 파일에 대한 설정 방법에 대한 두가지 방법으로 tabspace로 설정하는 것을 알아보았습니다.

그런데 설정을 했다고 기존에 tab으로 된 부분이 space로 자동으로 변경되는 것이 아니고 tab으로 작업된 부분은 그냥 원래대로 tab으로 남아있고 새로 작업하는 부분부터 space가 적용됩니다.

그래서 기존에 작업해 놓은 파일들에 대한 수정을 해야 하는데 이걸 한번에 수정하는 방법입니다.

 

I번 방법대로 하나의 파일 종류만 선택한 경우는 해당 종류만 변경되고

II번 방법대로 전체 파일에 대해 선택한 경우에는 모든 파일이 변경 됩니다.

 

프로젝트에 마우스를 놓고 우측 버튼을 클릭 합니다.

 

 

 

Source > Format을 클릭해 줍니다.

 

끝입니다.

모두 수정 되었습니다.

 

 

 

IV. 수정사항 확인

 

지금까지 여러 방법으로 설정을 해 보았는데 실제로 tabspace로 변경이 되는지 확인해 보도록 하겠습니다.

설정을 통해 space tab이 기호로 표기되어 잘 보이도록 합니다.

 

상단메뉴에서

Window > Preference를 선택 하여 Preferences 팝업 창을 오픈하고

 

 

 

General > Editors > Text Editors를 선택 합니다.

 

우측에서 Show whitespace characters를 체크하고 하단에 있는 [Apply and Close] 버튼을 클릭 합니다

 

 

파일 하나를 열어보면 tabspace()가 특수 기호로 보입니다.

1011번 라인은 java 파일에 대해 space를 적용하고 탭을 사용한 경우 getId()에 탭 대신 공백이 반영된 모습입니다.

보다시피 기존의 tab은 변함이 없고 신규로 작업하는 경우에만 tabspace로 나타납니다.

 

이런경우 프로젝트 전체에 대해 설정을 반영하여 한번에 변경하는 방법을 사용해 보겠습니다.

 

위에서 III번에 해당하는 작업을 실행 합니다.(Project에 우측 마우스 클릭 > Source > Format 선택)

 

 

탭이 모두 스페이스로 수정 된것을 확인할 수 있습니다.

 

수정된 space를 다시 tab으로 되돌리고 싶으면 Ctrl + Z를 클릭하면 됩니다.

 

 

여기서 [OK] 버튼을 클릭하면 전체 수정 반영 이전으로 돌아갑니다.

 

필요한 부분만 잘 적용해서 사용하세요.

 

- copy coding -


+ Recent posts