Apakah .vscode
folder dimaksudkan untuk dikomit ke kontrol sumber?
Dalam proyek baru, folder kosong, kecuali settings.json
file. Hal-hal apa saja yang akan masuk ke folder ini? Apakah khusus mesin, khusus pengembang seperti .vs
folder dan karenanya tidak dikomit? Atau haruskah semua pengembang membagikan folder ini dan karenanya harus dilakukan?
Komentar di bagian atas file .vscode/settings.json
menyatakan:
// Place your settings in this file to overwrite default and user settings.
{
}
Ini tampaknya menyiratkan bahwa folder tersebut harus berisi pengaturan spesifik proyek dan dengan demikian dimasukkan dalam sumber. Juga, posting ini pada UserVoice tampaknya menyiratkan beberapa pengetikan akan masuk ke sana, juga menyarankan bahwa itu harus dilakukan.
visual-studio-code
Ronald Zarīts
sumber
sumber
.gitignore
yang dibuat Visual Studio memiliki.vscode
folder dikecualikan pada saat ini. Tetapi karena VS Code itu sendiri agak baru, mereka mungkin belum sempat melakukannya. Saya telah meninggalkan folder tidak terlacak untuk saat ini sementara saya mendapatkan lebih banyak info tentangnya.Jawaban:
Periksa di
.vscode
folder jika Anda ingin berbagi pengaturan, konfigurasi tugas, dan konfigurasi debug dengan tim. Saya pikir secara umum masuk akal untuk berbagi pengaturan (mis. Spasi vs tab) dengan tim jika Anda ingin menerapkan pengaturan dalam tim. Kami di tim VS Code berbagi pengaturan debug dan tugas khusus juga karena kami ingin tim kami memiliki serangkaian target debug dan target tugas yang sama untuk Kode VS.Tapi Anda tidak perlu memiliki
.vscode
folder di proyek Anda untuk pengaturan. Anda juga dapat mengonfigurasi pengaturan pada tingkat pengguna.sumber
symbols.json
: stackoverflow.com/questions/51876769/…Diantara komit / abaikan ada opsi pintar ketiga: komit dengan
.default
sufiks.Misalnya Anda dapat menambahkan
settings.json
untuk.gitignore
, dan berkomitmensettings.json.default
, seperti itu adalah praktek yang umum (di tim saya) dengan.env
file.Saya mengambil saran ini dari pengaturan editor Komit video ke kontrol versi? oleh Mattias Petter Johansson
sumber
settings.json.default
masuk akal tapi ini adalah asumsi seluruh tim Anda menggunakan vs kode dan basis kode Anda tidak sedang bersama untuk khalayak yang lebih luas. Saya menemukan bahwa proyek open source saya di GitHub, saya hanya memastikan saya menambahkannya ke gitignore default saya, karena saya tidak ingin memaksakan IDE tertentu pada pengguna potensial saya dari basis kode saya..vscode/settings.json
- dengan pengecualian anehsearch.exclude
. Jika Anda benar-benar perlu, berhati-hatilah untuk menempatkan hanya pengaturan tertentu dari proyek Anda yang ingin Anda terapkan kepada pengembang lain.package.json
,.eslint
,tsconfig.json
, dllApa yang tidak dapat Anda lakukan adalah menyalin & menempelkan seluruh file content settings.json ke
.vscode/settings.json
. Saya melihat beberapa orang melakukan ini dan melakukan file adalah kekejaman. Dalam hal ini Anda tidak hanya akan merusak ruang kerja orang lain tetapi yang terburuk, Anda akan menegakkan pengaturan kepada pengguna yang tidak Anda sukai estetika, UI, pengalaman. Anda mungkin akan merusak lingkungan mereka karena beberapa sangat tergantung pada sistem. Bayangkan saya memiliki masalah penglihatan sehinggaeditor.*
pengaturan pengguna saya dipersonalisasi dan ketika saya membuka proyek Anda perubahan visual. Bayangkan saya memiliki masalah penglihatan, saya perlu mempersonalisasi editor pengguna. * Pengaturan untuk dapat bekerja. Saya akan marah.Jika Anda serius jangan berkomitmen
.vscode/settings.json
. Secara umum, pengaturan yang dapat berguna untuk proyek tertentu seperti validasi, kompilasi, masuk akal tetapi secara umum Anda dapat menggunakan file konfigurasi alat tertentu seperti. Eslint, tsconfig.json, .gitignore, package.json. dll. Saya kira penulis vscode baru saja menambahkan file untuk menyederhanakan pengalaman pendatang baru tetapi jika Anda ingin serius jangan!Satu-satunya pengecualian, dan dalam beberapa kasus tertentu adalah search.exclude
sumber
.vscode/settings
terlalu ketat. Gunakan.eslint
atau.editorconfig
file jika Anda bisa, tetapi Anda masih harus check in.vscode/settings
jika Anda benar-benar ingin pengaturan untuk dibagikan di antara semua pengembang di tim / proyek.vscode/settings
masuk akal jika Anda bekerja di tim yang menggunakan vscode atau Anda sedang mengerjakan proyek di mana banyak pengembang menggunakan vscode. Tidak semua pengaturan ini memiliki setara lintas-editorRangkumlah jawaban lain
Rekomendasi adalah untuk secara umum mengecualikan
.vscode
folder, tetapi meninggalkan file JSON pilih yang memungkinkan pengembang lain untuk membuat kembali pengaturan bersama.Contoh pengaturan termasuk:
settings.json
)settings.json
)launch.json
)tasks.json
)Perhatikan bahwa beberapa pengaturan dapat disimpan dalam file ruang kerja, atau ditransfer ke sana dari folder .vscode. Lihat di bawah.
.gitignore
Kode sampel untuk digunakan (dan di mana mendapatkannya)Berikut adalah pengaturannya, seperti yang disarankan di https://gitignore.io . Anda dapat mencari "VisualStudioCode" di sana untuk mendapatkan
.gitignore
file yang direkomendasikan terbaru . Saya menggunakan situs web ini sebagai titik awal.gitignore
untuk sebagian besar repo baru saya:Dalam contoh di atas
.gitignore
file,.vscode/*
baris kata untuk mengecualikan segala sesuatu di.vscode
folder, tapi kemudian!.vscode/a_specific_file
garis tell git untuk "tidak" mengabaikan beberapa file tertentu dalam folder itu (settings.json
,launch.json
, dll). Hasil akhirnya adalah bahwa semuanya dikecualikan dalam.vscode
folder kecuali untuk file yang secara khusus disebutkan di salah satu baris lainnya.Faktor-Faktor Lain dan Cara Mencari Tahu untuk Diri Sendiri ...
Memasukkan
.vscode
folder dalam repo Anda tidak benar-benar melukai siapa pun yang menggunakan IDE berbeda (atau editor teks / kode).Namun, mungkin merugikan orang lain yang menggunakan Kode VS, jika file-file ini termasuk pengaturan generik yang memerlukan sesuatu yang spesifik untuk lingkungan Anda, yang berbeda di lingkungan mereka - seperti jalur absolut repo diinstal di (yang VS Kode Python ekstensi secara konsisten dimasukkan ke dalam yang
pythonpath
di.vscode/settings.json
). Kuncinya adalah untuk menghindari penyimpanan pengaturan yang khusus untuk lingkungan lokal Anda, hanya berbagi yang dapat digunakan oleh semua orang.Misalnya, jika file pengaturan IDE memiliki jalur absolut ke repo atau file / perpustakaan, dll., Maka itu buruk, jangan bagikan. Tetapi jika semua referensi relatif, maka mereka harus bekerja untuk siapa saja yang menggunakan repo (walaupun, hati-hati tentang perbedaan spesifikasi jalur antara Windows / Unix ..).
Tentang pengaturan Pengguna, Ruang Kerja, dan Folder
Catatan: file pengaturan dalam
.vscode
folder ini umumnya hanya diperbarui ketika Anda membuat perubahan pada versi folder dari pengaturan (tampaknya ada banyak pengecualian).*.code-workspace
folder yang sedang Anda gunakan (mereka masih sering masuk ke file pengaturan folder - tetapi Anda dapat memindahkannya secara manual!).Ini berarti Anda harus meletakkan pengaturan khusus untuk PC pribadi Anda ke dalam pengaturan pengguna , dan menempatkan yang umum untuk proyek / paket tertentu ke dalam yang lain, bila memungkinkan.
.vscode/settings.json
file (yang menyimpan pengaturan folder ) selalu menyimpan path absolut di bawahpythonpath
pengaturan, jadi saya telah menghapus pengecualiannya dari.gitignore
file saya dan tidak lagi menyimpannya ke repositori Python saya. Bahkan jika saya menyimpannya dengan jalur relatif, VS Code hanya menyetel ulang ke jalur absolut.myproject.code-workspace
file dengan File -> Simpan ruang kerja sebagai . Dengan begitu, Anda dapat mengontrol apa yang masuk ke file ruang kerja dan menyimpannya ke repo, sambil mengecualikan file pengaturan folder (.vscode/settings.json
). Anda dapat memindahkan hampir semua pengaturan antara ruang kerja dan file pengaturan folder untuk mengontrol apa yang disimpan dan apa yang tidak. Hanya perlu diingat bahwa file ruang kerja akan menimpa apa pun dalam file pengaturan folder.Panjang dan pendeknya adalah - Anda hanya dapat menggunakan file ruang kerja, dan menempatkan pengaturan paling umum di dalamnya, sambil meletakkan pengaturan lokal di file pengaturan folder, meskipun ini tampaknya tergantung pada ekstensi / bahasa yang Anda gunakan.
Tentu saja, Anda mungkin punya alasan lain untuk menyimpan
.vscode/settings.json
file, atau sebagian dari itu. Atau ini mungkin tidak menjadi masalah untuk pengaturan dalam bahasa Anda saat ini.Mileage Anda Mungkin Berbeda ...
sumber
Mengapa tidak hanya melihat latihan, selain argumen di sekitar sini?
Salah satu proyek terbesar yang terus
.vscode
saya temukan sejauh ini adalah Mozilla Firefox . Sepertinya tim Firefox berbagi tugas umum dan ekstensi yang disarankan.Jadi saya kira itu bukan ide yang buruk untuk disimpan
.vscode
, selama Anda tahu apa yang Anda lakukan.Saya akan memperbarui posting ini ketika saya melihat proyek-proyek besar lainnya yang dibagikan
.vscode
.sumber
Sama seperti jawaban lain: tidak.
Sebagai ilustrasi, pertimbangkan pendekatan yang dipilih oleh Git 2.19 (Q3 2018), yang menambahkan skrip (dalam
contrib/
) untuk membantu pengguna VSCode bekerja lebih baik dengan basis kode Git.Dengan kata lain, hasilkan
.vscode
konten (jika belum ada), jangan versi itu.Lihat komit 12861e2 , komit 2a2cdd0 , komit 5482f41 , komit f2a3b68 , komit 0f47f78 , komit b4d991d , komit 58930fd , komit dee3382 , komit dee3382 , komit 54c06c6 (30 Jul 2018) oleh Johannes Schindelin (
dscho
) .(Digabung oleh Junio C Hamano -
gitster
- dalam komit 30cf191 , 15 Agustus 2018)sumber
Jawabannya adalah "TIDAK", karena folder .vscode adalah untuk editor ini dan Anda tidak boleh mendorong pengaturan pribadi ini untuk repo jika membingungkan orang lain, sehingga Anda dapat menambahkannya ke file .gitignore proyek Anda untuk mengabaikan perubahan
sumber
.vscode/settings.json
file dalam ruang kerja): code.visualstudio.com/docs/getstarted/... Hanya hal-hal seperti konfigurasi alat yang masuk ke pengaturan ruang kerjalaunch.json
- luncurkan konfigurasi untuk debugging yang bisa non-sepele untuk diatur. (2)settings.json
pengaturan tingkat proyek, seperti compiler TypeScript untuk digunakan, aturan spasi, (3)tasks.json
- membangun perintah. Anda dapat memilih untuk tidak berbagi, tetapi kami merasa ini berguna.Cara sederhana untuk menjaga pengaturan Anda tanpa membuatnya di repositori proyek git Anda adalah membuat ruang kerja dan menambahkan folder ke dalamnya.
Saat Anda membuat ruang kerja, Anda harus menyimpan file
code-workspace
. File ini berisi pengaturan khusus, cukup simpan file ini dari repositori git dan akan bebas untuk ditambahkan.vscode
ke.gitignore
file.sumber