Esiste una scorciatoia per commentare un blocco in Xcode?


154

Sto scrivendo un codice C compatibile ANSI, e quindi non posso usare il //commento line ( ). Sto usando Xcode. In Sublime Text ed Eclipse, e penso che la maggior parte degli altri IDE, ci sono scorciatoie da tastiera separate per commenti di riga e commenti di blocco ( /**/). Tuttavia, non lo vedo in Xcode - in effetti, non vedo nemmeno un'opzione di menu per aggiungere un commento di blocco. Semplicemente non è supportato in Xcode? Sembrerebbe certamente una decisione sbagliata, in tal caso.

Risposte:


233

Prova command+ /. Per me funziona.

Quindi, basta evidenziare il blocco di codice che si desidera commentare e premere quei due tasti.


13
@Nizam Basta premere Command+ Shift+ 7, ovvero Command+ /, di nuovo.
muenchdo,

41

AGGIORNARE:

Dato che ero pigro e non avevo implementato completamente la mia soluzione, ho cercato e trovato BlockComment per Xcode , un plugin rilasciato di recente ( giugno 2017 ). Non preoccuparti della mia soluzione, questo plugin funziona magnificamente e lo consiglio vivamente.

RISPOSTA ORIGINALE:

Nessuna delle precedenti ha funzionato per me su Xcode 7 e 8 , quindi io:

  1. Servizio Automator creato con AppleScript
  2. Assicurati che "L'output sostituisca il testo selezionato" sia selezionato
  3. Inserisci il seguente codice:

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

inserisci qui la descrizione dell'immagine

Ora puoi accedere a quel servizio tramite il menu Xcode - Servizi, oppure facendo clic con il tasto destro del mouse sul blocco di codice selezionato che desideri commentare o assegnandogli un collegamento in Preferenze di Sistema.



23

Ora esiste un plug-in Xcode che consente questo: CComment .

Il modo più semplice per installarlo è usare l'incredibile gestore di plugin Alcatraz per Xcode .

EDIT Apple ha purtroppo (e erroneamente IMHO) ritirato il vecchio modello di plug-in con Xcode 8. Il nuovo sistema di plug-in è piuttosto limitato, ma dovrebbe consentire di nuovo lo sviluppo di un plug-in come questo. Per chiunque sia interessato a farlo, guarda la sessione 414 del WWDC 2016 . Inoltre, si prega di file radar per API per plugin che si desidera scrivere o vedere.


2
Questo non funziona da Xcode 6.3 (Versione 6.3.1 (6D1002)) in poi. Nessun plugin funziona.
Abhishek Bedi,

@AbhishekBedi Vedere stackoverflow.com/questions/30361228/... per la risoluzione dei problemi generali plug-in per le nuove versioni di Xcode.
fzwo

12

AGGIORNAMENTO: Aggiornamento Xcode 8

Ora con xcode 8 puoi fare:

+ +/

Nota: il metodo seguente non funziona in xcode version => 8

Semplici passi per aggiungere la funzionalità Block Comment a qualsiasi editor di mac OS X.

  1. Apri Automator
  2. Scegli i servizi
  3. Cerca Esegui script shell e fai doppio clic su di esso

Aggiungi lo script di mele qui sotto in textarea

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

script apple per commenti blocco

  1. Salva script come Block Comment

Aggiungi una scorciatoia da tastiera

Apri Preferenze di Sistema> Tastiera> Scorciatoie , aggiungi una nuova scorciatoia facendo clic con il tasto +destro e lo stesso nome, ad esempio Block Commentcome hai assegnato a applecript nel 4 ° passaggio. Aggiungi la scorciatoia da tastiera e fai clic sul pulsante Aggiungi .

Nuova scorciatoia da tastiera

Ora dovresti essere in grado di utilizzare il commento di blocco in Xcode o qualsiasi altro editor, selezionare del testo, utilizzare il tasto di scelta rapida per bloccare il commento di qualsiasi riga di codice o clic con il tasto destro, il menu di scelta rapida e il nome che hai dato a questo script dovrebbero apparire vicino il fondo.


@Baig La cosa strana è che quando lo collaudo nella finestra di output di 'Run Shell Script' di Automator, funziona benissimo. Forse, la mia combinazione di tasti di scelta rapida è già in uso e questo potrebbe bloccarlo? Ma neanche la funzionalità del menu contestuale funziona? Questo mi sta infastidendo ...
Charles Robertson il

7

Ho modificato un po ' il codice di Nikola Milicevic in modo da rimuovere anche il blocco dei commenti se il codice è già commentato:

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

Spero che questo possa aiutare qualcuno.inserisci qui la descrizione dell'immagine


7

In XCode 10, puoi usare l'opzione + comando + barra rovesciata per scrivere un bellissimo commento per la tua funzione o classe come di seguito:

inserisci qui la descrizione dell'immagine


6

Puoi assegnarlo tu stesso molto facilmente, ecco una spiegazione dettagliata.

1.) Nel tuo file xmode .m digita quanto segue, non importa dove digiti purché sia ​​un'area vuota.

/*
*/

2.) Evidenzia che due righe di codice trascinano e rilasciano nell'area 'pannello libreria frammento di codice' (si trova nella parte inferiore del pannello Utilità). Un segno più azzurro comparirà se lo fai nel modo giusto.

inserisci qui la descrizione dell'immagine

3.) Dopo aver lasciato andare il pulsante del mouse, si aprirà una nuova finestra che ti chiederà di aggiungere nome, scorciatoia ecc; come mostrato. Come puoi vedere ho aggiunto il mio collegamento a //. Quindi ogni volta che voglio un commento a blocchi scrivo //. Spero che questo ti aiuti

inserisci qui la descrizione dell'immagine


1

sono riuscito a farlo funzionare bene tramite un'attività di automazione e ho usato il collegamento per associarlo alla combinazione di tasti ctrl + opzione + comando + b. tutto quello che devo fare è evidenziare il codice che desidero bloccare commentato in xcode e premere i tasti sopra e il testo selezionato viene commentato a blocchi usando / * ... * /.

uso un po 'di piegatura del codice, quindi il motivo per cui volevo questa funzionalità era che potessi facilmente ripiegare un blocco di codice commentato ...

non ho familiarità con l'utilizzo di Mac automator ma ho semplicemente seguito gli strumenti nel seguente video di wwdc

nel video Sessione 402 del WWDC 2012 - Lavorare in modo efficiente con Xcode (da circa 6 minuti in poi) c'è una descrizione di come utilizzare Automator di Mac OSX per aggiungere un servizio per manipolare il testo selezionato. L'esempio mostrato nel video è rimuovere i duplicati in una selezione di testo usando i comandi shell sort e uniq. Usando questo approccio fai lo stesso ma inserisci il seguente comando invece di quello che fa nel video

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

(nota che nella riga precedente sono previsti 2 asterischi che per qualche motivo non vengono visualizzati .... vengono visualizzati nello screenshot qui sotto, quindi copialo come comando corretto per entrare)

dovresti finire per eseguire uno script di shell come questo

immagine dello schermo

questo, per ogni dato testo selezionato, inserirà i delimitatori di commento prima e dopo.

quando lo salvi dovresti ottenere le opzioni per nominarlo (l'ho chiamato blockcomment) e anche per assegnare una scorciatoia da tastiera

quindi dovresti essere in grado di aprire xcode, selezionare del testo, fare clic con il tasto destro, il menu di scelta rapida e il nome che hai dato a questo script dovrebbe apparire nella parte inferiore

è sufficiente fare clic sul nome e lo script verrà eseguito e bloccare il commento sul codice selezionato o utilizzare la scorciatoia da tastiera assegnata.

spero che questo ti aiuti


0

C'è un simbolo prima del menu di aiuto su xcode che ha lo script Modifica utente. Nella selezione Un / Comment nella sezione commenti cambia my $ cCmt = "//"; al mio $ cCmt = "#"; o qualunque sia il tuo IDE con cui lavori. Quindi selezionando le righe e il comando + / (È il mio xcode predefinito) è possibile commentare e rimuovere il commento dalle righe selezionate.


0

@Nikola Milicevic

Ecco lo screenshot del problema di rientro. Questo è molto minore, ma è strano che sembra funzionare così bene, nel tuo esempio visivo.

Sto anche aggiungendo uno screenshot del mio setup di Automator ...

Grazie

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Aggiornare:

Se cambio leggermente lo script in:

inserisci qui la descrizione dell'immagine

E quindi selezionare le righe complete in XCode, ottengo il risultato desiderato:

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


0

Se stai cercando un modo per convertire i commenti generati automaticamente Add Documentationdall'azione (disponibile in cmd- shift- /) potresti trovarlo utile anche:

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

Riposa come nella risposta di @Charles Robertson:

Automator

Servizi


0

In xcode 11.1 swift 5.0

seleziona il codice a cui desideri aggiungere il commento di blocco, quindi premi + +/

inserisci qui la descrizione dell'immagine


-1

Cmd+ Shift+ 7commenterà le righe selezionate.


Probabilmente significava Cmd+ /. Sembra che almeno la tastiera tedesca ha /sulla 7chiave, ma la disposizione degli Stati Uniti /è da sola chiave senza spostamento.
Jake Cobb,

Ho anche /il 7tasto sul layout di tastiera norvegese, ma non funziona ancora .. questa scorciatoia apre semplicemente il menu di aiuto
Sti

-1

nei Macbook, puoi usare shift+ cmd+ 7per commentare un blocco precedentemente evidenziato


-11

Sembra che già molte persone rispondano a questa domanda.

in Swift 3.0, il commento a riga singola è quello di mettere in primo piano le doppie barre: "//"; multiline è messo "/ * .... * /".

Spero che questo ti aiuti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.