web-dev-qa-db-ja.com

Xcodeでブロックコメントを作成するショートカットはありますか?

私はANSI互換のCコードを書いているので、行(//)コメントを使用できません。 Xcodeを使用しています。 Sublime TextとEclipse、および他のほとんどのIDEには、行コメントとブロックコメント(/**/)用の個別のキーボードショートカットがあります。ただし、Xcodeには表示されません。実際、ブロックコメントを追加するメニューオプションも表示されません。 Xcodeでサポートされていないだけですか?もしそうなら、それは確かに不完全な決定のように思われるでしょう。

139
limp_chimp

試して command + /。わたしにはできる。

したがって、コメントアウトするコードブロックを強調表示して、これら2つのキーを押すだけです。

203

更新:

私は怠zyで、ソリューションを完全に実装していなかったので、周りを検索して、最近リリースされたプラグインである BlockComment for Xcode を見つけました(June 2017) 。私のソリューションを気にしないでください、このプラグインは美しく動作します、そして私はそれを強くお勧めします。

元の回答:

上記のどれもXcode 7および8では機能しなかったので、私は:

  1. AppleScriptを使用してAutomatorサービスを作成
  2. 「選択したテキストを出力が置換する」がチェックされていることを確認してください
  3. 次のコードを入力してください。

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

enter image description here

これで、Xcode-[サービス]メニューから、またはコメントしたいコードの選択したブロックを右クリックするか、[システム環境設定]でショートカットを指定して、そのサービスにアクセスできます。

34

XCode 8で次のことができるようになりました。

 +  + /

docコメントを自動生成します。

ソース: https://Twitter.com/felix_schwarz/status/77416633016123392

26
Beninho85

これを可能にするXcodeプラグインがあります: CComment

これをインストールする最も簡単な方法は、すばらしい Xcode用のAlcatrazプラグインマネージャー を使用することです。

EDITAppleは悲しいことに(そして間違って、私見)Xcode 8で古いプラグインモデルを廃止しました。新しいプラグインシステムはかなり制限されていますが、このようなプラグインの開発を再度許可する必要があります。これに興味がある人は、 WWDC 2016セッション414 をご覧ください。また、書き込みまたは表示したいプラグインのAPIについては file radars をご覧ください。

23
fzwo

UPDATE:Xcode 8アップデート

Xcode 8でできること:

 +  + /

注:以下のメソッドはxcodeバージョンでは機能しません=> 8

Mac OS Xのエディターにブロックコメント機能を追加する非常に簡単な手順

  1. OpenAutomator
  2. Servicesを選択します
  3. 検索シェルスクリプトの実行およびダブルクリック

テキストエリアに以下のアップルスクリプトを追加します

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

Apple script for block comment

  1. スクリプトをBlock Commentとして保存

キーボードショートカットを追加する

システム環境設定>キーボード>ショートカットを開き、+をクリックして新しいショートカットを追加しますそして、4番目のステップでapplescriptに指定したのと同じ名前(つまり、Block Comment)。 キーボードショートカットを追加し、Addボタンをクリックします。

New keyboard shortcut

これで、Xcodeまたは他のエディターでブロックコメントを使用し、テキストを選択し、ショートカットキーを使用してコードの行をブロックまたは右クリックして、コンテキストメニュー、このスクリプトに付けた名前が近くに表示されるはずです。ボトム。

11
Baig

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

これが誰かを助けることを願っています。 enter image description here

6
A. Buksha

これは非常に簡単に自分で割り当てることができます。ステップごとに説明します。

1.)xCode .mファイルに次のように入力します。空の領域であれば、どこに入力してもかまいません。

/*
*/

2.)2行のコードを強調表示して、「コードスニペットライブラリパネル」領域(ユーティリティパネルの下部にあります)にドラッグアンドドロップします。正しく実行すると、水色のプラス記号が表示されます。

enter image description here

3.)マウスボタンを離すと、新しいウィンドウがポップアップ表示され、名前やショートカットなどを追加するように求められます。示されているように。ご覧のとおり、//にショートカットを追加しました。したがって、ブロックコメントが必要になるたびに//と入力します。お役に立てれば

enter image description here

5
Ohmy

XCode 10では、option + command +バックスラッシュを使用して、以下のように関数またはクラスの美しいコメントを作成できます。

enter image description here

2
paras gupta

私はオートマタタスクを介してこれをうまく機能させることができ、ショートカットを使用してキーの組み合わせctrl + option + command + bにバインドしました。私がしなければならないのは、xcodeでコメントをブロックしたいコードを強調表示し、上記のキーを押すと、選択したテキストが/ * ... * /を使用してブロックコメントアウトされることです。

私はコードをかなり折りたたんで使用しているので、この機能が必要な理由は、コメント付きコードのブロックを簡単に折りたたむことができるようになったからです...

macオートマトンの使用に慣れていませんが、次のwwdcビデオの指示に従ってください

wWDC 2012ビデオセッション402-Xcodeの効率的な使用(約6分から)で、Mac OSX Automatorを使用して選択したテキストを操作するサービスを追加する方法の説明があります。ビデオに示されている例は、シェルコマンドsortおよびuniqを使用して、選択したテキストの重複を削除することです。このアプローチを使用しても同じことができますが、ビデオで彼が行うことの代わりに次のコマンドを入力します

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

(前の行には、何らかの理由で表示されていないアスタリスクが2つあることに注意してください....下のスクリーンショットに表示されるので、入力する正しいコマンドとしてコピーしてください)

このようなシェルスクリプトを実行する必要があります

screenshot

これにより、選択したテキストに対して、コメント区切り文字が前後に配置されます。

保存するときは、名前を付けるオプション(ブロックコメントと呼びます)とキーボードショートカットを割り当てるオプションを取得する必要があります

xcodeを開き、テキストを選択して右クリックし、コンテキストメニューを表示すると、このスクリプトに付けた名前が下部近くに表示されます。

名前をクリックすると、スクリプトが実行され、選択したコードのコメントをブロックするか、割り当てたキーボードショートカットを使用します。

お役に立てれば

1
lozflan

Xcodeのヘルプメニューの前に、ユーザースクリプトの編集があるシンボルがあります。コメントセクションのUn/Comment Selectionで、$ cCmt = "//"を変更します。 $ cCmt = "#";またはIDEが機能するものは何でも。次に、行とコマンド+ /(これは私のxcodeのデフォルトです)を選択することで、選択した行をコメント化およびコメント解除できます。

1
Fati

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の回答と同じように休みます。

Automator

Services

0
Daniel Bauke

ニコラ・ミリセビッチ

これがインデントの問題のスクリーンショットです。これは非常に小さなものですが、視覚的な例ではうまく機能しているように見えるのは奇妙です。

Automatorセットアップのスクリーンショットも追加しています...

ありがとう

enter image description here

enter image description here

更新:

スクリプトを少し変更すると:

enter image description here

そして、XCodeで完全な行を選択すると、望ましい結果が得られます。

enter image description here

enter image description here

0