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


152

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


あなたは解決策に近いですか?また、同じ質問が1年以上前に行われました(残念ながら、回答もありませんでした)。
Blaz

また、キーバインド/ショートカットを確立すると、他の言語にもメリットがあります。ブロックコメントは、たとえば、まだ削除されていない古いコードの視覚的なマークとして機能し、通常の//コメントは「実際の」コメントのままであるためです。そうしないと、何が何であるか(一目で)わかりません。
Blaz

こんにちは!ショートカットは見つかりましたか?おかげで
Frade

まだこのようなものを探しています。Eclipseはの後/* + Returnでそれを構築するのに十分スマートですが、Xcodeは次の行の0桁の位置にダンプします。
Craig Otis

Xcode 9でも、すべてをラップする( ""、()、{}、[])には、ブロックコメントに対して同じように処理する方法がないとは信じられません...毎年、リリースごとに。「コードスニペットは、」「選択」のためのいくつかのトークンを使用することができれば、...も素晴らしいことだ
bauerMusic

回答:


231

command+を試してください/。わたしにはできる。

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


39
あなたが私の質問を読んだとは思わないか、または私が//コメントを使用できないと明示的に言ったのを見たことがあるでしょう、それはコマンド/が生成するものです。
limp_chimp 2013年

1
ブロックのコメントを解除するショートカットは何ですか?
ニザム

13
@Nizam Command+ Shift+ 7、つまりCommand+ /をもう一度押すだけです。
muenchdo 14

4
この回答が特定の質問を扱っていないという事実に関係なく、それはグーグル検索の「Xcodeコメントショートカット」の真上に現れるので、多少の寛容さが必要です-この質問を読んだ後、これは正しい答えは多分あなたの質問は少し複雑です。私はあなたの質問のタイトルごとにコマンド+ /実際にはブロックをコメントと見なします。いずれにせよ、これは非常に役立つ解決策です-ありがとう。
nocarrier

10
これはXcode 8.0では機能しCmd-/なくなったようですが、どこに行ったのでしょうか。
bshirley

41

更新:

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

元の回答:

Xcode 7および8では、上記のいずれも機能しませんでした。

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

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

ここに画像の説明を入力してください

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


1
あなたは天才です。この記事では、「Automator-> Run Shell Script」ソリューションを含む他のすべての回答を実装しようとしましたが、あなたを除いてどれも機能しませんでした。AppleScriptが勝利しました。私はあなたの答えを賛成しています...
Charles Robertson

涼しい。それがあなたを助けてくれてうれしい:)
Nikola Milicevic

私はこれが少し生意気であることを知っていますが、これらのブロックコメントを適用するときにインデントを保持する方法を知っていますか?たとえばXCodeでは、私のコードの大部分はある程度インデントされており、コメントがインデントを保持していると見栄えが良くなります。これは、ネイティブブロックコメントスタイルの動作を模倣します。ありがとう...
Charles Robertson、

スクリーンショットを提供していただけませんか?インデントを保持する必要があるためです。最良の結果を得るには、例に示すように、行全体を選択する必要があります。
Nikola Milicevic 2016

コメント解除をどのようにブロックしますか?
Abhishek Bedi 2017年

36

xCode 8でできること:

+ +/

ドキュメントコメントを自動生成します。

出典:https : //twitter.com/felix_schwarz/status/774166330161233920


1
これは、Swiftを使用してオプション、コマンド、/を押すと機能しません。何を間違えたのですか?\\\ Description@paramsなどのドキュメントブロックではなく、取得するだけです
Jonnny

これは、関数がパラメーターを提供しないためです
Beninho85

23

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

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

EDIT Appleは悲しいことに(そして誤ってIMHOは)Xcode 8で古いプラグインモデルを廃止しました。新しいプラグインシステムはかなり制限されていますが、このようなプラグインの開発を再び可能にするはずです。これに関心のある方は、WWDC 2016セッション414をご覧ください。また、作成または参照したいプラグイン用のAPIのレーダー提出してください。


ありがとう、@ BugsBunny-私の答えは質問よりもはるかに新しいので、今まで誰もそれを見ていないと思います:)
fzwo

2
これはXcode 6.3(バージョン6.3.1(6D1002))以降では機能しません。プラグインは機能しません。
Abhishek Bedi

@AbhishekBedi 新しいXcodeバージョンの一般的なプラグインのトラブルシューティングについては、stackoverflow.com / questions / 30361228 /…を参照してください。
fzwo 2015年

12

更新:Xcode 8アップデート

xcode 8を使用すると、次のことができます。

+ +/

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

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

  1. Automatorを開く
  2. サービスを選択
  3. Run Shell Scriptを検索してダブルクリックします

以下のapplescriptをtextareaに追加します

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

ブロックコメント用のアップルスクリプト

  1. 名前を付けてスクリプトを保存 Block Comment

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

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

新しいキーボードショートカット

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


回答に「上手くいけば賛成」と書く必要はありません。人々はそれが有用だと思うなら賛成票を投じます。
taskinoor 2016

@Baigこれは本当によく文書化された回答であり、私は正確に実装することができました。しかし、テキストを選択してショートカットctrl + option + command + bを実行しても、何も起こりません。コンテキストメニューを使用しても何も起こりませんか?これはうまくいくと確信していたので、なんて残念なことでしょう。少なくとも気にしないで、私はAutomatorの使い方を学びました。なんてクールなアプリでしょう!
Charles Robertson、

@Baigコンピュータを再起動する必要がありますか?
Charles Robertson

@Baig奇妙なことに、Automatorの[Run Shell Script]出力ウィンドウでテストすると、正常に動作します。多分、私のショートカットキーのコンボは既に使用されており、これによりブロックされている可能性がありますか?しかし、コンテキストメニュー機能も機能しませんか?これは私を悩ませています...
Charles Robertson

これは、以前のosxバージョンでは完全に機能していました。確認しましたが、現在は機能していません。
2016

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.)2行のコードを強調表示し、[コードスニペットライブラリパネル]エリア(ユーティリティパネルの下部にある)にドラッグアンドドロップします。正しく実行すると、水色のプラス記号が表示されます。

ここに画像の説明を入力してください

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

ここに画像の説明を入力してください


XCode 10でもこれを行うことができます。「コードスニペットライブラリパネル」領域が移動しました。{ }エディター領域の右上にあるアイコンを探します。
マンロー

1

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

コードをかなり折りたたむので、この機能が必要な理由は、コメント付きコードのブロックを簡単に折りたたむことができるようにするためです。

私はMacオートマトンの使用に慣れていませんが、次のwwdcビデオで単にinstruxを追跡しました

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

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

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

あなたはこのようなシェルスクリプトを実行することになるでしょう

スクリーンショット

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

保存すると、名前を付けるオプション(ブロックコメントと呼ぶ)とキーボードショートカットを割り当てるオプションが表示されます。

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

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

お役に立てれば


面倒ですが、メソッドのヘッダーを作成するために、Keyboard Maestroとawkで同様のことを行いました。Swiftはもう少し作業が多いので、まだ取り組んでいません。
ロイドサージェント

0

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


0

@ニコラ・ミリセビッチ

これがインデントの問題のスクリーンショットです。これは非常にマイナーですが、例のビジュアルではうまく機能しているように見えるのは奇妙です。

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

ありがとう

ここに画像の説明を入力してください

ここに画像の説明を入力してください

更新:

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

ここに画像の説明を入力してください

XCodeで行全体を選択すると、目的の結果が得られます。

ここに画像の説明を入力してください

ここに画像の説明を入力してください


1
ああ、そうです。コメントを閉じた後、新しい行を追加しませんでした。わかりました。
Nikola Milicevic

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

Automator

サービス


0

Xcode 11.1 Swift 5.0では

ブロックコメントを追加するコードを選択し、+ +を押します /

ここに画像の説明を入力してください


-1

Cmd+ Shift+ 7選択した行にコメントします。


どのような条件で機能するか教えていただけますか?私にはそれはありません...!
SeF 2016年

おそらくCmd+を意味し/ます。少なくともようですドイツ語のキーボードレイアウトを持っている/上で7のキーが、米国のレイアウトに/シフトせず、独自のキーです。
Jake Cobb、

私が持っている/7にもノルウェーのキーボードレイアウトのキーが、それはまだない仕事...このショートカットは、単純に、ヘルプメニューを開くん
STIの


-11

すでに多くの人がこの質問に答えているようです。

Swift 3.0では、1行のコメントは2つのスラッシュを前に付けることです: "//"; 複数行は "/ * .... * /"に置かれます。

お役に立てれば。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.