web-dev-qa-db-fra.com

Existe-t-il un raccourci pour faire un commentaire de blocage dans Xcode?

J'écris du code C compatible ANSI et par conséquent, je ne peux pas utiliser le commentaire de ligne (//). J'utilise Xcode. Dans Sublime Text et Eclipse, comme dans la plupart des autres IDE, il existe des raccourcis clavier distincts pour les commentaires de ligne et les commentaires de blocage (/**/). Cependant, je ne vois pas cela dans Xcode - en fait, je ne vois même pas d’option de menu permettant d’ajouter un commentaire de blocage. Est-ce simplement non supporté par Xcode? Cela semblerait certainement une décision boiteuse si oui.

143
limp_chimp

Essayer command + /. Ça marche pour moi.

Il vous suffit donc de sélectionner le bloc de code que vous souhaitez commenter et d'appuyer sur ces deux touches.

204
Stefan Vasiljevic

UPDATE:

Étant paresseux et n'ayant pas entièrement implémenté ma solution, j'ai cherché et trouvé BlockComment for Xcode , un plugin récemment publié ( juin 2017 ). Ne vous embêtez pas avec ma solution, ce plugin fonctionne à merveille et je le recommande vivement.

RÉPONSE ORIGINALE:

Aucun de ce qui précède n'a fonctionné pour moi sur Xcode 7 et 8 , donc JE:

  1. Créé le service Automator utilisant AppleScript
  2. Assurez-vous que "La sortie remplace le texte sélectionné" est cochée
  3. Entrez le code suivant:

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

enter image description here

Vous pouvez maintenant accéder à ce service via le menu Xcode - Services, ou en cliquant avec le bouton droit de la souris sur le bloc de code sélectionné que vous souhaitez commenter, ou en lui donnant un raccourci sous Préférences Système.

35
Nikola Milicevic

Maintenant, avec xCode 8, vous pouvez faire:

 +  + /

générer automatiquement un commentaire de doc.

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

29
Beninho85

Il existe maintenant un plugin Xcode qui permet ceci: CComment .

Le moyen le plus simple de l'installer est d'utiliser l'incroyable Alcatraz plugin manager for Xcode .

EDIT Apple a malheureusement (et à tort, IMHO) retiré l'ancien modèle de plug-in avec Xcode 8. Le nouveau système de plug-in est assez limité, mais devrait permettre le développement d'un plugin comme celui-ci à nouveau. Pour ceux qui sont intéressés, regardez session 414 de la WWDC 2016 . Aussi, veuillez radars de fichiers pour l'API des plug-ins que vous souhaitez écrire ou voir.

23
fzwo

UPDATE: Mise à jour de Xcode 8

Maintenant, avec xcode 8, vous pouvez faire:

 +  + /

Remarque: La méthode ci-dessous ne fonctionnera pas dans la version xcode => 8

Étapes très simples pour ajouter la fonctionnalité de blocage de commentaires à n’importe quel éditeur de Mac OS X

  1. Ouvrir Automator
  2. Choisissez Services
  3. Rechercher Exécuter un script shell et double-cliquez dessus

Ajouter le script ci-dessous dans textarea

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

Apple script for block comment

  1. Enregistrer le script sous Block Comment

Ajouter un raccourci clavier

Ouvrez Préférences système> Clavier> Raccourcis , ajoutez un nouveau raccourci en cliquant sur + et à droite le même nom, c'est-à-dire Block Comment que vous avez donné à AppleScript dans la 4ème étape. Ajoutez votre raccourci clavier et cliquez sur le bouton Ajouter .

New keyboard shortcut

Vous devriez maintenant pouvoir utiliser le commentaire de blocage dans Xcode ou tout autre éditeur, sélectionner du texte, utiliser votre touche de raccourci pour bloquer un commentaire, quelle que soit la ligne de code ou le clic droit, le menu contextuel et le nom que vous avez donné à ce script devraient apparaître à proximité. le fond.

11
Baig

J'ai modifié le code de Nikola Milicevic un peu afin de supprimer également le bloc de commentaires si le code est déjà commenté:

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

J'espère que cela aidera quelqu'un. enter image description here

6
A. Buksha

Vous pouvez l'assigner vous-même très facilement, voici une explication étape par étape.

1.) Dans votre fichier xCode .m tapez ce qui suit, peu importe où vous tapez tant que c'est une zone vide.

/*
*/

2.) Mettez en surbrillance deux lignes de code, puis faites-les glisser dans la zone "Panneau de la bibliothèque d'extraits de code" (située dans la partie inférieure du panneau Utilitaires). Un signe plus bleu clair apparaîtra si vous le faites correctement.

enter image description here

3.) Après avoir relâché le bouton de la souris, une nouvelle fenêtre s’ouvrira et vous demandera d’ajouter un nom, un raccourci, etc. comme montré. Comme vous pouvez le voir, j'ai ajouté mon raccourci vers //. Donc, chaque fois que je veux un commentaire de bloc, je tape //. J'espère que cela t'aides

enter image description here

5
Ohmy

Dans XCode 10, vous pouvez utiliser option + commande + barre oblique inverse pour écrire un beau commentaire pour votre fonction ou votre classe, comme ci-dessous:

enter image description here

2
paras gupta

j'ai réussi à le faire fonctionner correctement via une tâche d'automate et j'ai utilisé un raccourci pour le lier à la combinaison de touches ctrl + option + commande + b. tout ce que j'ai à faire est de mettre en évidence le code que je veux bloquer en xcode et d'appuyer sur les touches ci-dessus. Le texte sélectionné est ensuite mis en commentaire à l'aide de/* ... * /.

j'utilise le code pliant un peu, la raison pour laquelle je voulais cette fonctionnalité était donc de pouvoir facilement plier un bloc de code commenté ... le code commenté de la manière habituelle en utilisant // wont fold.

je ne suis pas familier avec l'utilisation de mac automator mais j'ai simplement suivi l'instrux dans la vidéo wwdc suivante

dans la vidéo WWDC 2012 Session 402 - Travailler efficacement avec Xcode (à partir de 6 minutes environ), vous apprendrez comment utiliser Mac OSX Automator pour ajouter un service permettant de manipuler le texte sélectionné. L'exemple présenté dans la vidéo consiste à supprimer les doublons dans une sélection de texte à l'aide des commandes Shell, tri et uniq. En utilisant cette approche, vous faites la même chose, mais vous entrez la commande suivante au lieu de ce qu'il fait dans la vidéo.

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

(notez qu'il y a 2 astérisques dans la ligne précédente qui, pour une raison quelconque, ne sont pas affichés .... ils apparaissent dans la capture d'écran ci-dessous, donc copiez-le comme commande correcte à entrer)

vous devriez finir par exécuter un script Shell comme celui-ci

screenshot

ainsi, pour tout texte sélectionné, les délimiteurs de commentaires seront placés avant et après.

quand vous enregistrez, vous devriez avoir les options pour le nommer (je l'ai appelé blockcomment) et aussi pour assigner un raccourci clavier

alors vous devriez pouvoir ouvrir xcode, sélectionner du texte, un clic droit, le menu contextuel, et le nom que vous avez donné à ce script devrait apparaître près du bas

cliquez simplement sur le nom pour exécuter le script et bloquer le commentaire du code sélectionné ou utiliser le raccourci clavier que vous avez attribué.

j'espère que cela t'aides

1
lozflan

Il y a un symbole avant le menu d’aide sur xcode qui contient Edit user script. Sur Un/Comment Sélection dans la section des commentaires, changez mon $ cCmt = "//"; à mon $ cCmt = "#"; ou quel que soit votre IDE avec. Ensuite, en sélectionnant les lignes et la commande +/(c'est mon code xcode par défaut), vous pouvez commenter et décommenter les lignes sélectionnées.

1
Fati

Si vous cherchez un moyen de convertir un commentaire généré automatiquement à partir de Add Documentation action (disponible sous cmd-shift-/) vous pourriez aussi le trouver utile:

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

Reste la même chose que dans la réponse de @Charles Robertson:

Automator

Services

0
Daniel Bauke

@ Nikola Milicevic

Voici la capture d'écran du problème d'indentation. Ceci est très mineur, mais il est étrange que cela semble fonctionner si bien, dans votre exemple visuel.

J'ajoute également une capture d'écran de mon installation Automator ...

Merci

enter image description here

enter image description here

Mise à jour:

Si je change légèrement le script en:

enter image description here

Et puis sélectionnez les lignes complètes en XCode, je reçois le résultat souhaité:

enter image description here

enter image description here

0
Charles Robertson