Cara mengganti kasus teks dalam kode studio visual

161

Bagaimana cara mengganti kasus teks yang disorot dalam Visual Studio Code? VS memungkinkan ini melalui CTRL + SHIFT + U dan CTRL + U.

Apakah ada pengikatan perintah yang dapat saya siapkan untuk melakukan ini, atau apakah secara default kombinasi tombol lain?

John
sumber
Saya tidak dapat menemukan pintasan yang relevan dalam pengikatan tombol. Mungkin fungsi ini tidak didukung pada versi saat ini.
yushulx
3
Pembaruan: sekarang didukung. Buka File> Preferensi> Pintasan Keyboard dan cari "Transformasi".
Dinei

Jawaban:

218

Menggema justanotherdev komentar :

Memukau dan berguna:

  1. Palet Perintah: Ctrl+ ( shift) +p
  2. ketik >transformpilih huruf besar / kecil dan tekan enter

masukkan deskripsi gambar di sini

SimplyInk
sumber
18
Anda dapat mengonfigurasi keybindings untuk perintah ini di File> Preferensi> Pintasan Keyboard
Dinei
2
pycharm menggunakan perintah yang sama CTRL + SHIFT + "u" untuk beralih. Mengapa membuat 2 pintasan jika salah satunya dapat digunakan? Saya menyadari ini bukanlah jawaban, hanya komentar.
davidj411
1
terkadang Anda memiliki "Teks Kapitalisasi Campuran" yang ingin Anda alihkan langsung ke "SEMUA UPPERCASE" atau "semua huruf kecil", jadi mengubahnya menjadi huruf besar dan mengubahnya menjadi huruf kecil secara terpisah lebih masuk akal.
drigoangelo
57

Saya telah menulis ekstensi Visual Studio Code untuk mengubah huruf besar (tidak hanya huruf besar, banyak pilihan lainnya): https://github.com/wmaurer/vscode-change-case

Untuk memetakan perintah huruf besar ke keybinding (mis. Ctrl+ T U), Klik File -> Preferences -> Keyboard shortcuts , dan masukkan berikut ini ke dalam konfigurasi json:

{
  "key": "ctrl+t u",
  "command": "extension.changeCase.upper",
  "when": "editorTextFocus"
}




EDIT:

Dengan pembaruan VSCode November 2016 (catatan rilis) , ada dukungan bawaan untuk mengonversi ke huruf besar dan kecil melalui perintah editor.action.transformToUppercasedan editor.action.transformToLowercase. Ini tidak memiliki keybindings default.

The perubahan-kasus ekstensi masih berguna untuk transformasi teks lain, misalnya CamelCase, PascalCase, ular-kasus, dll

Wayne Maurer
sumber
"ctrl + t u" tidak berfungsi untuk saya di versi mac. Saya menggunakan "ctrl + u" sebagai gantinya karena tidak dipetakan secara default ke tindakan apa pun.
Shahar
10
Untuk orang malas: pilih teks, ctrl + p, ketik >transformpilih huruf kecil atau besar lalu tekan enter
justanotherdev
Tambahan komentar @ justanotherdev: dimungkinkan untuk mengkonfigurasi keybindings untuk perintah ini di File> Preferensi> Pintasan Keyboard
Dinei
Apakah tidak ada cara agar opsi ini muncul di menu klik kanan (seperti yang dilakukan Nptepad ++)?
smooth_smoothie
@justanotherdev sejujurnya, itu proses yang lebih cepat bagi saya, ditambah lagi itu sudah matang dan tidak perlu 'Yet Another Extension'
KhoPhi
38

Dikutip dari postingan ini :

Pertanyaannya adalah tentang bagaimana membuat CTRL + SHIFT + U bekerja dalam kode Visual Studio. Berikut cara melakukannya. (Versi 1.8.1 atau lebih tinggi). Anda juga dapat memilih kombinasi tombol yang berbeda.

File-> Preferensi -> Pintasan Keyboard.

Editor akan muncul dengan keybindings.jsonfile. Tempatkan JSON berikut di sana dan simpan.

[
 {
    "key": "ctrl+shift+u",
    "command": "editor.action.transformToUppercase",
    "when": "editorTextFocus"
 },
 {
    "key": "ctrl+shift+l",
    "command": "editor.action.transformToLowercase",
    "when": "editorTextFocus"
 }
]

Sekarang CTRL + SHIFT + U akan mengkapitalisasi teks yang dipilih, meskipun multi baris. Dengan cara yang sama, CTRL + SHIFT + L akan membuat teks yang dipilih menjadi huruf kecil.

Perintah-perintah ini dibangun ke dalam VS Code, dan tidak ada ekstensi yang diperlukan untuk membuatnya berfungsi.

Marianna S.
sumber
Keren! Ini adalah jawaban yang ditanyakan oleh pertanyaan itu!
Nowdeen
Saya pergi untuk cmd+shift+udan cmd+shift+ldi macOS. Terasa pas.
teori
Untuk Linux ctrl + shift + u tidak berfungsi, jadi gunakan tombol ctrl + u untuk huruf besar & ctrl + l untuk huruf kecil
Jitendra Pawar
11

Untuk memiliki dalam Visual Studio Code apa yang dapat Anda lakukan di Sublime Text ( CTRL+K CTRL+Udan CTRL+K CTRL+L) Anda dapat melakukan ini:

  • Buka " Pintasan Keyboard " dengan klik " File -> Preferensi -> Pintasan Keyboard "
  • Klik pada link " keybindings.json " yang muncul di bawah kolom " Search keybindings "
  • Di antara []tanda kurung tambahkan:

    {
        "key": "ctrl+k ctrl+u",
        "command": "editor.action.transformToUppercase",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+k ctrl+l",
        "command": "editor.action.transformToLowercase",
        "when": "editorTextFocus"
    }
    
  • Simpan dan tutup " keybindings.json "


Cara lain:
Microsoft merilis "Sublime Text Keymap and Settings Importer" , sebuah ekstensi yang mengimpor keybindings dan pengaturan dari Sublime Text ke VS Code. - https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings

Alex Baban
sumber
1
Saya tidak tahu apakah ini baru, tetapi ketika saya melakukan ini, yang harus saya lakukan hanyalah meletakkan "huruf besar" di kotak pencarian yang muncul, lalu klik '+' untuk menambahkan pemetaan baru. Ulangi dengan "huruf kecil" untuk menutupi arah lain dan saya sudah siap.
torpy
3

Bagi mereka yang takut mengacaukan pengaturan vscode json Anda, ini cukup mudah diikuti.

  1. Buka "File -> Preferences -> Keyboard Shortcuts" atau "Code -> Preferences -> Keyboard Shortcuts"untuk Pengguna Mac

  2. Di tipe bilah pencarian transform.

  3. Secara default, Anda tidak akan memiliki apa pun di bawah Keybinding. Sekarang klik dua kali Transform to Lowercaseatau Transform to Uppercase.

  4. Tekan kombinasi tombol yang Anda inginkan untuk mengatur penjilidan tombol Anda. Dalam hal ini jika menyalin dari Sublime saya akan menekan ctrl+shift+uuntuk huruf besar atau ctrl+shift+lhuruf kecil.

  5. Tekan Enterpada keyboard Anda untuk menyimpan dan keluar. Lakukan yang sama untuk opsi lainnya.

  6. Nikmati KEYBINDING

GM456742
sumber
1

Saya rasa ini adalah fitur yang saat ini hilang.

Saya perhatikan ketika saya membuat panduan untuk perbedaan pintasan keyboard antara itu dan Sublime.

Ini adalah editor baru, saya tidak akan terkejut jika mereka menambahkannya kembali di versi baru.

Sumber: https://code.visualstudio.com/Docs/customization

Tobiah Zarlez
sumber
1

Sekarang sakelar huruf besar dan kecil dapat dilakukan secara bersamaan dalam string yang dipilih melalui penggantian ekspresi reguler (regex, CtrlH+ AltR), menurut rilis v1.47.3 Juni 2020 :

Mengganti kasus teks yang berbeda dalam satu pilihan

Ini dilakukan melalui 4 kelas karakter "Karakter tunggal" (dokumentasi Perl) , yaitu, untuk grup yang cocok yang mengikutinya :

  • \ l <=> [[:lower:]]: karakter pertama menjadi huruf kecil
  • \ u <=> [[:upper:]]: karakter pertama menjadi huruf besar
  • \ L <=> [^[:lower:]]: semua karakter menjadi huruf kecil
  • \ U <=> [^[:upper:]]: semua karakter menjadi huruf besar

$0cocok dengan semua grup yang dipilih, saat $1cocok dengan grup pertama, grup $2kedua, dll.

Tekan tombol Match Case di kiri bilah pencarian (atau AltC) dan, dengan meminjam beberapa contoh dari jawaban Sublime Text lama , ini mungkin:

  1. Memanfaatkan kata-kata
  • Temukan: (\s)([a-z])( \scocok dengan spasi dan baris baru, yaitu "venuS" => "VenuS")
  • Menggantikan: $1\u$2
  1. Kata-kata yang tidak menggunakan kapitalisasi
  • Temukan: (\s)([A-Z])
  • Menggantikan: $1\l$2
  1. Hapus satu kotak unta (misalnya cAmelCAse => camelcAse => camelcase)
  • Temukan: ([a-z])([A-Z])
  • Menggantikan: $1\l$2
  1. Huruf kecil semua dari huruf besar di dalam kata (misalnya, huruf kecil => huruf kecil)
  • Temukan: (\w)([A-Z]+)
  • Menggantikan: $1\L$2
  • Ganti Alternatif: \L$0
  1. Huruf besar semua dari huruf kecil di dalam kata (misalnya, upperCASe => uPPERCASE)
  • Temukan: (\w)([A-Z]+)
  • Menggantikan: $1\U$2
  1. Huruf besar sebelumnya (mis. UpperCase => UPPERCase)
  • Temukan: (\w+)([A-Z])
  • Menggantikan: \U$1$2
  1. Huruf kecil sebelumnya (misalnya LOWERCase => lowerCase)
  • Temukan: (\w+)([A-Z])
  • Menggantikan: \L$1$2
  1. Huruf besar sisanya (misalnya huruf besar => huruf besar)
  • Temukan: ([A-Z])(\w+)
  • Menggantikan: $1\U$2
  1. Huruf kecil sisanya (misalnya lOWERCASE => lOwercase)
  • Temukan: ([A-Z])(\w+)
  • Menggantikan: $1\L$2
  1. Shift-right-uppercase (misal Case => cAse => caSe => casE)
  • Temukan: ([a-z\s])([A-Z])(\w)
  • Menggantikan: $1\l$2\u$3
  1. Shift-left-uppercase (misalnya CasE => CaSe => CAse => Case)
  • Temukan: (\w)([A-Z])([a-z\s])
  • Menggantikan: \u$1\l$2$3
CPHPython
sumber