it-swarm.com.de

Gibt es eine Verknüpfung, um einen Blockkommentar in Xcode zu erstellen?

Ich schreibe ANSI-kompatiblen C-Code und kann daher die Zeile (//) Kommentar. Ich benutze Xcode. In Sublime Text and Eclipse und den meisten anderen IDEs gibt es separate Tastaturkürzel für Zeilenkommentare und Blockkommentare (/**/). In Xcode wird dies jedoch nicht angezeigt. Tatsächlich wird nicht einmal eine Menüoption zum Hinzufügen eines Blockkommentars angezeigt. Wird es in Xcode einfach nicht unterstützt? Das scheint sicherlich eine lahme Entscheidung zu sein, wenn dem so ist.

143
limp_chimp

Versuchen command + /. Für mich geht das.

Markieren Sie also einfach den Codeblock, den Sie auskommentieren möchten, und drücken Sie diese beiden Tasten.

204

UPDATE:

Da ich faul war und meine Lösung nicht vollständig implementiert habe, habe ich mich umgesehen und BlockComment for Xcode gefunden, ein kürzlich veröffentlichtes Plugin ( June 2017 ). Kümmere dich nicht um meine Lösung, dieses Plugin funktioniert wunderbar und ich kann es nur empfehlen.

URSPRÜNGLICHE ANTWORT:

Keines der oben genannten funktionierte für mich auf Xcode 7 und 8 , also ICH:

  1. Erstellt Automator Service mit AppleScript
  2. Stellen Sie sicher, dass "Ausgabe ersetzt ausgewählten Text" aktiviert ist
  3. Geben Sie den folgenden Code ein:

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

enter image description here

Sie können jetzt über das Menü Xcode - Dienste auf diesen Dienst zugreifen, indem Sie mit der rechten Maustaste auf den ausgewählten Codeblock klicken, den Sie kommentieren möchten, oder eine Verknüpfung in den Systemeinstellungen erstellen.

35

Mit xCode 8 können Sie jetzt Folgendes tun:

 +  + /

um einen Dokumentkommentar automatisch zu generieren.

Quelle: https://Twitter.com/felix_schwarz/status/77416633016123392

29
Beninho85

Es gibt jetzt ein Xcode-Plugin, das dies ermöglicht: CComment .

Der einfachste Weg, dies zu installieren, ist die Verwendung des erstaunlichen Alcatraz-Plugin-Managers für Xcode .

[~ # ~] edit [~ # ~] Apple) hat leider (und zu Unrecht, IMHO) den alten pensioniert Plugin-Modell mit Xcode 8. Das neue Plugin-System ist recht begrenzt, sollte aber die Entwicklung eines solchen Plugins noch einmal ermöglichen. Für alle, die daran interessiert sind, siehe WWDC 2016 Session 414 . Dateiradar für API für Plugins, die Sie schreiben oder sehen möchten.

23
fzwo

UPDATE: Xcode 8 Update

Mit xcode 8 können Sie jetzt Folgendes tun:

 +  + /

Hinweis: Die folgende Methode funktioniert in der xcode-Version nicht => 8

Sehr einfache Schritte zum Hinzufügen der Blockkommentar-Funktionalität zu jedem Editor von Mac OS X

  1. Öffne Automator
  2. Wählen Sie Services
  3. Suchen Führen Sie das Shell-Skript aus und doppelklicken Sie darauf

Fügen Sie das folgende AppleScript in das Textfeld ein

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

Apple script for block comment

  1. Skript speichern unter Block Comment

Fügen Sie eine Tastenkombination hinzu

Öffnen Sie Systemeinstellung> Tastatur> Verknüpfungen und fügen Sie eine neue Verknüpfung hinzu, indem Sie auf + und rechts den gleichen Namen dh Block Comment wie Sie im 4. Schritt an applescript vergeben haben. Fügen Sie Ihre Tastenkombination hinzu und klicken Sie auf Hinzufügen .

New keyboard shortcut

Jetzt sollten Sie in der Lage sein, Blockkommentare in Xcode oder einem anderen Editor zu verwenden, Text auszuwählen, Kommentarzeilen zu blockieren oder mit der rechten Maustaste zu klicken. Das Kontextmenü und der Name, den Sie diesem Skript gegeben haben, sollten in der Nähe von angezeigt werden der Boden.

11
Baig

Ich habe den Code von Nikola Milicevic ein wenig geändert, damit er auch den Kommentarblock entfernt, wenn der Code bereits kommentiert ist:

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

Hoffe das wird jemandem helfen. enter image description here

6
A. Buksha

Sie können dies sehr einfach selbst zuordnen, hier wird Schritt für Schritt erklärt.

1.) Geben Sie in Ihrer xCode .m-Datei Folgendes ein, egal wo Sie eingeben, solange es sich um einen leeren Bereich handelt.

/*
*/

2.) Markieren Sie zwei Codezeilen und ziehen Sie sie per Drag & Drop in den Bereich „Code-Snippet-Bibliothek“ (im unteren Bereich des Bedienfelds „Dienstprogramme“). Ein hellblaues Pluszeichen wird angezeigt, wenn Sie es richtig machen.

enter image description here

3.) Nachdem Sie die Maustaste losgelassen haben, wird ein neues Fenster geöffnet, in dem Sie aufgefordert werden, Namen, Abkürzungen usw. hinzuzufügen. wie gezeigt. Wie Sie sehen, habe ich meine Verknüpfung zu // hinzugefügt. Jedes Mal, wenn ich einen Blockkommentar möchte, gebe ich // ein. Hoffe das hilft

enter image description here

5
Ohmy

In XCode 10 können Sie mit Option + Befehl + Backslash einen schönen Kommentar für Ihre Funktion oder Klasse wie folgt schreiben:

enter image description here

2
paras gupta

ich habe es geschafft, dass dies über eine Automator-Task funktioniert, und habe eine Verknüpfung verwendet, um es an die Tastenkombination Strg + Option + Befehl + B zu binden. Alles, was ich tun muss, ist, den Code zu markieren, den der Block in xcode kommentieren soll, und die obigen Tasten zu drücken. Der ausgewählte Text wird mit/* ... */auskommentiert.

ich benutze Code, der ein gutes Stück faltet, also war der Grund, warum ich diese Funktionalität wollte, der, dass ich leicht einen Block kommentierten Codes falten konnte.

ich bin nicht vertraut mit der Verwendung von Mac Automator, aber ich habe einfach die Anweisungen im folgenden wwdc-Video befolgt

in der WWDC 2012-Videositzung 402 - Effizientes Arbeiten mit Xcode (ab ca. 6 Minuten) wird beschrieben, wie Sie mit dem Mac OSX Automator einen Dienst zum Bearbeiten von ausgewähltem Text hinzufügen. Das im Video gezeigte Beispiel ist das Entfernen von Duplikaten in einer Textauswahl mit den Shell-Befehlen sort und uniq. Mit diesem Ansatz machst du dasselbe, aber du gibst den folgenden Befehl anstelle dessen ein, was er im Video tut

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

(Beachten Sie, dass es in der vorherigen Zeile 2 Sternchen geben soll, die aus irgendeinem Grund nicht angezeigt werden. Sie werden jedoch im folgenden Screenshot angezeigt. Kopieren Sie diese, um den richtigen Befehl einzugeben.)

sie sollten am Ende ein Shell-Skript wie dieses ausführen

screenshot

dadurch werden für jeden ausgewählten Text die Kommentarbegrenzer vor und nach dem Text eingefügt.

wenn Sie es speichern, sollten Sie Optionen erhalten, um es zu benennen (ich nannte es Blockkommentar) und auch eine Tastenkombination zuzuweisen

dann sollten Sie in der Lage sein, xcode zu öffnen, einen Text auszuwählen, mit der rechten Maustaste zu klicken und das Kontextmenü zu öffnen. Der Name, den Sie diesem Skript gegeben haben, sollte unten angezeigt werden

klicken Sie einfach auf den Namen, und das Skript wird ausgeführt und kommentiert den ausgewählten Code oder verwendet die von Ihnen zugewiesene Tastenkombination.

hoffe das hilft

1
lozflan

Auf xcode befindet sich vor dem Hilfemenü ein Symbol mit dem Zusatz Edit user script. Bei Un/Comment Selection unter comments section change my $ cCmt = "//"; zu meinem $ cCmt = "#"; oder was auch immer Ihre IDE funktioniert. Dann durch Auswahl von Zeilen und Befehl +/(Es ist meine Xcode-Standardeinstellung) können Sie die ausgewählten Zeilen kommentieren und auskommentieren.

1
Fati

Wenn Sie nach einer Möglichkeit suchen, einen automatisch generierten Kommentar aus der Aktion Add Documentation Zu konvertieren (verfügbar unter cmd-shift-/) Vielleicht finden Sie es auch nützlich:

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

Entspricht der Antwort von @Charles Robertson:

Automator

Services

0
Daniel Bauke

@Nikola Milicevic

Hier ist der Screenshot des Einrückungsproblems. Dies ist sehr geringfügig, aber es ist seltsam, dass es in Ihrem visuellen Beispiel so gut zu funktionieren scheint.

Ich füge auch einen Screenshot meines Automator-Setups hinzu ...

Vielen Dank

enter image description here

enter image description here

Update:

Wenn ich das Skript leicht ändere in:

enter image description here

Und wenn Sie dann in XCode vollständige Zeilen auswählen, erhalte ich das gewünschte Ergebnis:

enter image description here

enter image description here

0