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?


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


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


"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.


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


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



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
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.