programing tip

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

itbloger 2020. 6. 17. 19:01
반응형

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


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


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

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


최신 정보:

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

원래 답변 :

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

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

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

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

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


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

+ +/

문서 주석을 자동 생성합니다.

출처 : https://twitter.com/felix_schwarz/status/774166330161233920


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

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

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


업데이트 : 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 또는 다른 편집기에서 블록 주석을 사용하고, 일부 텍스트를 선택하고, 단축키를 사용하여 코드 행을 주석으로 막거나 마우스 오른쪽 버튼을 클릭하면 상황에 맞는 메뉴 와이 스크립트에 지정한 이름이 근처에 표시됩니다 바닥.


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

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


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

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

/*
*/

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

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

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

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


In XCode 10, you can use option + command + backslash to write a beautiful comment for your function or class like below:

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


i managed to get this working well via an automator task and have used shortcut to bind it to key combination ctrl+option+command+b. all i have to do is highlight the code i want block commented in xcode and press the above keys and the selected text is block commented out using /* ... */.

i use code folding a fair bit so the reason i wanted this functionality was so i could easily fold down a block of commented code ... code commented the usual way using // wont fold.

im not familiar with using mac automator but i simply followed the instrux in the following wwdc video

in the WWDC 2012 video Session 402 - Working Efficiently with Xcode ( from around 6 minutes in) there's a description of how to use the Mac OSX Automator to add a service to manipulate selected text. The example shown in the video is to remove duplicates in a selection of text using the shell commands sort and uniq. Using this approach you do the same but you enter the following command instead of what he does in the video

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

(note there are meant to be 2 asterisks in the previous line that for some reason are not showing .... they do show up in the screenshot below so copy that as the correct command to enter)

you should end up running a shell script like this

스크린 샷

this will, for any given selected text, put the comment delimiters before and after.

when you save it you should get options to name it (i called it blockcomment) and also to assign a keyboard shortcut

then you should be able to open xcode, select some text, right click, the context menu, and the name you gave to this script should show near the bottom

simply click the name and the script will run and block comment the selected code or use the keyboard shortcut you assigned.

hope this helps


There is a symbol before help menu on xcode which has Edit user script. On Un/Comment Selection under comments section change my $cCmt = "//"; to my $cCmt = "#"; or whatever your IDE works with. Then by selecting lines and command + / (It's my xcode default) you can comment and uncomment the selected lines.


@Nikola Milicevic

Here is the screenshot of the indentation issue. This is very minor, but it is strange that it seems to work so well, in your example visual.

I am also adding a screenshot of my Automator set-up...

Thanks

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

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

Update:

If I change the script slightly to:

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

And then select full lines in XCode, I get the desired outcome:

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

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


If you're looking a way to convert autogenerated comment from Add Documentation action (available under cmd-shift-/) you might find it useful too:

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;
}

Rest the same as in @Charles Robertson answer:

자동화

서비스


Cmd + Shift + 7 will comment the selected lines.


in Macbooks, you can use shift + cmd + 7 to comment a previously highlighted block


Seems like already a lot of people answers this question.

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

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

참고 URL : https://stackoverflow.com/questions/13212288/is-there-a-shortcut-to-make-a-block-comment-in-xcode

반응형