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

154

J'écris du code C compatible ANSI et je ne peux donc pas utiliser le //commentaire line ( ). J'utilise Xcode. Dans Sublime Text et Eclipse, et je pense que la plupart des autres IDE, il existe des raccourcis clavier séparés pour les commentaires de ligne et les commentaires de bloc ( /**/). Cependant, je ne vois pas cela dans Xcode - en fait, je ne vois même pas une option de menu pour ajouter un commentaire de bloc. N'est-il tout simplement pas pris en charge dans Xcode? Cela semblerait certainement être une décision boiteuse si tel est le cas.

limp_chimp
la source

Réponses:

233

Essayer command + /. Ça marche pour moi.

Donc, vous mettez simplement en surbrillance le bloc de code que vous souhaitez commenter et appuyez sur ces deux touches.

Stefan Vasiljevic
la source
13
@Nizam Appuyez simplement sur Command+ Shift+ 7, c'est-à-dire Command+ /, encore une fois.
muenchdo
41

METTRE À JOUR:

Comme j'étais paresseux et que je n'avais pas entièrement implémenté ma solution, j'ai cherché et trouvé BlockComment pour 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:

Aucune des solutions ci-dessus n'a fonctionné pour moi sur Xcode 7 et 8 , donc je:

  1. Création du service Automator à l'aide d' 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

entrez la description de l'image ici

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

Nikola Milicevic
la source
36

Maintenant, avec xCode 8, vous pouvez faire:

+ +/

pour générer automatiquement un commentaire doc.

Source: https://twitter.com/felix_schwarz/status/774166330161233920

Beninho85
la source
1
Cela ne fonctionne pas pour moi lorsque je le fais avec Swift et en appuyant sur, option, commande, /. Qu'ai-je fait de mal? Je viens de recevoir \\\ Descriptionet pas un bloc de documentation avec @params etc
Jonnny
C'est parce que votre fonction ne fournit aucun paramètre
Beninho85
23

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

Le moyen le plus simple de l'installer est d'utiliser l'incroyable gestionnaire de plugins Alcatraz pour Xcode .

EDIT Apple a malheureusement (et à tort, IMHO) retiré l'ancien modèle de plugin avec Xcode 8. Le nouveau système de plugin est assez limité, mais devrait permettre le développement d'un plugin comme celui-ci à nouveau. Pour toute personne intéressée à faire cela, regardez la session 414 de la WWDC 2016 . Veuillez également déposer des radars pour l'API pour les plugins que vous souhaitez écrire ou voir.

fzwo
la source
2
Cela ne fonctionne pas à partir de Xcode 6.3 (Version 6.3.1 (6D1002)). Aucun plugin ne fonctionne.
Abhishek Bedi
@AbhishekBedi Voir stackoverflow.com/questions/30361228/… pour le dépannage général des plugins pour les nouvelles versions de Xcode.
fzwo
12

MISE À JOUR: Xcode 8 Update

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 des commentaires à n'importe quel éditeur de mac OS X

  1. Ouvrez Automator
  2. Choisissez les services
  3. Recherchez Run Shell Script et double-cliquez dessus

Ajoutez l'applescript ci-dessous dans textarea

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

script Apple pour le commentaire de bloc

  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 +et à droite du même nom, c'est- Block Commentà- dire que vous avez donné à applescript à la 4ème étape. Ajoutez votre raccourci clavier et cliquez sur le bouton Ajouter .

Nouveau raccourci clavier

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 le commentaire sur n'importe quelle ligne de code ou faire un clic droit, le menu contextuel et le nom que vous avez donné à ce script devraient apparaître à côté le fond.

Baig
la source
@Baig La chose étrange est que lorsque je le teste dans la fenêtre de sortie d'Automator 'Run Shell Script', cela fonctionne bien. Peut-être que ma combinaison de touches de raccourci est déjà utilisée et que cela pourrait la bloquer? Mais, la fonctionnalité du menu contextuel ne fonctionne pas non plus? Cela me dérange ...
Charles Robertson
7

J'ai modifié un peu le code de Nikola Milicevic pour qu'il supprime é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.entrez la description de l'image ici

A. Buksha
la source
7

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

entrez la description de l'image ici

Paras gupta
la source
6

Vous pouvez l'attribuer 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 qu'il s'agit d'une zone vide.

/*
*/

2.) Mettez en surbrillance ces deux lignes de code, puis faites glisser et déposez sur la zone «panneau de bibliothèque d'extraits de code» (c'est dans la partie inférieure du panneau Utilitaires). Un signe plus bleu clair apparaîtra si vous le faites correctement.

entrez la description de l'image ici

3.) Après avoir relâché le bouton de votre souris, une nouvelle fenêtre apparaîtra 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 vais taper //. J'espère que cela t'aides

entrez la description de l'image ici

Oh mon
la source
1

J'ai réussi à bien faire fonctionner cela via une tâche automatisée 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 surbrillance le code que je veux bloquer dans xcode et d'appuyer sur les touches ci-dessus et le texte sélectionné est bloqué en commentaire en utilisant / * ... * /.

J'utilise un peu de pliage de code, donc la raison pour laquelle je voulais cette fonctionnalité était que je puisse facilement replier 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 session vidéo 402 de la WWDC 2012 - Travailler efficacement avec Xcode (à partir d'environ 6 minutes), il y a une description de la façon d'utiliser l'Automator Mac OSX pour ajouter un service pour manipuler le texte sélectionné. L'exemple montré dans la vidéo consiste à supprimer les doublons dans une sélection de texte à l'aide des commandes shell sort 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 est censé y avoir 2 astérisques dans la ligne précédente qui, pour une raison quelconque, ne s'affichent pas ... ils apparaissent dans la capture d'écran ci-dessous, alors copiez-le comme la bonne commande à entrer)

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

capture d'écran

cela mettra, pour tout texte sélectionné, les délimiteurs de commentaire avant et après.

lorsque vous l'enregistrez, vous devriez obtenir des options pour le nommer (je l'ai appelé blockcomment) et également pour attribuer un raccourci clavier

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

cliquez simplement sur le nom et le script s'exécutera et bloquera le commentaire du code sélectionné ou utilisez le raccourci clavier que vous avez attribué.

J'espère que cela t'aides

lozflan
la source
0

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

Fati
la source
0

@Nikola Milicevic

Voici la capture d'écran du problème d'indentation. C'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 la configuration de mon Automator ...

Merci

entrez la description de l'image ici

entrez la description de l'image ici

Mettre à jour:

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

entrez la description de l'image ici

Et puis sélectionnez des lignes complètes dans XCode, j'obtiens le résultat souhaité:

entrez la description de l'image ici

entrez la description de l'image ici

Charles Robertson
la source
0

Si vous cherchez un moyen de convertir un commentaire généré automatiquement à partir d'une Add Documentationaction (disponible sous cmd- shift- /), vous pouvez également 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;
}

Reposez-vous comme dans @Charles Robertson réponse:

Automator

Prestations de service

Daniel Bauke
la source
0

Dans xcode 11.1 swift 5.0

sélectionnez le code que vous souhaitez ajouter au commentaire de bloc puis appuyez sur + +/

entrez la description de l'image ici

Ashim Dahal
la source
-1

Cmd+ Shift+ 7commentera les lignes sélectionnées.

Julio
la source
Ça voulait probablement dire Cmd+ /. Il semble qu'au moins la disposition du clavier allemand a le /sur la 7touche, mais sur la disposition américaine /est sur sa propre touche sans décalage.
Jake Cobb
J'ai aussi /sur la 7touche sur la disposition du clavier norvégien, mais cela ne fonctionne toujours pas .. ce raccourci ouvre simplement le menu Aide
Sti
-1

dans les Macbooks, vous pouvez utiliser shift + cmd+ 7pour commenter un bloc précédemment mis en évidence

Arthur C. Clarke
la source
-11

Il semble que beaucoup de gens répondent déjà à cette question.

dans Swift 3.0, le commentaire sur une seule ligne consiste à mettre des barres obliques doubles à l'avant: "//"; multiligne est mis "/ * .... * /".

J'espère que cela t'aides.

Dil Azat
la source