Vscode: Git: Gunakan Kode VS sebagai editor gabungan

Dibuat pada 25 Apr 2016  ·  96Komentar  ·  Sumber: microsoft/vscode

1.0.0 memperkenalkan kemampuan untuk menggunakan VS Code sebagai git difftool. Baris .gitconfig global yang relevan adalah sebagai berikut:

[diff]
    tool = default-difftool
[difftool "default-difftool"]
    cmd = code --wait --diff $LOCAL $REMOTE

Bagaimana saya bisa menggunakan Kode VS sebagai git mergetool ?

Argumen relevan yang perlu diterima, saya yakin, adalah $LOCAL , $REMOTE , $BASE , dan $MERGED .

feature-request git

Komentar yang paling membantu

Kami tidak akan melakukannya dengan cara lain. 😉.

Semua 96 komentar

Belum didukung.

Apakah fitur ini termasuk dalam iterasi berikutnya, kebetulan?

Mungkin tidak, ini adalah upaya besar, karena UI gabungan perlu diimplementasikan.

Apakah ada rencana untuk menggabungkan UI untuk mendukung penggabungan tiga arah? (misalnya ubah a, ubah b, nenek moyang yang sama)

Kami tidak akan melakukannya dengan cara lain. 😉.

Tidak bisa cukup upvote yang satu ini. Ini adalah skenario teratas bagi saya untuk kembali ke editor/IDE yang berbeda ( batuk * memory-hog Webstorm * batuk ) :)

Jika memungkinkan, ini akan menjadi anugerah, karena beberapa alasan:

  1. Meld, meskipun fungsional, sangat kurang dalam fungsionalitas terkait dengan ikatan kunci yang dapat dikonfigurasi dan penyorotan warna, dan benar-benar _sangat_ lambat untuk memulai pada mesin Windows saya, bahkan ketika diinstal pada SSD.
  2. Saya ingin editor gabungan juga menerima .editorconfig/settings yang sama dengan editor teks utama saya, dan jika vscode mengisi celah itu, itu akan luar biasa.
  3. Pada level yang lebih kecil, tema editor dan keakraban dengan antarmuka juga merupakan nilai tambah - terkadang saya atau tim saya membuat kesalahan saat menggabungkan karena tidak ada penyorotan sintaks, yang meskipun kecil, telah menyebabkan bug besar dalam sistem produksi. Dan beberapa dari kesalahan itu agak sulit untuk dipahami bahkan sampai terjadi. _Saya kira akan selalu ada masalah serupa dengan mergetools_, tetapi mungkin masalah itu akan berkurang jika seseorang dapat bergabung dalam lingkungan yang sama di mana ia menulis.

Seperti yang saya katakan, berbaur adalah _ok_, tetapi akan sangat bagus jika vscode suatu hari nanti digunakan dalam skenario itu.

Visual Studio selalu menjadi pilihan penggabungan kode saya. Akan senang melihat fitur ini!

Tidak ada masalah dalam menggunakan git mergetool lain tetapi benar-benar ingin melihat UI gabungan sendiri terjadi segera!!

meh.

Saya mengharapkan fitur-fitur ini dalam IDE kelas berat. Di kelas editor ringan vscode (di mana saya akan mempertimbangkan atom, sublim, dll) saya tidak. Untuk aktivitas terkait git, saya menyukai terminal dan vim untuk resolusi konflik. Kerumunan GUI sudah memiliki uni-tasker hebat seperti berbaur, diffmerge, kaleidoskop, dll.

@kumarharsh itu poin bagus tentang umpan balik langsung (mis; linting.) Pergi ke rute vim di atas, saya kira Anda dapat mengatur editor eksternal default git ke vscode... aturan sintaks/dll.

+1

dapatkah fitur ini diimplementasikan sebagai perpanjangan dari vscode? atau ada ext yang direkomendasikan.

Saya rasa tidak, karena saya dapat melihat bahwa ekstensi tidak diizinkan untuk membuat fitur ui

Enviado do meu telefone Windows 10

De: Tank Sui
Enviado:quarta-feira , 7 dezembro de 2016 10:41
Para: Microsoft/vscode
Cc: Herbert Pimentel; Komentar
Assunto: Re: [Microsoft/vscode] Menggunakan Kode VS sebagai git mergetool (#5770)

dapatkah fitur ini diimplementasikan sebagai perpanjangan dari vscode? atau ada ext yang direkomendasikan.

Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub, atau matikan utasnya.

Plugin dapat menyediakan fitur UI: lihat Git History. Itu membuat tampilan web, yang "berpotensi" digunakan sebagai alat gabungan. Tapi saya pikir akan sangat sulit bagi sebuah plugin untuk melakukannya tanpa beberapa tingkat dukungan oleh vscode itu sendiri.

Masalah utama dengan kaleidoskop, berbaur, dll alat dalam kasus penggunaan yang sangat khas:
Edit hasil selama penggabungan. Seperti, Anda tahu: terima baris ini dari kiri, terima baris itu dari kanan, dan juga, tambahkan perbaikan kecil ini sehingga keduanya bisa bekerja sama.
Kapten jelas melaporkan: Menggabungkan alat bagus dalam menggabungkan: D
Tetapi mengedit menggunakan ie berbaur benar-benar menyakitkan terutama ketika Anda terbiasa dengan alat yang berguna seperti vscode. Itu sebabnya sebagian besar pengembang ingin menggabungkan-alat terintegrasi dalam editor mereka.

memungkinkan kita untuk melihat perbedaan (fitur yang sangat berguna dalam editor) tetapi tidak memberi kita cara untuk menggabungkan sangat mengecewakan

Ekstensi Kode VS akan sempurna untuk menggabungkan konflik.

+1

Git penyelesai konflik berdampingan tidak berfungsi dalam kode VS terbaru.

Versi 1.10.2
Komit 8076a19fdcab7e1fc1707952d652f0bb6c6db331
Tanggal 08-03-2017T14:02:52.799Z
Kulit 1.4.6
Perender 53.0.2785.143
simpul 6.5.0

Sangat ingin dapat mengedit kode saat menggabungkan saat menggunakan editor kode saya (vscode), daripada harus menggunakan beberapa editor lain.

Ini adalah fitur "Harus Dimiliki" untuk dapat sepenuhnya pindah ke VSCode saat Anda bekerja di Agile Development Projects. Alat penggabungan terintegrasi adalah penghemat waktu yang sangat besar tanpa itu fitur git tidak lengkap. Saya harap kita bisa memiliki ini segera.

+1

saya butuh mergetool

Saya dapat merekomendasikan ekstensi "penggabungan yang lebih baik" untuk saat ini ...

Ya, itulah yang saya gunakan sekarang, dan cukup ok!

Oleh karena itu, masalah ini saya pikir bisa ditutup?
Pada Minggu, 30 Apr 2017 pukul 16:58, Ali [email protected]
menulis:

Saya dapat merekomendasikan ekstensi "penggabungan yang lebih baik" untuk saat ini ...


Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub
https://github.com/Microsoft/vscode/issues/5770#issuecomment-298222866 ,
atau matikan utasnya
https://github.com/notifications/unsubscribe-auth/AAU8Q2JVio1PlIvEb8S1zg2cf5tzxxciks5r1Fs9gaJpZM4IPCMA
.

>

Dikirim dari iPhone

@alirobe lebih baik gabungkan bukan tiga versi windows seperti berbaur
Sepertinya vsc hanya memiliki tiga jendela, tetapi tidak ada yang mengimplementasikan alat gabungan?

Hai @nchammas , @joaomoreno dan semua yang tertarik lainnya,
Hari ini saya menyiapkan menggunakan Kode VS sebagai git mergetool saya dan menjelaskannya di StackOverflow: Cara menggunakan Kode Visual Studio sebagai Editor Default untuk Git MergeTool (ini menjelaskannya dengan lebih detail, jadi periksalah!).

Ini versi kecepatannya:
Anda dapat mengedit .gitconfig Anda secara langsung dan menempelkannya

[merge]
    tool = vscode
[mergetool "vscode"]
    cmd = code --wait $MERGED

atau dari baris perintah enter

  1. git config --global merge.tool vscode
  2. git config --global mergetool.vscode.cmd "code --wait $MERGED"

Kemudian gunakan git mergetool dari dalam direktori git dengan konflik gabungan, dan ta-da !

Anda akan melihat baris yang mengatakan Terima Perubahan Saat Ini | Terima Kedua Perubahan |

Pastikan untuk menyimpan file Anda sebelum menutup VS Code!

Saya suka itu memiliki lensa kode "Terima Perubahan Saat Ini | Terima Perubahan yang masuk | Terima Kedua Perubahan | Bandingkan Perubahan", dan saya suka perbedaan berdampingan ketika Anda mengklik "Bandingkan Perubahan", tetapi itu tidak membiarkan saya mengedit apa pun sejalan, atau dengan seperti panel gabungan ketiga yang Anda lihat di alat gabungan Visual Studio atau alat lain seperti Meld, Winmerge, atau Beyond Compare. Saya ingin melihat panel ketiga dalam perbandingan berdampingan sehingga saya dapat melakukan lebih banyak penggabungan kustom.

@jaxspades , FWIW, apa yang saya lakukan ketika saya perlu melakukan kustom adalah Terima Keduanya dan kemudian edit. Sejauh ini itu bekerja dengan cukup baik, meskipun saya belum memiliki penggabungan yang sangat berbulu menggunakan ini.

Visual Studio "asli" bertindak sebagai alat penggabungan yang hebat, FWIW. Saya ingin melihat fitur itu di VS Code.

+1 ke @zneak

Arus mengambil blok ini atau blok itu sangat buruk dan membuang banyak waktu, refactoring, dan kesalahan. Saya ingin memiliki kemampuan untuk memilih baris demi baris seperti VS.

Positif palsu pada perubahan file juga menjadi masalah saat memantul di sekitar cabang.

Saya suka alatnya, hanya area ini yang kurang.

Halo
di VScode harus menjadi alat penggabungan default.
Kami memiliki alat diff yang keren, dan vsc dapat dibagi menjadi tiga bagian, jadi .. hanya perlu mengimplementasikannya.
Kami dapat mengimplementasikannya oleh komunitas dengan ext, tetapi kami tidak diizinkan untuk mengubah UI. Kami meriam membuat tombol khusus di ui, jadi bantu kami

Saya menggunakan kdiff3 di Windows dan Mac sebagai default saya git mergetool . Ini memiliki penggabungan 4 tampilan 3 arah, resolusi otomatis yang sangat baik, dan gratis & lintas platform.

Pada bulan Mei, penggabungan yang lebih baik telah terintegrasi. Ini secara efektif memecahkan masalah dengan menambahkan UI gabungan.
https://code.visualstudio.com/updates/v1_13

Ericop telah memberikan instruksi tentang konfigurasi vscode untuk menggunakan antarmuka 'penggabungan yang lebih baik' sebagai alat gabungan di atas.

Oleh karena itu, masalah ini harus ditutup, diselesaikan.

@alirobe Saya tidak berpikir penggabungan ini bagus, mungkin sepertinya bisa berbaur, tiga editor menunjukkan LOKAL, BASE, REMOTE

@zjjott dapat dimengerti, saya sarankan membuka masalah baru yang meminta peningkatan khusus untuk fitur yang ada, dan merujuknya di sini.

Ini adalah salah satu ekstensi terbaik yang pernah saya gunakan https://marketplace.visualstudio.com/items?itemName=letmaik.git-tree-compare#review -details

@joaomoreno Mengikuti komentar Anda, apakah kita akan melihat penggabungan 3 cara di masa mendatang?

@zjjott kdiff3 melakukan ini dengan sangat baik (Tampilan lokal, basis, jarak jauh, dan hasil). Saya benar-benar tidak yakin mengapa orang membutuhkan/menginginkan fungsionalitas tambahan di vscode ketika alat lintas platform yang ada ini sudah sangat bagus.

@RoyTinker karena saya biasanya tidak hanya 'menggabungkan'. Anda harus mengedit sesuatu (ketika beberapa konflik terjadi) dan ketika Anda mengedit sesuatu yang Anda inginkan, Anda adalah editor terbaik, bukan sesuatu yang dimiliki kdiff3 (tidak apa-apa tetapi vscode jauh lebih baik)

Mengapa Anda tidak berbicara dengan @eamodio dan mengimpor karyanya yang luar biasa di GitLens untuk VSCode ?
Saya sangat senang dengan itu, terutama saat menelusuri file yang bertentangan, ketika saya memiliki perubahan dari kedua aliran dalam satu tampilan, dan dapat menerima perubahan saat ini, perubahan yang masuk, kedua perubahan atau bahkan mengeditnya sekaligus.
Ini cukup dekat dengan ideal, hanya kadang-kadang menjadi gila dengan akhiran baris di Windows, lalu hanya ada Visual Studio lengkap untuk menyelamatkan.
Jika tidak, pengalaman git GUI terbaik dari IDE yang pernah saya miliki.

@m-wilczynski Sementara saya sangat menghargai kata-kata baik -- dukungan konflik gabungan bukan bagian dari GitLens -- itu dibangun langsung ke vscode itu sendiri (awalnya ekstensi lain yang dibawa ke inti)

@eamodio - maaf, tidak tahu. Tidak mengubah fakta, bahwa bagi saya (dan sebagian besar rekan saya yang menggunakan VSCode @ bekerja karena rekomendasi saya) Kode VS tidak berguna untuk bekerja dengan git tanpa GitLens.
Dengan GitLens saya ingin membuka VSCode bahkan jika saya tidak mengkodekan atm (kebanyakan menggunakannya untuk TypeScript dan JavaScript) hanya untuk melihat dengan jelas apa yang terjadi dalam penggabungan ini.
Ini semua tentang pengalaman pengguna.
Bahkan jika VSCode memiliki semuanya dan Anda hanya perlu memvisualisasikannya dengan benar - Andalah yang harus disalahkan atas pengalaman pengguna saya yang luar biasa. 😉.

@m-wilczynski Sangat rendah hati. Terima kasih — saya sangat menghargai kata-kata yang baik!

Ini akan datang dalam dua tahun sekarang ... dan ini masih salah satu fitur yang hilang paling jelas pada saat ini. ingin menjadikan VSCode sebagai mergetool saya.

@tracker1 Masalah ini diselesaikan secara teknis: https://github.com/Microsoft/vscode/issues/5770#issuecomment -308533904. Saya tidak tahu mengapa itu masih belum ditutup.

@joaomoreno bisakah masalah ini ditutup?

Saya pikir alasan itu masih terbuka (dan juga mengapa saya masih menontonnya) adalah orang-orang mencari kemampuan penggabungan tiga cara berdampingan di vscode. Misalnya, saat ini saya menggunakan meld ( contoh screenshot ).

Ya dan kami memiliki skenario ketika git memiliki Konflik (ganti nama/ganti nama) dan file $MERGED kosong dan masih diperlukan pengeditan untuk membuat perintah $LOCAL $REMOTE yang berbeda, saya menggunakan cmd di bawah ini untuk masalah ini

code --wait --diff $REMOTE $LOCAL | cp $LOCAL $MERGED

Tetapi itu dapat dibuat menjadi masalah yang terpisah - pekerjaan utama dari masalah khusus ini dilakukan IMO.

Mungkin apa yang ditampilkan di #5770 berfungsi dengan baik untuk perubahan kecil, namun ini adalah pengalaman yang buruk untuk perubahan besar dan Anda benar-benar membutuhkan pengalaman panel 3 atau 4 untuk melakukan ini dengan benar.

Saat ini saya menggunakan Visual Studio (tepat) sebagai alat MERGE/DIFF dan MELD ketika Visual Studio (tepat) tidak diinstal. Ini menyelesaikan pekerjaan, tetapi akan sangat bagus untuk dapat mengedit kode dengan alat yang sama yang digunakan untuk menulisnya di istana pertama.

Jika mereka ingin menutupnya, tidak apa-apa, karena _dapat_ digunakan sebagai alat penggabungan, tetapi kemudian kita harus segera membuat masalah untuk menangkap kemampuan diffing tiga arah yang berdampingan.

Sekarang vscode memiliki opsi untuk menampilkan lebih dari dua jendela. (mulai v1.24.0). Saya sendiri belum mencoba menggabungkan 3 cara tetapi itu pasti menjadi kemungkinan sekarang

Ini adalah kekurangan terbesar dari editor luar biasa ini pastinya

Penggabungan tiga arah adalah suatu keharusan. Cara saat ini melakukan git merge sangat kasar saat digunakan.

Tolong tambahkan penggabungan tiga cara

@michaelKurowski Ya baru-baru ini saya mendengar kolega mengeluh tentang kemampuan penggabungan VScode, tidak menyelami detailnya. Jadi singkatnya jika aspek ini dapat ditingkatkan, itu akan baik untuk vscode.

Tolong tambahkan penggabungan tiga cara

Saya tidak yakin saya benar-benar mengerti. Orang-orang di sini tampaknya meminta penggabungan tiga arah, tetapi sepertinya VSCode sudah memiliki penggabungan tiga arah, seperti pada tangkapan layar ini.

image

Namun, seperti yang saya pahami, tidak ada cara untuk memanggil penggabungan tiga arah dari baris perintah. Seperti yang disebutkan dalam posting awal, ini akan melibatkan cara untuk memanggil dengan empat argumen pada baris perintah: file dasar, dua versi revisi yang berbeda, dan jalur untuk menulis hasil akhir gabungan.

Dalam kasus saya, saya ingin menggunakan VSCode sebagai alat penggabungan dengan Perforce dan bukan Git, tetapi dengan asumsi VSCode menerima keempat nama file ini pada baris perintah maka tidak masalah perangkat lunak kontrol sumber mana yang Anda gunakan, konsep penggabungan adalah sama.

Haruskah masalah ini disebut sesuatu seperti "Tambahkan opsi baris perintah untuk menjalankan fungsi penggabungan 3 arah yang ada", atau apakah ada sesuatu yang saya salah pahami tentang implementasi penggabungan saat ini di VSCode, selain kurangnya penggunaan baris perintah, yang membuatnya tidak cocok untuk git tiga cara penggabungan?

Saya tidak yakin saya benar-benar mengerti. Orang-orang di sini tampaknya meminta penggabungan tiga arah, tetapi sepertinya VSCode sudah memiliki penggabungan tiga arah, seperti pada tangkapan layar ini.

image

Namun, seperti yang saya pahami, tidak ada cara untuk memanggil penggabungan tiga arah dari baris perintah. Seperti yang disebutkan dalam posting awal, ini akan melibatkan cara untuk memanggil dengan empat argumen pada baris perintah: file dasar, dua versi revisi yang berbeda, dan jalur untuk menulis hasil akhir gabungan.

Dalam kasus saya, saya ingin menggunakan VSCode sebagai alat penggabungan dengan Perforce dan bukan Git, tetapi dengan asumsi VSCode menerima keempat nama file ini pada baris perintah maka tidak masalah perangkat lunak kontrol sumber mana yang Anda gunakan, konsep penggabungan adalah sama.

Haruskah masalah ini disebut sesuatu seperti "Tambahkan opsi baris perintah untuk menjalankan fungsi penggabungan 3 arah yang ada", atau apakah ada sesuatu yang saya salah pahami tentang implementasi penggabungan saat ini di VSCode, selain kurangnya penggunaan baris perintah, yang membuatnya tidak cocok untuk git tiga cara penggabungan?

Saya percaya bahwa mereka ingin melihat sesuatu seperti ini:
https://user-images.githubusercontent.com/1470309/32250860-c677e4ce-bec0-11e7-82b5-0196d981cc28.png

@michaelKurowski saya mengerti. Mungkin ada dua masalah yang berbeda saat itu,

  • Visualisasi penggabungan tiga arah. (implementasi saat ini menampilkan penggabungan sebaris, sedangkan beberapa orang meminta tampilan tiga kolom)
  • Kemampuan untuk menggunakan VSCode sebagai alat penggabungan 3 arah yang dipanggil dari baris perintah. (yang akan membutuhkan opsi baris perintah yang mirip dengan --diff file1 file2 saat ini tetapi dengan dukungan gabungan, misalnya --merge basefile revision1file revision2file mergedfile

Kesan saya adalah bahwa poster asli meminta sesuatu yang lebih seperti yang terakhir (yang tampaknya mudah diterapkan menggunakan visualisasi saat ini) sedangkan permintaan untuk visualisasi penggabungan tiga kolom sedikit lebih rumit dan permintaan terbuka dan mungkin kebingungan antara dua permintaan terpisah itu yang menyebabkan masalah ini dipertaruhkan?

Oke terima kasih atas klarifikasinya @uglikoyote & @michaelKurowski , jadi menurut Anda haruskah kami membuat masalah/permintaan fitur baru yang didedikasikan untuk tampilan berbeda tiga kolom?

Akan lebih baik jika @joaomoreno dapat mengomentari pertanyaan @JeanPerriault dan saran saya tentang apakah masalah ini harus dibagi dua, karena ia tampaknya berada di tim VSCode. Tetapi dilihat dari tanggapannya sebelumnya tentang "penggabungan UI perlu diterapkan" dan "kami tidak akan melakukannya dengan cara lain (selain penggabungan tiga arah)", sepertinya dia melihat kedua masalah yang saya sebutkan sebagai satu hal.

@joaomoreno , apakah tidak masuk akal untuk terlebih dahulu, dalam jangka pendek, menerapkan opsi baris perintah untuk mengekspos perilaku penggabungan yang ada? Saya pribadi akan baik-baik saja dengan menggunakan penggabungan sebaris saat ini dan tidak menganggap tampilan 3-kolom menjadi penting (meskipun mungkin menyenangkan). Tetapi jika mengaitkan penggabungan yang ada ke baris perintah adalah tugas yang mudah maka saya tidak ingin itu terhenti tanpa batas karena kurangnya keinginan tim VSCode untuk menerapkan visualisasi penggabungan 3 arah yang lebih bagus.

ya, beri kami tampilan/editor gabungan visual seperti http://meldmerge.org/

WinMerge bekerja seperti bos
after-3way-merge

ya, beri kami tampilan/editor gabungan visual seperti http://meldmerge.org/

Saya menggunakan Meld dan sementara saya ingin melihat VSCode melakukan hal yang sama, saya tidak melihat masalah dalam menggunakan Meld untuk ini, jujur.

@lig mengapa saya harus menggunakan vscode untuk mengedit? Saya hanya bisa menggunakan notepad

@josser cukup gunakan alat apa pun yang lebih sesuai dengan tugas Anda saat ini. Saya pikir perang suci ini offtopic btw.

@lig Saya hanya ingin menjelaskan mengapa orang meminta untuk mengintegrasikan alat gabungan ke vscode
Karena mereka suka vscode dan tidak suka alat lain. Penggabungan juga mengedit. Dan Anda ingin mengedit file di editor cantik Anda meskipun pengeditan adalah bagian dari proses penggabungan

Lihatlah komentar ini: https://github.com/Microsoft/vscode/issues/5770#issuecomment -265497516

@josser seperti yang disebutkan sebelumnya di utas ini berkali-kali, permintaan asli dapat dilakukan dengan mengatur git untuk menggunakan VSCode sebagai mergetool dan menjalankan git mergetool selama konflik, yang membuka aliran penggabungan VSCode yang berfungsi dengan baik untuk saya dan pengguna lain.

Jika Anda ingin melihat antarmuka seperti Meld saat menggunakan VSCode sebagai alat gabungan, _harap buat permintaan fitur terpisah di edisi terpisah_ sehingga kami dapat menghentikan spam utas ini untuk apa yang pada dasarnya _permintaan fitur yang tidak terkait_.

@lig Saya hanya ingin menjelaskan mengapa orang meminta untuk mengintegrasikan alat gabungan ke vscode
Karena mereka suka vscode dan tidak suka alat lain. Penggabungan juga mengedit. Dan Anda ingin mengedit file di editor cantik Anda meskipun pengeditan adalah bagian dari proses penggabungan

Lihatlah komentar ini: #5770 (komentar)

Polos dan mudah! Itulah yang orang inginkan. Mengapa itu begitu sulit untuk dipahami? Saya memulai diff dan langkah selanjutnya adalah menggabungkan. Itu milik bersama dan pemisahan apa pun benar-benar bertentangan dengan alur kerja yang baik dan hanya menghabiskan waktu. Saya ingin menggunakan editor kode visual studio dan tidak ada alat eksternal.

Saya juga ingin agar Kode VS dapat digunakan sebagai editor gabungan tiga arah. Terima atau tolak perubahan dari kiri atau dari kanan dan ubah hasilnya sebelum melakukan perubahan. Ini akan sangat meningkatkan VSCode. Benar-benar tidak masuk akal untuk menggunakan banyak fitur git yang kuat kecuali salah satu yang penting: penggabungan.

Jadikan JetBrains seperti. (https://github.com/Microsoft/vscode/issues/37350)

Dan sejujurnya, penggabungan berbaur terlihat sangat jelek. Ini dari 2012, kan? Dan sepertinya itu dari tahun 2003. Mengapa saya harus melakukan perjalanan waktu setiap kali saya ingin melakukan penggabungan 3 arah?

Masalah baru telah dibuat untuk memiliki tampilan gabungan tiga arah: https://github.com/Microsoft/vscode/issues/37350

Seseorang meluangkan waktu untuk membuka masalah terpisah untuk tiga cara menggabungkan UI (seperti yang direkomendasikan di sini) lengkap dengan mock-up yang indah, hanya untuk segera menutupnya. =(

@mofahead sepertinya yang saya buat adalah duplikat #37350 .. meskipun penutup menyebutkan masalah ini.

Akan lebih baik jika https://github.com/Microsoft/vscode/issues/8226 ditingkatkan sebelum mengaktifkannya sebagai editor gabungan

Hai semuanya!

Anda dapat mengikuti tutorial untuk mengonfigurasi VSCode sebagai git.mergetool resmi:

https://stackoverflow.com/a/44549734

Sepertinya ada beberapa kebingungan di sini dengan orang-orang yang menyebutkan aspek UI dan menggabungkan fungsionalitas. Bagi saya, pembunuh produktivitas terbesar saat ini di VSCode adalah fakta bahwa penggabungan bekerja secara vertikal, bukan berdampingan.

Sejujurnya saya tidak mengerti bagaimana ini bahkan dapat dianggap sebagai UI yang dapat diterima untuk fungsi ini dari jarak jauh. Tidak berguna.

Bagi mereka yang menggunakan Mac, inilah solusinya.

  • Instal Diffmerge
  • Instal VSCode Git Diff and Merge Tool
  • Sunting ~/.gitconfig
    menambahkan
[diff]
        tool = diffmerge
[difftool "diffmerge"]
        cmd = diffmerge \"$LOCAL\" \"$REMOTE\"
[merge]
        tool = diffmerge
[mergetool "diffmerge"]
        cmd = diffmerge -merge \"$LOCAL\" \"$BASE\" \"$REMOTE\"
        trustexitcode = true
        keepbackup = false
  • Di VSCode, buka Source Control, klik kanan file dan pilih Launch merge tool

Satu-satunya hal adalah, saya tidak bisa mendapatkan file untuk secara otomatis bergabung kembali ke VSCode di semua skenario.

Telah menggunakan diffmerge selama bertahun-tahun di Mac dan Windows. Beralih ke Sublime Merge beberapa bulan yang lalu. Aku benar-benar menyukainya. Ini cepat, modern. Saya menggunakannya di Windows juga alih-alih Visual Studio ketika saya perlu bekerja di lingkungan itu.

kembali ke emacs untuk diff dan penggabungan direktori yang dikontrol non-VCS :(

VS Code memiliki plugin L13D yang bagus untuk membandingkan direktori (misalnya direktori konfigurasi antara komputer sumber dan komputer tujuan), tetapi Anda tidak dapat menggabungkan tanpa git atau beberapa kontrol versi lainnya.

Jadi, diff-directories emacs membuat sesi dan kemudian menggabungkan apa yang saya inginkan secara selektif, untuk tugas ini. Saya mencoba untuk meninggalkan emacs, tetapi saya masih menemukan hal yang sesekali dapat dilakukan yang tidak dapat dilakukan oleh Kode.

VS Code memiliki plugin L13D yang bagus untuk membandingkan direktori (misalnya direktori konfigurasi antara komputer sumber dan komputer tujuan), tetapi Anda tidak dapat menggabungkan tanpa git atau beberapa kontrol versi lainnya.

Apakah Anda memiliki tautan ke L13D?

Saya tidak yakin saya benar-benar mengerti. Orang-orang di sini tampaknya meminta penggabungan tiga arah, tetapi sepertinya VSCode sudah memiliki penggabungan tiga arah, seperti pada tangkapan layar ini.

image

Ini berfungsi untuk konflik penggabungan yang benar-benar sepele, tetapi saya bertemu orang-orang di perusahaan yang hanya menggunakan VSCode dan seluruh gagasan mereka tentang "menggabungkan konflik" didasarkan pada perbedaan VSCode yang terlalu disederhanakan. Dan ketika mereka mendapatkan konflik penggabungan non-sepele, mereka selalu "memilih satu sisi" (pada dasarnya menjatuhkan perubahan seseorang dalam beberapa baris alih-alih menggabungkannya) setidaknya sekali.

Kami membutuhkan antarmuka seperti campuran di VSCode bukan hanya karena itu keren, tetapi karena tanpanya kami mendorong praktik buruk di pengembang yang lebih muda.

Ini bukan hanya "pengembang yang lebih muda". Saya telah mengkode selama 20 tahun dan penggabungan 3 panel benar-benar lebih baik. Anda akan membuat kesalahan dengan inline diff yang akan Anda tangkap jika Anda bisa melihat keseluruhan setiap versi kode sekaligus.

Saya ingin melihat tiga panel dengan perbedaan terhadap komit dasar di setiap panel. Itu akan memudahkan untuk melihat apa yang telah berubah di mana dan perubahan apa yang harus dipertahankan dan tidak.

@lig Saya hanya ingin menjelaskan mengapa orang meminta untuk mengintegrasikan alat gabungan ke vscode
Karena mereka suka vscode dan tidak suka alat lain. Penggabungan juga mengedit. Dan Anda ingin mengedit file di editor cantik Anda meskipun pengeditan adalah bagian dari proses penggabungan

Karena VSCode lebih dari sekedar editor teks yang dimuliakan. Ini adalah IDE dengan linter dan intellisense. Itu bahkan mem-parsing kode Python saya untuk variabel yang tidak ditentukan. Dan saya merasa sangat berguna saat menggabungkan untuk dapat melihat, secara real-time, petunjuk bahwa linter+intellisense+dll. menawarkan ketika saya memilih jalur mana yang akan diterima.

Menggunakan alat gabungan "bodoh" membuat lebih sulit untuk menemukan kesalahan dalam penggabungan dan bahkan memperbaikinya setelah penggabungan dan kembali ke VSC.

Ini salah satu dari 2 atau 3 hal yang menghalangi saya untuk kembali ke VS Code

Ini ada di peta jalan 2020-

Berikan dukungan penggabungan penuh (3 arah)

Lihat- https://github.com/microsoft/vscode/wiki/Roadmap#scm

Saya baru saja merilis ekstensi VS Code saya sebagai Git Mergetool . Ini tidak kaya fitur seperti editor konflik gabungan lainnya tetapi harus dapat digunakan. Sebagai default, saya mengonfigurasi tata letak 4-panel yang menurut saya lebih praktis daripada tata letak 3-kolom klasik. Perhatikan umpan balik!

Ini belum tersedia di Marketplace sehingga Anda perlu mengunduhnya dari GitHub dan menginstalnya secara manual. di Marketplace ._

Halo @zawys ,

Apakah mendukung membandingkan 3 atau 4 folder yang akan saya gabungkan file oprhan?

Hai @gusbemacbe ,

Dalam keadaannya saat ini, ekstensi terutama dianggap sebagai alat penggabungan file "3 arah" yang sesuai dengan antarmuka git mergetool . Ini masih menjadi tujuan utama. Namun, saya berencana untuk memperluas fungsionalitas sehingga tidak ada proses git-mergetool yang perlu dijalankan karena skrip shell kecil itu memiliki beberapa kekurangan UX sendiri. Sebagai gantinya, saya ingin lebih mengintegrasikan ekstensi dengan VS Code.

Dalam proses itu, saya akan mengkloning beberapa fungsi git-mergetool, misalnya menyelesaikan konflik penghapusan dan penggabungan tautan simbolik. Saya tidak yakin seberapa jauh itu mencakup kasus penggunaan Anda. Mungkin saya juga bisa menambahkan misalnya perintah accept-all-incoming-in-folder. Silakan buka masalah untuk
ekstensi untuk membahas lebih lanjut.

Ekstensi saya sekarang dapat ditemukan di Marketplace .

Ekstensi saya sekarang dapat ditemukan di Marketplace .

202010-04_0859_27__

@InLaw Anda perlu memperbarui Kode VS Anda untuk menggunakan ekstensi. Untuk diskusi lebih lanjut, silakan buat laporan bug di situs ekstensi .

Apakah halaman ini membantu?
0 / 5 - 0 peringkat