C’è una scorciatoia per fare un commento di blocco in Xcode?

Sto scrivendo codice C ANSI-compatibile, e quindi non posso usare il commento della linea ( // ). 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 – infatti, non vedo nemmeno un’opzione di menu per aggiungere un commento di blocco. Semplicemente non è supportato in Xcode? Sarebbe certamente una decisione zoppa, se così fosse.

Prova comando + / . Per me funziona.

Quindi, devi solo evidenziare il blocco di codice che vuoi commentare e premere quei due tasti.

AGGIORNARE:

Poiché ero pigro e non implementavo completamente la mia soluzione, ho cercato in giro e ho 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:

Nessuno dei precedenti ha funzionato per me su Xcode 7 e 8 , quindi ho:

  1. Servizio di Automator creato utilizzando AppleScript
  2. Assicurati che “Output sostituisce il testo selezionato” sia selezionato
  3. Inserisci il seguente codice:

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

inserisci la descrizione dell'immagine qui

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

Ora c’è un plugin Xcode che permette questo: CComment .

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

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

Ora con xCode 8 puoi fare:

+ + /

per generare automaticamente un commento del documento.

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

AGGIORNAMENTO: Aggiornamento Xcode 8

Ora con xcode 8 puoi fare:

+ + /

Nota: il metodo sottostante non funzionerà nella versione xcode => 8

Passaggi molto semplici per aggiungere funzionalità di Block Comment a qualsiasi editor di Mac OS X

  1. Apri Automator
  2. Scegli Servizi
  3. Cerca Esegui Shell Script e fai doppio clic su di esso

Aggiungi il seguente applescript in textarea

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

script Apple per commento blocco

  1. Salva script come Block Comment

Aggiungi una scorciatoia da tastiera

Apri Preferenze di sistema> Tastiera> Tasti di scelta rapida , aggiungi una nuova scorciatoia facendo clic su + e a destra lo stesso nome, ad esempio Block Comment come hai dato a applescript nel 4 ° passaggio. Aggiungi la scorciatoia da tastiera e fai clic sul pulsante Aggiungi .

Nuova scorciatoia da tastiera

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

Ho modificato leggermente il codice di Nikola Milicevic in modo da rimuovere anche il blocco dei commenti se il codice è già stato 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 aiuti qualcuno. inserisci la descrizione dell'immagine qui

Puoi assegnarlo molto facilmente, ecco una spiegazione passo dopo passo.

1.) Nel file xCode .m digita quanto segue, non importa dove scrivi finché si tratta di un’area vuota.

 /* */ 

2.) Evidenzia che due linee di codice trascinano e trascinano nell’area ‘pannello del frammento di codice snippet’ (è nella parte inferiore del pannello Utilità). Un segno più blu chiaro apparirà se lo fai bene.

inserisci la descrizione dell'immagine qui

3.) Dopo aver rilasciato il pulsante del mouse, verrà visualizzata 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 blocco, scriverò //. Spero che questo ti aiuti

inserisci la descrizione dell'immagine qui

Sono riuscito a farlo funzionare bene tramite un compito di automazione e ho usato la scorciatoia per associarlo alla combinazione di tasti ctrl + option + command + b. tutto quello che devo fare è evidenziare il codice che voglio bloccare commentato in xcode e premere i tasti sopra e il testo selezionato è un blocco commentato usando / * … * /.

Io uso il codice di piegare un bel po ‘quindi la ragione per cui volevo questa funzionalità era così ho potuto facilmente piegare verso il basso un blocco di codice commentato … codice commentato nel modo usuale usando // non foldare.

Non ho familiarità con l’uso di mac automator, ma ho semplicemente seguito l’instrux nel seguente video wwdc

nel video WWDC 2012 Sessione 402 – Lavorare in modo efficiente con Xcode (da circa 6 minuti in) c’è una descrizione di come utilizzare Mac OSX Automator per aggiungere un servizio per manipolare il testo selezionato. L’esempio mostrato nel video è quello di 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 ciò che fa nel video

awk ‘BEGIN {print “/ “} {print $ 0} END {print “ /”}’

(nota che ci sono 2 asterischi nella riga precedente che per qualche motivo non vengono mostrati …. si visualizzano 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 dei commenti prima e dopo.

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

allora dovresti essere in grado di aprire xcode, selezionare del testo, fare clic con il tasto destro del mouse, il menu di scelta rapida e il nome che hai dato a questo script dovrebbe mostrare vicino al fondo

fai semplicemente clic sul nome e lo script verrà eseguito e bloccherai il commento del codice selezionato o utilizzerai la scorciatoia da tastiera che hai assegnato.

spero che questo ti aiuti

C’è un simbolo prima del menu di aiuto su xcode che ha Modifica script utente. In Un / Comment Selezione sotto la sezione commenti cambia my $ cCmt = “//”; al mio $ cCmt = “#”; o qualunque sia il tuo IDE con cui lavoro. Quindi, selezionando le linee e il comando + / (è il mio predefinito xcode) puoi commentare e decommentare le linee selezionate.

nei MacBook, puoi usare shift + cmd + 7 per commentare un blocco evidenziato in precedenza

@Nikola Milicevic

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

Aggiungo anche uno screenshot del mio set di Automator …

Grazie

inserisci la descrizione dell'immagine qui

inserisci la descrizione dell'immagine qui

Aggiornare:

Se cambio leggermente lo script su:

inserisci la descrizione dell'immagine qui

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

inserisci la descrizione dell'immagine qui

inserisci la descrizione dell'immagine qui

Se stai cercando un modo per convertire i commenti generati automaticamente dall’azione Add Documentation (disponibile in cmdshift/ ) 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

Cmd + Maiusc + 7 commenterà le linee selezionate.

Sembra che molte persone rispondano a questa domanda.

in Swift 3.0, il commento a riga singola consiste nell’inserire le barre doppie in avanti: “//”; multiline è messo “/ * …. * /”.

Spero che questo ti aiuti.