programing

Eclipse에서 후행 공백을 자동으로 제거하는 방법은 무엇입니까?

i4 2023. 6. 15. 21:35
반응형

Eclipse에서 후행 공백을 자동으로 제거하는 방법은 무엇입니까?

그 질문은 두 부분으로 나뉘는데, 그 중 하나는 이미 답을 가지고 있습니다.

  1. 편집 중인 전체 파일에서 후행 공백을 자동으로 제거하는 방법은 무엇입니까?-> 답변: AnyEdit 플러그인을 사용합니다. AnyEdit 플러그인은 파일에 저장할 때마다 설정할 수 있습니다.
  2. 변경한 줄에서만 후행 공백을 자동으로 제거하는 방법은 무엇입니까? -> 이것은 저도 모르고 도움을 주시면 감사하겠습니다.

당신의 질문은 자바 코드와 관련된 것 같습니다.그렇다면 1)을 수행하기 위해 추가 플러그인이 실제로 필요하지 않습니다.[환경설정] -> [Java] -> [편집기] -> [수행 저장]으로 이동하여 후행 공백을 제거하도록 구성할 수 있습니다.

듣기로는 팀 전체의 설정도 만들고 싶은 거죠?작업을 보다 쉽게 수행하고 새 작업 공간이 생길 때마다 설정하는 것을 기억하지 않도록 하려면 저장 작업을 코드와 함께 SCM에 저장되는 프로젝트별 기본 설정으로 설정할 수 있습니다.

그렇게 하려면 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성 -> Java 편집기 -> 작업 저장으로 이동합니다.여기서 프로젝트별 설정을 활성화하고 후행 공백을 제거하도록 구성할 수 있습니다.

NB: 이 옵션은 Eclipse Kepler(4.3) 및 이후 릴리스에서 제거되었습니다.

NB #2: 옵션이 이클립스 루나로 다시 돌아온 것 같습니다.Luna Service Release 1a (4.4.1)

  1. 편집 중인 전체 파일에서 공백 제거:

Preferences -> -> -> -> 체크 -> 체크 -> 클릭 -> 탭으로 이동 -> 체크 -> 선택

  1. 변경한 줄에서만 공백 제거:

Preferences -> -> -> -> Perform the selected actions on save체크 " -> 체크 -> 선택

클릭할 필요가 없습니다. 모든 코드 스타일에는 자동으로 후행 공백 제거가 포함됩니다.적어도 포맷터 구성에서 이에 대한 설정을 찾을 수 없었고, 기본 제공 Java 컨벤션, 이클립스, 이클립스 2.1 스타일은 물론 GoogleStyle에서도 즉시 작동했습니다.

이 설정을 사용할 때는 질문의 파트 1에 대한 솔루션도 끌 필요가 있습니다.

Eclipse version checked: 4.5.2, 4.11

플러그인이 필요하지 않습니다.예를 들어 JAVA를 코딩하는 경우 저장 작업을 구성하는 후행 공백을 지울 수 있습니다.

이클립스 3.6

Preferences -> -> -> -> 확인 -> 확인 -> 버튼 클릭

탭에서 다음 항목을 선택합니다.

PyDev는 코드 포맷터 옵션이 설정되어 있는 경우 ++ShiftF 또는 다음 방법으로 이를 수행할 수 있습니다.

Eclipse -> Window -> Preferences -> PyDev -> Editor -> Code Style -> Code Formatter:

적어도 다음을 사용합니다.

  • 저장 전 자동 포맷
  • 오른쪽 트림 라인?
  • 파일 끝에 새 줄 추가

다음을 수행합니다.

Preferences -> Java -> Editor -> Save Actions

enter image description here

Eclipse에서 키를 매핑하여 전체 파일의 후행 공백을 수동으로 제거할 수 있지만 저장 시 자동으로 제거하는 대신 요청 시에만 제거할 수 있습니다. (기본 설정/키를 누른 다음 키 집합을 파일/후행 공백 제거)이 기능은 모든 새 파일을 검사하지만 기존 코드는 그대로 유지하려는 경우에 유용합니다.

또 다른 전략은 빈 공간의 시각적 표시를 활성화하여 후행 빈 공간을 추가할 때 적어도 알 수 있도록 하는 것입니다.제가 알기로는 뒤에 오는 공백만 표시할 수 있는 방법은 없지만, 틀렸다는 것이 증명되면 기쁠 것입니다.

후행 공백 제거를 전혀 지원하지 않는 편집기(예: XML 편집기)의 경우 찾기 및 바꾸기를 수행하여 정규식을 활성화한 다음 "\t]+$"를 찾은 다음 ""(공백)으로 대체하여 모든 행에서 공백을 제거할 수 있습니다.이를 위한 더 나은 정규식이 있을 수 있지만 AnyEdit를 설치할 필요 없이 저에게 적합합니다.

저도 AnyEdit이라고 할 것 같아요.이러한 특정 기능은 제공하지 않습니다.그러나 각 저장 작업에서 사용자와 팀이 AnyEdit 기능을 사용하는 경우 파일을 열 때 파일에 뒤에 공백이 없어야 합니다.

따라서 이 파일을 수정하고 새 후행 공백을 추가하면 저장 작업 중에 AnyEdit는 이 파일의 유일한 후행 공백이므로 이러한 새 공간만 제거합니다.

어떤 이유로 인해 사용자가 수정하지 않은 줄의 후행 공백을 유지해야 하는 경우에는 사용자에게 답변할 수 없습니다. 이러한 기능이 이클립스 플러그인에 있는지 확신할 수 없습니다.

지금은 이클립스에서 일반적인 방식으로 하는 것이 불가능하지만, 기본적인 자바 지식과 https://bugs.eclipse.org/bugs/show_bug.cgi?id=180349 에 대한 기본 지원을 추가할 수 있는 약간의 여유 시간이 주어지면 변경할 수 있습니다.

종속 문제: https://bugs.eclipse.org/bugs/show_bug.cgi?id=311173

php의 경우 다음과 같은 옵션도 있습니다.enter image description here

유닉스 명령줄 도구인 sed를 사용하여 이 작업을 수행하는 매우 쉬운 방법이 있습니다.이클립스에서 매크로를 만들어 다음을 실행할 수 있습니다.

sed -i 's/[[:space:]]*$//' <filename>

@Malvineous가 말했듯이 Find/Replace 방법을 사용하여 후행 공간(아래 탭 U+0009 및 공백 U+0020 포함)을 제거하는 것은 전문적인 방법이 아니라 해결 방법입니다.
Ctrl + F(또는 명령 + F)를 누르기만 하면 됩니다.

  1. 찾기 [\t ][\t ]*$
  2. 문자열로 대체
  3. 정규식 사용
  4. 모두 바꾸기

추가:
선행 공백을 제거하려면 다음을 찾으십시오.^[\t ][\t ]*대신에[\t ][\t ]*$
빈 줄을 제거하려면 다음을 찾습니다.^\s*$\r?\n

저는 당신의 질문의 두 번째 부분에 대한 어떤 해결책도 모릅니다.그 이유는 가 변경한 것을 어떻게 정의해야 할지 명확하지 않기 때문입니다.언제 바뀌었습니까?두 번의 세이브 사이 또는 커밋 사이...기본적으로 - 잊어버려요.

가이드라인을 준수하고 싶지만 코드의 나머지 부분은 건드리지 마십시오.하지만 이 가이드라인은 전체적으로 사용되어야 하며, 물린 곳이나 조각에 사용되어서는 안 됩니다.그래서 제 제안은 - 모든 코드를 지침으로 변경하는 것입니다: 이것은 일회성 작업이지만, 모든 개발자가 프로젝트에 대해 동일한 설정을 가진 동일한 플러그인(AnyEdit)을 가지고 있는지 확인하는 것입니다.

git에 다음 명령을 사용했습니다.git config --global core.whitespace cr-at-eol

제거됩니다.^M꼬리에 꼬리를 물고 있는 문자

언급URL : https://stackoverflow.com/questions/1043433/how-to-auto-remove-trailing-whitespace-in-eclipse

반응형