Apakah ada jalan pintas untuk membuat blokir komentar dalam Xcode?


153

Saya sedang menulis kode C yang kompatibel dengan ANSI, dan karenanya saya tidak dapat menggunakan //komentar baris ( ). Saya menggunakan Xcode. Dalam Sublime Text and Eclipse, dan saya pikir sebagian besar IDE lainnya, ada pintasan keyboard terpisah untuk komentar garis dan memblokir komentar ( /**/). Namun, saya tidak melihat itu di Xcode - pada kenyataannya, saya bahkan tidak melihat opsi menu untuk menambahkan komentar blokir. Apakah itu tidak didukung di Xcode? Tentunya itu akan menjadi keputusan yang lemah jika demikian.

Jawaban:


232

Coba command+ /. Ini bekerja untuk saya.

Jadi, Anda tinggal menyorot blok kode yang ingin Anda komentari dan tekan dua tombol itu.


13
@Nizam Cukup tekan Command+ Shift+ 7, yaitu Command+ /, lagi.
muenchdo

41

MEMPERBARUI:

Karena saya malas, dan tidak sepenuhnya mengimplementasikan solusi saya, saya mencari-cari dan menemukan BlockComment untuk Xcode , sebuah plugin yang baru dirilis ( Juni 2017 ). Jangan repot-repot dengan solusi saya, plugin ini berfungsi dengan baik, dan saya sangat merekomendasikannya.

JAWABAN ASLI:

Tidak satu pun di atas bekerja untuk saya di Xcode 7 dan 8 , jadi saya:

  1. Layanan Automator dibuat menggunakan AppleScript
  2. Pastikan "Output menggantikan teks yang dipilih" dicentang
  3. Masukkan kode berikut:

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

masukkan deskripsi gambar di sini

Sekarang Anda dapat mengakses layanan itu melalui menu Xcode - Services, atau dengan mengklik kanan pada blok kode yang dipilih yang ingin Anda komentari, atau memberikan pintasan di bawah System Preferences.


36

Sekarang dengan xCode 8 yang dapat Anda lakukan:

+ +/

untuk menghasilkan komentar dokumen secara otomatis.

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


1
Ini tidak berfungsi untuk saya ketika melakukannya dengan Swift dan menekan, opsi, perintah, /. Apa kesalahan yang telah aku perbuat? Saya hanya mendapatkan \\\ Descriptiondan bukan blok doc dengan @ams dll
Jonnny

Itu karena fungsi Anda tidak memberikan parameter apa pun
Beninho85

23

Sekarang ada plugin Xcode yang memungkinkan ini: CComment .

Cara termudah untuk menginstal ini adalah dengan menggunakan manajer plugin Alcatraz yang luar biasa untuk Xcode .

EDIT Apple sedih (dan salah, IMHO) pensiun model plugin lama dengan Xcode 8. Sistem plugin baru cukup terbatas, tetapi harus memungkinkan pengembangan plugin seperti ini lagi. Bagi siapa pun yang tertarik melakukan ini, lihat sesi WWDC 2016 414 . Selain itu, harap ajukan radar untuk API untuk plugin yang ingin Anda tulis atau lihat.


2
Ini tidak berfungsi dari Xcode 6.3 (Versi 6.3.1 (6D1002)) dan seterusnya. Tidak ada plugin yang berfungsi.
Abhishek Bedi

@AbhishekBedi Lihat stackoverflow.com/questions/30361228/… untuk pemecahan masalah plugin umum untuk versi Xcode baru.
fzwo

12

PEMBARUAN: Pembaruan Xcode 8

Sekarang dengan xcode 8 yang dapat Anda lakukan:

+ +/

Catatan: Metode di bawah ini tidak akan berfungsi dalam xcode version => 8

Langkah-langkah yang sangat sederhana untuk menambahkan fungsionalitas Block Comment ke editor mac OS X

  1. Buka Automator
  2. Pilih Layanan
  3. Cari Jalankan Script Shell dan klik dua kali

Tambahkan applescript di bawah ini dalam textarea

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

skrip apel untuk blok komentar

  1. Simpan skrip sebagai Block Comment

Tambahkan pintasan keyboard

Buka System Preference> Keyboard> Shortcuts , tambahkan pintasan baru dengan mengklik +dan kanan nama yang sama yaitu Block Commentseperti yang Anda berikan ke applescript pada langkah ke-4. Tambahkan Pintasan Keyboard Anda dan klik tombol Tambah .

Pintasan keyboard baru

Sekarang Anda harus dapat menggunakan blokir komentar dalam Xcode atau editor lainnya, pilih beberapa teks, gunakan tombol pintas Anda untuk memblokir komentar setiap baris kode atau klik kanan, menu konteks, dan nama yang Anda berikan pada skrip ini akan ditampilkan di dekat bagian bawah.


@ Baig Yang aneh adalah bahwa ketika saya mengujinya di jendela output Automator 'Run Shell Script', itu berfungsi dengan baik. Mungkin, kombo tombol pintas saya sudah digunakan, dan ini mungkin memblokirnya? Tapi, fungsi menu konteks juga tidak berfungsi? Ini menggangguku ...
Charles Robertson

7

Saya memodifikasi kode Nikola Milicevic sedikit sehingga juga menghapus blok komentar jika kode sudah dikomentari:

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

Semoga ini bisa membantu seseorang.masukkan deskripsi gambar di sini


7

Di XCode 10, Anda dapat menggunakan opsi + command + backslash untuk menulis komentar yang bagus untuk fungsi atau kelas Anda seperti di bawah ini:

masukkan deskripsi gambar di sini


6

Anda dapat menetapkan ini sendiri dengan sangat mudah, inilah penjelasan langkah demi langkah.

1.) Pada Anda xCode .m ketik jenis berikut ini, tidak masalah di mana Anda mengetik selama itu adalah area kosong.

/*
*/

2.) Sorot dua baris kode lalu seret dan letakkan di area 'code snippet library panel' (ada di bagian bawah panel Utilities). Tanda tambah biru muda akan muncul jika Anda melakukannya dengan benar.

masukkan deskripsi gambar di sini

3.) Setelah Anda melepaskan tombol mouse Anda, jendela baru akan muncul dan akan meminta Anda untuk menambahkan nama, jalan pintas dll; seperti yang ditunjukkan. Seperti yang Anda lihat, saya menambahkan pintasan saya ke //. Jadi setiap kali saya ingin komentar blok, saya akan mengetikkan //. Semoga ini membantu

masukkan deskripsi gambar di sini


1

saya berhasil mendapatkan ini berfungsi dengan baik melalui tugas automator dan telah menggunakan jalan pintas untuk mengikatnya ke kombinasi tombol ctrl + option + command + b. yang harus saya lakukan adalah menyorot kode yang saya ingin blok komentari dalam xcode dan tekan tombol di atas dan teks yang dipilih adalah blok komentar menggunakan / * ... * /.

saya menggunakan kode melipat sedikit jadi alasan saya ingin fungsi ini adalah agar saya dapat dengan mudah melipat blok kode yang dikomentari ... kode berkomentar seperti biasa menggunakan // wont fold.

Saya tidak terbiasa menggunakan mac automator tetapi saya hanya mengikuti instrux di video wwdc berikut

dalam video WWDC 2012 Sesi 402 - Bekerja Efisien dengan Xcode (mulai sekitar 6 menit) ada deskripsi tentang cara menggunakan Mac OSX Automator untuk menambahkan layanan untuk memanipulasi teks yang dipilih. Contoh yang ditunjukkan dalam video adalah untuk menghapus duplikat dalam pilihan teks menggunakan perintah shell sort dan uniq. Dengan menggunakan pendekatan ini Anda melakukan hal yang sama tetapi Anda memasukkan perintah berikut alih-alih apa yang dia lakukan dalam video

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

(perhatikan bahwa ada 2 tanda bintang di baris sebelumnya yang karena beberapa alasan tidak muncul .... mereka muncul di tangkapan layar di bawah ini, jadi salin sebagai perintah yang benar untuk masuk)

Anda seharusnya menjalankan skrip shell seperti ini

tangkapan layar

ini akan, untuk teks tertentu yang dipilih, menempatkan pembatas komentar sebelum dan sesudah.

ketika Anda menyimpannya, Anda harus mendapatkan opsi untuk menamainya (saya menyebutnya blockcomment) dan juga untuk menetapkan pintasan keyboard

maka Anda harus dapat membuka xcode, pilih beberapa teks, klik kanan, menu konteks, dan nama yang Anda berikan ke skrip ini akan ditampilkan di dekat bagian bawah

cukup klik nama dan skrip akan menjalankan dan memblokir komentar kode yang dipilih atau menggunakan pintasan keyboard yang Anda tetapkan.

semoga ini membantu


0

Ada simbol sebelum menu bantuan pada xcode yang memiliki Edit skrip pengguna. Pada Un / Seleksi Komentar di bawah bagian komentar ubah $ cCmt = "//"; to $ cCmt = "#"; atau apa pun IDE Anda bekerja. Kemudian dengan memilih baris dan perintah + / (Ini adalah kode bawaan saya), Anda dapat berkomentar dan menghapus komentar pada baris yang dipilih.


0

@Nikola Milicevic

Ini adalah screenshot dari masalah indentasi. Ini sangat kecil, tetapi aneh bahwa tampaknya berfungsi dengan baik, dalam contoh visual Anda.

Saya juga menambahkan tangkapan layar pengaturan Automator saya ...

Terima kasih

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Memperbarui:

Jika saya mengubah sedikit skrip ke:

masukkan deskripsi gambar di sini

Dan kemudian pilih baris penuh dalam XCode, saya mendapatkan hasil yang diinginkan:

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini


0

Jika Anda mencari cara untuk mengonversi komentar yang dibuat secara otomatis dari Add Documentationtindakan (tersedia di bawah cmd- shift- /) Anda mungkin merasa berguna juga:

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

Beristirahat sama seperti di @Charles Robertson jawab:

Pengotomasi

Jasa


0

Dalam xcode 11.1 swift 5.0

pilih kode yang ingin Anda tambahkan blokir komentar kemudian tekan + +/

masukkan deskripsi gambar di sini


-1

Cmd+ Shift+ 7akan mengomentari baris yang dipilih.


Mungkin berarti Cmd+ /. Tampaknya bahwa setidaknya layout keyboard Jerman memiliki /pada 7kunci, tetapi pada tata letak AS /adalah pada kunci sendiri tanpa pergeseran.
Jake Cobb

Saya memiliki /lebih dari 7tombol pada tata letak keyboard Norwegia juga, tetapi masih tidak berfungsi .. cara pintas ini hanya membuka menu Bantuan
IMS

-1

di Macbooks, Anda dapat menggunakan shift+ cmd+ 7untuk mengomentari blok yang sebelumnya disorot


-11

Sepertinya sudah banyak orang menjawab pertanyaan ini.

di Swift 3.0, komentar satu baris adalah menempatkan garis miring ganda di muka: "//"; multiline diletakkan "/ * .... * /".

Semoga ini membantu.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.