Xcode에서 블록 주석을 작성하는 단축키가 있습니까?


153

ANSI 호환 C 코드를 작성 중이므로 줄 ( //) 주석을 사용할 수 없습니다 . Xcode를 사용하고 있습니다. Sublime Text 및 Eclipse에는 대부분의 다른 IDE에는 줄 설명과 블록 설명 ( /**/)에 대한 별도의 키보드 단축키가 있습니다. 그러나 Xcode에서는이를 알지 못합니다. 실제로 블록 주석을 추가하는 메뉴 옵션도 표시되지 않습니다. Xcode에서 단순히 지원되지 않습니까? 그렇다면 분명히 절름발이 결정처럼 보일 것입니다.

답변:


232

command+ 해보세요 /. 그것은 나를 위해 작동합니다.

따라서 주석 처리하려는 코드 블록을 강조 표시하고이 두 키를 누릅니다.


13
@Nizam 그냥 프레스 Command+ Shift+ 7, 즉 Command+ /다시.
muenchdo

41

최신 정보:

게으르고 솔루션을 완전히 구현하지 않았기 때문에 최근에 릴리스 된 플러그인 ( 2017 년 6 월 ) 인 Xcode 에 대한 BlockComment를 검색했습니다 . 내 솔루션을 귀찮게하지 마십시오.이 플러그인은 아름답게 작동하므로 강력히 권장합니다.

원래 답변 :

위의 어느 것도 Xcode 78 에서 나에게 도움이되지 않았으므로 I :

  1. AppleScript를 사용하여 Automator 서비스 생성
  2. 확인 "출력을 대체 선택한 텍스트가"되어 있는지 확인
  3. 다음 코드를 입력하십시오 :

    on run {input, parameters}
    return "/*\n" & (input as string) & "*/"
    end run

여기에 이미지 설명을 입력하십시오

이제 Xcode-서비스 메뉴를 통해 또는 주석을 추가 할 선택된 코드 블록을 마우스 오른쪽 단추로 클릭하거나 시스템 환경 설정에서 바로 가기를 제공하여 해당 서비스에 액세스 할 수 있습니다.



23

이제 이것을 허용하는 Xcode 플러그인이 있습니다 : CComment .

이것을 설치하는 가장 쉬운 방법 은 Xcode 용 놀라운 Alcatraz 플러그인 관리자 를 사용하는 것 입니다.

EDIT Apple은 슬프게도 (그리고 잘못 IMHO) Xcode 8로 이전 플러그인 모델을 폐기했습니다. 새로운 플러그인 시스템은 상당히 제한적이지만 이와 같은 플러그인을 다시 개발할 수 있어야합니다. 이 작업에 관심이있는 사람은 WWDC 2016 세션 414를보십시오 . 또한 작성하거나 보려는 플러그인 용 API 용 레이더제출 하십시오.


2
Xcode 6.3 (버전 6.3.1 (6D1002))부터는 작동하지 않습니다. 플러그인이 작동하지 않습니다.
Abhishek Bedi

@AbhishekBedi 새로운 Xcode 버전에 대한 일반적인 플러그인 문제 해결 은 stackoverflow.com/questions/30361228/… 를 참조하십시오 .
fzwo

12

업데이트 : Xcode 8 업데이트

이제 xcode 8을 사용하면 다음을 수행 할 수 있습니다.

+ +/

참고 : 아래 방법은 xcode 버전 => 8에서 작동하지 않습니다.

mac OS X의 모든 편집기에 블록 주석 기능을 추가하는 매우 간단한 단계

  1. 오토메이터 열기
  2. 서비스를 선택하십시오
  3. Run Shell Script를 검색 하고 두 번 클릭하십시오.

텍스트 영역에 아래의 애플 스크립트를 추가하십시오

awk 'BEGIN{print "/*"}{print $0}END{print "*/"}'

블록 주석을위한 애플 스크립트

  1. 스크립트를 다른 이름으로 저장 Block Comment

키보드 단축키 추가

시스템 환경 설정> 키보드> 바로 가기를 열고 , 4 단계에서 애플 스크립트에 지정한 +것과 동일한 이름 을 클릭 하고 바로 새로운 바로 가기 를 추가하십시오 Block Comment. 귀하의 추가 키보드 바로 가기를 클릭 추가 버튼을 클릭합니다.

새로운 키보드 단축키

이제 Xcode 또는 다른 편집기에서 블록 주석을 사용하고, 텍스트를 선택하고, 단축키를 사용하여 코드 라인을 주석 처리하거나 마우스 오른쪽 버튼을 클릭하면 상황에 맞는 메뉴 와이 스크립트에 지정한 이름이 근처에 표시됩니다 바닥.


@Baig 이상한 점은 Automator 'Run Shell Script'출력 창에서 테스트 할 때 제대로 작동한다는 것입니다. 어쩌면 내 바로 가기 키 콤보가 이미 사용 중이며 차단되고 있습니까? 그러나 상황에 맞는 메뉴 기능도 작동하지 않습니까? 이것은 나를 괴롭 히고있다 ...
찰스 로버트슨

7

Nikola Milicevic 의 코드를 약간 수정하여 코드가 이미 주석 처리 된 경우 주석 블록도 제거합니다.

on run {input, parameters}
    repeat with anInput in input
        if "/*" is in anInput then
            set input to replaceText("/*", "", input as string)
            set input to replaceText("*/", "", input as string)

            return input
            exit repeat
        end if
    end repeat
    return "/*" & (input as string) & "*/"
end run

on replaceText(find, replace, textString)
    set prevTIDs to AppleScript's text item delimiters
    set AppleScript's text item delimiters to find
    set textString to text items of textString
    set AppleScript's text item delimiters to replace
    set textString to "" & textString
    set AppleScript's text item delimiters to prevTIDs
    return textString
end replaceText

이것이 누군가를 도울 수 있기를 바랍니다.여기에 이미지 설명을 입력하십시오


7

XCode 10에서는 옵션 + 명령 + 백 슬래시를 사용하여 다음과 같이 함수 또는 클래스에 대한 아름다운 주석을 작성할 수 있습니다.

여기에 이미지 설명을 입력하십시오


6

이것을 매우 쉽게 할당 할 수 있습니다. 단계별 설명이 여기에 있습니다.

1.) xCode .m 파일 유형에서 다음은 비어있는 영역이라면 입력하는 위치는 중요하지 않습니다.

/*
*/

2) 두 줄의 코드를 강조 표시 한 다음 '코드 스 니펫 라이브러리 패널'영역으로 끌어다 놓으십시오 (유틸리티 패널의 하단에 있음). 올바르게하면 밝은 파란색 더하기 기호가 나타납니다.

여기에 이미지 설명을 입력하십시오

3.) 마우스 버튼을 놓으면 새 창이 나타나고 이름, 바로 가기 등을 추가하라는 메시지가 나타납니다. 보여진 바와 같이. 보시다시피 //에 바로 가기를 추가했습니다. 따라서 블록 주석을 원할 때마다 //를 입력합니다. 도움이 되었기를 바랍니다

여기에 이미지 설명을 입력하십시오


1

자동화 작업을 통해이 작업을 잘 수행하고 바로 가기를 사용하여 키 조합 ctrl + option + command + b에 바인딩했습니다. 내가해야 할 일은 xcode에서 주석 처리 된 블록을 강조 표시하고 위 ​​키를 누르면 선택한 텍스트는 / * ... * /를 사용하여 주석 처리 된 블록입니다.

나는이 기능을 원했던 이유가 공정한 비트를 접는 코드를 사용하여 주석이 달린 코드 블록을 쉽게 접을 수있었습니다 ... 코드는 // 접지 않는 일반적인 방법으로 주석을 달았습니다.

나는 맥 오토메이터 사용에 익숙하지 않지만 다음 wwdc 비디오의 instrux를 단순히 따라 갔다.

WWDC 2012 비디오 세션 402-Xcode로 효율적으로 작업하기 (약 6 분 후) Mac OSX Automator를 사용하여 선택된 텍스트를 조작하는 서비스를 추가하는 방법에 대한 설명이 있습니다. 비디오에 표시된 예는 쉘 명령 sort 및 uniq를 사용하여 선택한 텍스트에서 중복을 제거하는 것입니다. 이 방법을 사용하면 동일한 작업을 수행하지만 비디오에서 수행하는 작업 대신 다음 명령을 입력합니다

awk 'BEGIN {print "/ "} {print $ 0} END {print " /"}' '

(이전 줄에는 별표 2 개가 표시되어 있습니다. 어떤 이유로 든 표시되지 않습니다 .... 아래 스크린 샷에 표시되므로 입력하려면 올바른 명령으로 복사하십시오)

이런 식으로 쉘 스크립트를 실행해야합니다.

스크린 샷

선택한 텍스트에 대해 주석 구분 기호를 앞뒤에 배치합니다.

저장하면 이름을 지정하고 (블록 코멘트라고 함) 키보드 단축키를 지정할 수있는 옵션이 제공됩니다.

그런 다음 xcode를 열고 텍스트를 선택하고 마우스 오른쪽 버튼을 클릭하고 상황에 맞는 메뉴를 클릭하면이 스크립트에 지정한 이름이 하단 근처에 표시됩니다

단순히 이름을 클릭하면 스크립트가 선택된 코드를 실행하고 주석을 달거나 할당 한 키보드 단축키를 사용합니다.

도움이 되었기를 바랍니다


0

xcode의 도움말 메뉴 앞에 사용자 편집 스크립트가있는 기호가 있습니다. 주석 섹션 아래의 Un / Comment Selection에서 my $ cCmt = "//"를 변경하십시오. 내 $ cCmt = "#"; 또는 IDE가 작동하는 모든 것. 그런 다음 줄을 선택하고 명령 + / (내 xcode 기본값)를 선택하면 선택한 줄을 주석 처리하고 주석 처리를 제거 할 수 있습니다.


0

@Nikola Milicevic

들여 쓰기 문제의 스크린 샷입니다. 이것은 매우 작지만 시각적으로 잘 작동하는 것 같습니다.

또한 Automator 설정의 스크린 샷을 추가하고 있습니다 ...

감사

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

최신 정보:

스크립트를 약간 변경하면

여기에 이미지 설명을 입력하십시오

그런 다음 XCode에서 전체 줄을 선택하면 원하는 결과를 얻습니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


0

당신은에서 자동 생성 코멘트를 변환하는 방법을 찾고 있다면 Add Documentation행동 (사용 가능한 아래는 cmd- shift- /) 당신은 그것을 유용도 찾을 수 있습니다 :

function run(input, parameters) {
  var lines = input[0].split('\n');
  var line1 = lines[0];
  var prefixRe = /^( *)\/\/\/?(.*)/gm;
  var prefix = prefixRe.test(line1) ? line1.replace(prefixRe, "$1") : ""

  var result = prefix + "/*\n";  
  lines.forEach(function(line) {
    result += prefix + line.replace(prefixRe, "$2") + '\n';
  });
  result += '\n' + prefix + ' */';
  return result;
}

@Charles Robertson의 답변과 동일하게 휴식하십시오.

자동화

서비스


0

xcode 11.1 swift 5.0에서

블록 주석을 추가하려는 코드를 선택한 다음 + + 를 누릅니다. /

여기에 이미지 설명을 입력하십시오


-1

Cmd+ Shift+ 7는 선택된 줄을 주석으로 처리합니다.


아마도 Cmd+를 의미했을 것 /입니다. 적어도 것으로 보인다 독일어 키보드 레이아웃이 을 가지고 /7키,하지만 미국의 레이아웃에 /변화없이 자신의 키에 있습니다.
Jake Cobb

노르웨이어 키보드 배열 /7키도 가지고 있지만 여전히 작동하지 않습니다.이 단축키는 단순히 도움말 메뉴를 엽니 다
Sti

-1

Macbooks에서 shift+ cmd+ 7를 사용 하여 이전에 강조 표시된 블록에 주석을 달 수 있습니다.


-11

이미 많은 사람들 이이 질문에 답하는 것처럼 보입니다.

Swift 3.0에서 한 줄 주석은 이중 슬래시를 앞에 두는 것입니다. "//"; 여러 줄은 "/ * .... * /"입니다.

도움이 되었기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.