Di VS Code, nonaktifkan kesalahan "Komentar tidak diizinkan di JSON"

128

Saya terkadang menggunakan Visual Studio Code untuk mengedit file JSON yang menyertakan komentar. VS Code menampilkan kesalahan yang mengatakan, "Komentar tidak diizinkan di JSON." Alangkah baiknya untuk menonaktifkan pesan kesalahan itu (tanpa harus menghapus komentar.)

masukkan deskripsi gambar di sini

Wallace Kelly
sumber

Jawaban:

237

Ikuti langkah ini:

  1. Klik pada huruf JSON di pojok kanan bawah. (Sebuah drop-down akan muncul untuk "Pilih Mode Bahasa.")
  2. Pilih "Configure File Association untuk '.json' ..."

masukkan deskripsi gambar di sini

  1. Ketik jsoncdan tekan Enter.

masukkan deskripsi gambar di sini

Jika Anda hanya ingin menonaktifkan pesan kesalahan untuk satu file, lewati langkah # 2.

Wallace Kelly
sumber
3
Jika Anda ingin menggunakan Command Palette atau menetapkan pintasan keyboard, ini disebut "Ubah Mode Bahasa"
Michael Liquori
apakah mungkin untuk mengkonfigurasi ini melalui komentar di awal file? seperti kontrol komentar jslint.
Wayou
@Wayou Tidak, Anda tidak dapat mengkonfigurasinya dengan komentar. Setidaknya, yang saya tidak tahu di VSCode.
Pangeran Odame
Di Pengaturan Pengguna, Anda dapat membuat default semua file .json ke JSON dengan Komentar: stackoverflow.com/a/48773989/4642023
Joe Maffei
69

Tambahkan ini ke Pengaturan Pengguna Anda:

"files.associations": {
    "*.json": "jsonc"
},

Jika Anda belum memiliki file pengaturan pengguna, Anda dapat membuatnya. Tekan Ctrl+, atau +, (itu koma) untuk membuka pengaturan Anda, lalu tekan tombol Buka Pengaturan (JSON) di kanan atas. Ini terlihat seperti ini:ikon tombol;  halaman dengan panah melengkung kecil di atasnya

Joe Maffei
sumber
12

Ubah saja nama file menjadi test.jsonc

Alasan menggunakan JSONCdan tidak mengizinkan komentar di JSONfile biasa adalah:

  1. Ini akan memisahkan file Anda dari file JSON asli
  2. Itu tidak akan menggigit Anda di belakang ketika Anda menambahkan komentar ke file di mana validasi harus diterapkan tetapi Anda lupa untuk menghapusnya karena tidak ada pesan kesalahan.
v-andrew
sumber