Xcode에서 후행 공백 제거


답변:


22

스크립트를 생성하고 키보드 단축키에 바인딩 할 수 있습니다.

  • 스크립트 메뉴> 사용자 스크립트 편집 ...을 선택합니다 .
  • + 버튼을 누르고 새 셸 스크립트를 선택 합니다.
  • "Strip Trailing Spaces"와 같은 이름을 지정하고 ⌃⇧R과 같은 바로 가기를 지정합니다.
  • 입력을 "선택"으로 설정하고 출력을 "선택 대체"로 설정합니다.

그런 다음 다음 스크립트를 입력하십시오.

#!/usr/bin/perl

while (<>) {
    s/\s+$//;
    print "$_\n";
}

9
아, 네, 간단합니다 ... 고마워요. 이것을 파일 저장과 연관시키는 방법이 있습니까?
Alexander Gladysh

전체 파일에 대해 작업하려면 (아마도 원하는 작업 일 수 있음) 입력을 "전체 문서"로 설정하고 출력을 "문서 내용 바꾸기"로 설정합니다. 그러나 이렇게하면 파일 맨 아래에 커서가 남습니다.
SMBiggs

7
이 답변은 Xcode 4.4에서 사용되지 않습니다. Martin Stolz의 답변을 참조하십시오.
Basil Bourque

239

Xcode 4.4부터 공백은 줄이 모두 공백이 아닌 한 기본적으로 자동으로 잘립니다. Including whitespace-only lines이 문제를 해결하기 위해 활성화 할 수도 있으며 이는 기본적으로 활성화되지 않습니다.

이동 Xcode > Preferences > Text Editing > While editing

Xcode 환경 설정 스크린 샷


15
이 설정은 커서가 해당 줄을 떠난 후 줄의 후행 공백 만 잘라냅니다. 따라서 저장할 때 커서가 해당 줄에 있으면 한 줄의 후행 공백이있는 파일을 저장할 수 있습니다.
ma11hew28

7
도대체 이것이 기본값이 아닌 이유는 무엇입니까? 후행 공백이있는 기존 파일이있는 경우 모두 표시, 잘라 내기, 저장, 붙여 넣기, 저장하기 만하면됩니다.
friederbluemle 2014-08-05

이 답변에 대한 해키 스크립트 솔루션을 재정의해야합니다.
Urda

7
이 +를 사용하여 ctrl-i기존의 모든 파일에 대한 것은 후행 공백을 담당
Kirualex

24

저는 Google Toolbox For Mac Xcode Plugin을 사용하고 있는데 저장시 후행 공백을 제거하는 "저장시 올바른 공백"매개 변수를 추가합니다. 나는 emacs에서 많이 놓쳤다.


1
이 플러그인도 사용하고 있습니다. 그것은 그것이 말하는 것을한다.
나단

안타깝게도 현재 Xcode 4에서는 작동하지 않습니다. (
deepwell

6
이제 몇 가지 기본적인 Xcode 4 지원이 있습니다. 우리의 참조 의 새로운 플러그인
dmaclach

1
"저장시 공백 수정"매개 변수는 어디에서 찾을 수 있습니까?
jhasse

마침내 Xcode 4.3.2에서 GTM이 작동하도록 관리했지만 GTM 위키의 설치 지침이 잘못된 것 같습니다. .xcplugin을 ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins(Google의 지침에 따라) 배치하는 대신에 넣고 /Applications/Xcode.app/Contents/PlugInsXcode를 다시 시작 해야했습니다 .
Kristofer Sommestad

3

Xcode 8의 경우 Swift 코드 형식을 지정하기 위해 swimat Xcode 플러그인을 설치하여 모든 후행 공백과 공백 전용 줄을 제거했습니다.

설치 방법

  1. homebrew-cask를 통해 설치 :

    brew cask install swimat
  2. 앱을 직접 다운로드하십시오 :
    https://github.com/Jintin/Swimat/releases/download/v1.3.5/Swimat.zip

  3. extension분기를 복제 하고 Mac 앱에 보관합니다.

용법

설치가 완료되면를 통해 Xcode에서 Swimat를 실행할 수 있습니다 Editor -> Swimat -> Format.


이 도구는 빈 줄을 제거하지 않습니다.
Mehdico

1

Xcode 3.2에서는 불가능합니다.

편집하다:

제대로 할 방법이 없기 때문에이 질문에 너무 짧게 대답했습니다 .

물론 소프트웨어이기 때문에 무엇이든 할 수 있습니다. Input Manager 해킹 또는 시스템 전체 키보드 차단에 대한 다른 코드 삽입 방법으로 시작하여 언제든지 로컬 시스템을 변경할 수 있습니다. Applescript 폴더 작업 (arrgh)을 설정하거나 실행 데몬 및 FSEvents 기능을 사용하여 소스 코드 파일을 볼 수 있습니다.

Xcode에 몇 가지 스크립트를 추가 할 수도 있지만 (메뉴의 사용자 스크립트, 대상의 스크립트 단계, 오거나이저의 사용자 지정 작업, 시작 스크립트의 매우 알려지지 않은 가능성도 있음) 이러한 모든 솔루션은 결함이 있습니다. 사용자 컴퓨터의 사용자 또는 사용자 지정 설정.

SCM에서 프로젝트를 확인한 후에 단순히 작동하는 솔루션을 알지 못합니다. 이 스크립트와 유사한 사용자 지정 스크립트가 필요하다고 생각하여 버그를 제출했습니다 (레이더 7203835, "기능 : Xcode 워크 플로에서 더 많은 사용자 스크립트 트리거"). 아직 피드백을받지 못했습니다.

다음은 레이더 항목의 전체 텍스트입니다.

Xcode에서 스크립트를 실행할 수있는 더 많은 장소가 있으면 유용합니다.

예 :

  1. 사전 빌드 스크립트
    사전 빌드 스크립트는 * .xcconfig 파일 또는 config.h 헤더와 같은 필수 구성 요소를 빌드하는 데 사용할 수 있습니다. 빌드 단계가 트리거되기 전에 종속성 추적이 발생하기 때문에 "스크립트 빌드 단계 실행"에서는 불가능합니다.

  2. 빌드 후 스크립트
    위와 비슷하지만 빌드가 완료된 후 실행됩니다 (코드 서명 등 포함). 추가 포장, 유효성 확인 등에 유용합니다.

  3. 사전 / 사후 SCM 커밋 스크립트.
    프로젝트 무결성을 확인합니다.

  4. 사전 / 사후 파일 저장 스크립트.
    저장하기 전에 파일을 확인 / 변경합니다. 예 : 코디 미용사 실행

  5. 사용자 지정 프로젝트 작업.
    나는 임의의 행동을 정의하는 주최자의 능력을 알고 있습니다. 그러나 이것은 사용자 별 기능입니다 (프로젝트의 일부가 아님). 빌드 메뉴에 표시되고 프로젝트의 일부인 빌드 또는 정리와 같은 작업을 정의하고 싶습니다.


이 경우 해결 방법이 만족스럽지 않은 이유에 대한 답변을 편집했습니다.
Nikolai Ruhe

2
감사. 적절한 방식으로 수행하는 것을 선호하지만 너무 방해가되지 않는 해킹에 만족합니다. 그 여분의 공백은 정말 짜증납니다.
Alexander Gladysh


0

스크립트, 해킹 등을 사용하지 않는 가장 쉽고 쉬운 방법입니다. 스크립트, 해킹 등을 사용하지 않고 가장 쉽고 간편한 방법 찾기 및 바꾸기로 이동하십시오. 찾기 및 바꾸기로 이동하여 "alt / option + space"를 누르고 바꾸기 막대에서 "space"버튼을 누른 다음 모두 바꾸기를 클릭하십시오. 공백을 일반 공백으로 바꾸고 경고 / 오류가 사라집니다 !!


1
질문에서 요청한대로 후행 공백 만 제거합니까 ?
Blastfurnace
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.