Vscode: Mendukung alat resolusi konflik Git yang mirip dengan IntelliJ, WebStorm

Dibuat pada 31 Okt 2017  ·  91Komentar  ·  Sumber: microsoft/vscode

IntelliJ, dan semua IDE berbasis IntelliJ lainnya seperti WebStorm, mendukung alat resolusi konflik git merge yang menunjukkan konflik dalam tiga kolom:

  • kolom pertama untuk Perubahan Lokal
  • kolom ketiga untuk Perubahan dari Server
  • kolom kedua untuk Hasil Penyelesaian Konflik

Silakan lihat file terlampir saya.
merge-conflict-resolution

Saya merasa sangat mudah bagi kita untuk menyelesaikan konflik, karena saya dapat membandingkan Perubahan Lokal dan Perubahan Server pada jendela yang sama, dan saya dapat melihat Hasil Resolusi dengan segera.

Bisakah kita mendukung itu?

feature-request merge-conflict

Komentar yang paling membantu

Ini akan menjadi fitur yang sangat keren, saya menggunakan VSCode untuk pekerjaan harian saya tetapi sering menggunakan WebStorm ketika saya perlu menyelesaikan konflik penggabungan karena interaktivitas dan kemudahan penggunaannya.

Semua 91 komentar

Ini akan menjadi fitur yang sangat keren, saya menggunakan VSCode untuk pekerjaan harian saya tetapi sering menggunakan WebStorm ketika saya perlu menyelesaikan konflik penggabungan karena interaktivitas dan kemudahan penggunaannya.

Ada berita tentang ini? fitur ini akan luar biasa. Di satu sisi, ada alat diff (yaitu membandingkan dua file) dalam kode VS, tetapi Anda tidak dapat mengedit / memilih apa yang akan disimpan; di sisi lain, ada alat konflik gabungan yang memungkinkan untuk memilih apa yang akan disimpan (perubahan saat ini / perubahannya). Sekarang, yang terbaik adalah memasukkan kedua alat tersebut ke dalam satu alat, seperti alat yang disarankan oleh @uyhung.

Saya juga ingin menambahkan, untuk setiap kontributor yang datang: VS Code adalah perangkat lunak yang luar biasa, pertahankan :) !

Itu akan menjadi fitur yang luar biasa... ada berita tentangnya? adakah yang merekomendasikan beberapa ekstensi yang melakukan hal serupa?

Saya menggunakannya di PyCharm. Fitur luar biasa seperti itu, sangat membantu dengan menghindari bug pada penggabungan yang lebih besar. Semua linter tersedia selama proses, jadi kesalahan/pelanggaran gaya/variabel yang tidak digunakan mudah dikenali.

Harap cepat dengan fitur ini jika Anda berencana untuk menerapkannya :)

Jempol 👍 untuk yang satu ini. Itulah satu-satunya hal yang menahan saya untuk benar-benar beralih ke VSCode. Akan sangat membantu dan berguna.

Pada hari Anda menerapkan fitur ini, saya akan berhenti menggunakan webstorm.

Tidak hanya untuk menyelesaikan konflik, desain ini juga harus tersedia untuk melihat file riwayat.

git config merge.conflictStyle diff3 dan Anda memilikinya hari ini tetapi dengan tata letak dalam editor VSCode - yang jauh lebih baik daripada memunculkan dialog dan jendela baru untuk melihat file yang sudah Anda buka IMO!

Ada berita? Apakah dijadwalkan mungkin, atau direncanakan akan dijadwalkan?

Ya sangat dibutuhkan

ini adalah fitur yang sangat dibutuhkan, saya menggunakan ide inteliij hanya untuk menyelesaikan konflik.

+1, ini akan luar biasa!

+1 di sini! Mencoba untuk beralih, tetapi IMO ini adalah salah satu fitur utama yang hilang untuk beralih dari WebStorm ke VSCode

Bisakah kita berhenti dengan komentar +1? Itu tidak membawa apa pun ke percakapan.
Lihat saja utas ini dan tunggu ...

@Zielak +1 mari berhenti menambahkan lebih banyak komentar

Adakah yang tahu apakah ada plugin yang memungkinkan ini?

@rajjejosefsson Seperti yang saya katakan di atas , Anda dapat mengatur: ( git config merge.conflictStyle diff3 )

[merge]
  conflictStyle = diff3

untuk melihat mereka/umum/kita. Itu tidak akan mengubah format/tema VSCode, tetapi Anda akan mendapatkan ketiga bagian itu ke diff Anda, bukan hanya mereka/kami seperti default (git).

Kecuali ada hal lain (selain membuka beberapa dialog hanya untuk kembali melihat perbedaan dalam file yang sudah Anda buka) yang ditawarkan IDE JetBrains yang saya lewatkan di sini?

Sublime Merge yang baru dirilis memiliki implementasi serupa.

Ini akan menjadi fitur yang sangat keren, saya menggunakan VSCode untuk pekerjaan harian saya tetapi sering menggunakan WebStorm ketika saya perlu menyelesaikan konflik penggabungan karena interaktivitas dan kemudahan penggunaannya.

Anda dapat menambahkan konfigurasi ini di file .gitconfig Anda dan ketik "git mergetool" di terminal Anda setiap kali konflik muncul. Itu hanya akan membuka antarmuka gui gabungan Anda dari webstorm untuk setiap file.

[mergetool "webstorm"]
    cmd = webstorm merge $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$REMOTE") && pwd)/$(basename "$REMOTE") $(cd $(dirname "$BASE") && pwd)/$(basename "$BASE") $(cd $(dirname "$MERGED") && pwd)/$(basename "$MERGED")
    trustExitCode = true
[merge]
    tool = webstorm

+1 di sini, sekarang satu-satunya alasan saya menggunakan webstorm!

+1

+1

Benar, Kode VS luar biasa kecuali kurangnya alat UI ini.

+1, Ini persis seperti yang saya harapkan dari alat penggabungan.
Dan #5770 harus diimplementasikan seperti ini.

+1 itu satu-satunya fitur yang benar-benar saya lewatkan saat menggunakan VSC dibandingkan dengan WebStorm.

Saya sangat ingin ini diterapkan juga, satu-satunya keseluruhan besar yang saya lihat dalam kode VS sebagai IDE lengkap

Oke, karena Webstorm tampaknya menjadi satu-satunya solusi nyata, saya akan mengunduhnya sekarang.
Sangat menantikan VSCode yang mendukung fitur ini!!

Juga, dapatkah seseorang menurunkan posting ini untuk saya? Terima kasih :P

Apakah fitur ini sedang dalam pengerjaan?

+1, benar-benar akan menggunakan ini jika diterapkan

Saya menambahkan pengaturan dan perintah baru untuk sedikit meningkatkan resolusi konflik gabungan, inilah pengalamannya setelah https://github.com/microsoft/vscode/pull/74231 digabungkan

Pertama, pengaturan baru merge-conflict.diffViewContext ditambahkan untuk menunjukkan konteks di sekitar konflik

Sebelum: tidak ada konteks di sekitar diff
compare-withoutcontext

Setelah: dengan "merge-conflict.diffViewContext": 3
compare-with-context

Kedua, perintah baru Bandingkan Semua diperkenalkan untuk menampilkan perbandingan penuh antara ruang kerja saat ini dan perubahan yang masuk, yang dengannya Anda dapat membandingkan konten lama, yang masuk, dan konten lokal terbaru di disk

compare-all

Lebih banyak pekerjaan di area editor perlu dilakukan untuk mendukung gaya JetBrains, misalnya, membuka grup editor tiga kolom dari konflik. Tetapi saya masih ingin mendengar tanggapan Anda tentang solusi saat ini yang disebutkan di atas.

Ini keren. Bisakah Anda memilih baris demi baris perubahan apa yang ingin Anda gabungkan ke dalam file baru atau hanya satu file atau yang lain? Baris demi baris atau Semua akan luar biasa!!!

Jika Anda dapat menerima setiap perubahan dari salah satu file blok demi blok dan bergabung menjadi yang ketiga yang mungkin akan mencakup sebagian besar kasus penggunaan. Jadi misalnya jika satu file memiliki 3 perubahan dan file lainnya memiliki 4, saya dapat memilih apa pun yang saya inginkan. Suka menerima 2 perubahan dari satu file dan 2 perubahan dari yang lain. Bisakah itu melakukan ini? Jika demikian... batu itu!

@rebornix Konteks tambahannya bagus, dan saya suka membandingkan semua, tetapi bagi saya masih ada beberapa hal yang hilang:

  1. Membandingkan setiap "sisi" dengan basis yang sama -- sementara tampilan penggabungan 3 arah mungkin yang terbaik, ini setidaknya bisa membantu untuk sementara (saya telah mempermainkan menambahkan sesuatu untuk ini di GitLens)
  2. Mampu mengedit dalam tampilan perbandingan dan menyinkronkan perubahan kembali ke dokumen -- ini adalah sesuatu yang dibicarakan sebelum penggabungan yang lebih baik dibawa ke inti. Ini adalah permintaan tentang itu (meskipun permintaan aslinya hilang: menangis :) https://github.com/microsoft/vscode/issues/10547#issuecomment -300201327'

# 2 mungkin dapat dilakukan hari ini dengan penyedia sistem file khusus (meskipun itu terasa seperti banyak upaya berlebihan)

@eamodio

Membandingkan setiap "sisi" dengan basis yang sama -- sementara tampilan penggabungan 3 arah mungkin yang terbaik, ini setidaknya bisa membantu untuk sementara (saya telah mempermainkan menambahkan sesuatu untuk ini di GitLens)

Yang ini memerlukan penambahan tampilan diff tiga arah baru (algoritma diff tiga arah dan editor tiga kolom) tetapi bisa dilakukan. Untuk # 2, saya pikir penyedia sistem file khusus adalah cara yang tepat karena konten file pada disk berisi konflik gabungan (seperti >>>>>>, <<<<<< ), saat memilih perubahan konten dari tampilan diff, kami tidak ingin untuk mengacaukan file di disk, jadi ini sudah menjadi penyedia sistem file virtual.

Sangat membutuhkan fitur ini.

@rebornix Saya suka ide saya pikir itu bisa lebih baik daripada membuka editor 3 kolom karena layar laptop tidak terlalu besar. Saya pikir bisa lebih mudah untuk memperbaikinya sedikit agar terlihat seperti alat gabungan Gitkracken yang menunjukkan konteks pada editor atas dan memungkinkan pengeditan file reluting (yang saat ini memiliki >>>><<<< ...) di bagian bawah .
merge-tool@2x

Ya, seringkali ketika ada konflik penggabungan saya beralih ke PHPStorm, bahkan jika yang lain mengerjakan proyek yang saya lakukan di VSCode. Anehnya dua tahun berlalu dan masih belum ada merger yang tepat.

@rebornix Saya suka ide saya pikir itu bisa lebih baik daripada membuka editor 3 kolom karena layar laptop tidak terlalu besar. Saya pikir bisa lebih mudah untuk memperbaikinya sedikit agar terlihat seperti alat gabungan Gitkracken yang menunjukkan konteks pada editor atas dan memungkinkan pengeditan file reluting (yang saat ini memiliki >>>><<<< ...) di bagian bawah .

Saya tidak setuju, tata letak tiga kolom adalah bagian dari apa yang membuat Webstorm begitu hebat. Itu membuat ikhtisar yang sangat rapi

Sama di sini, saya selalu beralih ke IntelliJ untuk menggabungkan resolusi konflik. Alat tongkat sihir "Selesaikan konflik sederhana" juga menghemat banyak waktu!

Saya mengubah kembali ke Visual Studio 2017 untuk menyelesaikan konflik ...

Pada Selasa, 25 Juni 2019 pukul 8:35, fabb [email protected] menulis:

Sama di sini, saya selalu beralih ke IntelliJ untuk menggabungkan resolusi konflik.
Alat tongkat sihir "Selesaikan konflik sederhana" juga menghemat banyak waktu!


Anda menerima ini karena Anda berlangganan utas ini.
Balas email ini secara langsung, lihat di GitHub
https://github.com/Microsoft/vscode/issues/37350?email_source=notifications&email_token=AAEN6O3LOPBVEY7PMABVNRDP4I3KZA5CNFSM4EBV5J4KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNWAMVXZissuecom-50WAMVXHJKTDN5
atau matikan utasnya
https://github.com/notifications/unsubscribe-auth/AAEN6O4AO24V4GB24EWOJGDP4I3KZANCNFSM4EBV5J4A
.

vscode harus mengubah alat konflik git, karena saat menyelesaikan konflik vscode menambahkan <<< , === , yang menyebabkan kesalahan sintaksis bahasa

@SupinePandora43 Itu bukan VSCode, begitulah cara git menangani konflik, ia menambahkan <<< , === ke baris yang saling bertentangan. WebStorm mem-parsing blok ini dan menciptakan alat visual yang hebat untuk penggabungan.

@vedmant lalu ... vscode membutuhkan beberapa parser

@minkir014 Periksa gambar terlampir pada komentar asli di atas, ini yang semua orang maksud.

Ini adalah tip dan trik kode vs dan itu berarti kode vs bawaan. Jadi, mengapa masalah ini masih dibuka?

@ minkir014 Saya akan menautkan gambar dari komentar asli di sini lagi, karena Anda jelas memikirkan sesuatu yang berbeda: https://user-images.githubusercontent.com/1470309/32250860-c677e4ce-bec0-11e7-82b5-0196d981cc28.png

@ minkir014 Apa yang ada di kode VS sekarang tidak ada apa-apanya di dekat fitur yang dimiliki IntelliJ, bandingkan saja ini: https://user-images.githubusercontent.com/1470309/32250860-c677e4ce-bec0-11e7-82b5-0196d981cc28.png dan apa yang Anda posting https://github.com/Microsoft/vscode-tips-and-tricks/blob/master/media/resolve_merge_conflicts.gif apakah Anda melihat banyak kesamaan?

@minkir014 karena fitur

Penggabungan tiga cara adalah satu-satunya fitur yang menghalangi saya menggunakan VSCode sebagai satu-satunya IDE saya.

Penggabungan tiga cara adalah satu-satunya fitur yang menghalangi saya menggunakan VSCode sebagai satu-satunya IDE saya.

aku mendengarmu. Ini adalah fitur pembunuh yang harus kita miliki. Saya harus menjaga PHPStorm hanya untuk alasan ini.

Butuh beberapa saat untuk menyadari bahwa Anda memiliki sebagian besar dari apa yang Anda _perlu_ terkandung dalam pembaruan dari utas di atas, hanya saja tidak ditampilkan dengan cantik, juga tidak dapat melakukan diff 3-arah yang sewenang -

Perubahan konfigurasi di bawah ini mencakup sebagian besar kontekstualisasi penggabungan-konflik di dunia nyata yang membutuhkan lebih baik daripada pengaturan VSCode/Git default ketika Anda ingin dapat memahami konteks dari dua perubahan yang berbeda ketika dibuat, sekaligus menyelaraskan perbedaan mereka. Jadi, untuk pencari masa depan:

  1. Aktifkan pengungkapan leluhur umum (berbeda) dari dua perbedaan dengan mengubah gaya konflik git Anda menjadi diff3. Lakukan ini dengan mengedit ~/.gitconfig Anda atau menggunakan cli: git config merge.conflictStyle diff3
  2. Atur pengaturan VSCode Anda untuk Diff View Position ke "Below" atau "Beside" "merge-conflict.diffViewPosition": "Below"

Selamat, Anda sekarang dapat melihat konteks dua diff Anda sebagai referensi statis, basis umum dari keduanya bercabang, dan semuanya sambil tetap mengedit ketiga konteks (leluhur, cabang A, dan cabang B) menggunakan in-line diffing. Sekarang menjadi vimdiff orang miskin.

(menambahkan panel statis untuk menampilkan perbedaan nenek moyang yang sama tanpa sorotan akan menjadi tambahan yang mudah tanpa memerlukan editor utama atau pembaruan algo diff, berbicara tentang vimdiff)

Dan jika ini bukan perubahan di GIT? (Saya menggunakan paksaan, dan saya tidak punya pilihan untuk itu sekarang.)

Duplikat #25887

Itu adalah tampilan dua kolom. Ini adalah tampilan tiga kolom.

Duplikat #25887

Itu adalah tampilan dua kolom. Ini adalah tampilan tiga kolom.

Saya pikir akan bermanfaat untuk menghubungkan masalah bersama, karena itu masalah yang sama.
Dua atau tiga kolom adalah bagian dari solusi.
Di samping catatan, motivasi saya untuk menautkan adalah untuk mendapatkan daya tarik dari kedua masalah dan menambahkan perilaku yang hilang sesegera mungkin - saya benar-benar ingin menggunakan fitur itu

Tapi di sini ada 427 suara melawan 310 (#25887). Mungkin Anda dapat menggabungkan penghitungan suara bersama jika Anda ingin menggabungkannya. Fitur ini akan menjadi top 10

Menerapkan penggabungan panel gaya 3 IntelliJ yang efektif dan ramah pengguna (kadang-kadang disebut sebagai penggabungan tiga cara, tetapi ini adalah dua file yang digabungkan menjadi panel hasil) akan menempatkan produk editor Kode VS di puncak dunia. Saya yakin akan hal ini - dan beberapa utas ini dan banyak komentar menceritakan kisah orang-orang yang "bertahan" pada produk Intellij mereka hanya karena kurangnya fitur ini. Saya tidak melihat bagaimana permintaan fitur dapat dimotivasi dengan lebih baik atau menjadi prioritas yang lebih jelas bagi pemilik/pengembang produk. Adakah berita tentang pemikiran Anda (pengembang, manajer tentang kode vs) tentang ini?

Fakta bahwa beberapa orang menyinggung seberapa dekat fitur yang sudah diterapkan membawa Kode VS ke hasil yang diinginkan, hanya memberi tahu saya bahwa mengimplementasikan ini sepenuhnya seharusnya tidak terlalu menuntut, jika sebagian besar pekerjaan sudah selesai.

Inilah tepatnya mengapa saya masih menggunakan Meld sebagai mergetool saya

Inilah tepatnya mengapa saya masih menggunakan Meld sebagai mergetool saya

Penggabungan luhur jauh lebih baik daripada perpaduan

Inilah tepatnya mengapa saya masih menggunakan Meld sebagai mergetool saya

Penggabungan luhur jauh lebih baik daripada perpaduan

Saya setuju, meskipun saya tidak berpikir ini adalah tempat untuk membahas alat gabungan apa yang terbaik di luar sana.

Apakah setidaknya mungkin untuk menunjukkan DASAR umum untuk perubahan Saat Ini dan Masuk?

@ackvf ya, Anda bisa dengan perbedaan tiga arah

Jadi, apa yang baru?

Tunggu juga, siapa pun tolong perhatikan saya saat tersedia

menunggu sama ... memiliki alat itu akan luar biasa

mungkin saya harus mendapatkan IntelliJ juga :)

+1 di sini, sekarang satu-satunya alasan saya menggunakan webstorm!
+1
menunggu sama ... memiliki alat itu akan luar biasa
mungkin saya harus mendapatkan IntelliJ juga :)

Harap berhenti mengirim spam ke semua pelanggan tiket ini dengan pesan yang tidak terkait.

Lihat ini https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph#review -details . Saya pikir ekstensi ini hampir memiliki fitur yang sama seperti di Webstorm IDE.

Ini adalah alasan utama saya tidak menggunakan vscode sebagai editor utama saya. Akan sangat bagus untuk melihat ini ditambahkan karena integrasi dan penggabungan git bawaan jauh lebih membantu di WebStorm. Akan sangat bagus untuk melihat ini ditambahkan.

Aku butuh ini dalam hidupku.

Tidak ada berita tentang fitur ini? atau bahkan sebuah plugin baik-baik saja :D ??

vscode bagus tapi memang masih menggunakan alat penggabungan intellij hanya untuk itu ..)

Semua berita yang kami miliki adalah Peta Jalan 2020 yang menyebutkan "dukungan penggabungan penuh (3 arah)": https://github.com/microsoft/vscode/wiki/Roadmap#scm

Oh man! kehilangan besar dari VSCode. Saya bertanya-tanya bagaimana pengembang bertahan tanpa fitur ini. Saya akan menggunakan Webstorm untuk ini

Memeriksa ekstensi Git Graph untuk Visual Studio Code tetapi masih bukan fiturnya. Saya menggunakan vscode untuk semua kecuali menggabungkan versi selektif dengan pycharm.

_Still_ menggunakan IntelliJ untuk penggabungan. Juga panel komit, tempat kita dapat memilih komit mana dari file yang sama untuk disimpan. dll

Saya membuat permintaan ini 3 tahun yang lalu :)

Meskipun VSCode hebat, saya masih harus menggunakan Webstorm untuk tugas-tugas terkait Git :(

aku menunggunya

kok masih blm ada yg dukung? apakah ada plugin vscode yang memainkan peran yang sama di pasar?

@sshsu
Saya mungkin salah, tetapi saya pikir faktor pembatasnya adalah fitur editor yang hilang. Jika mungkin untuk menulis sebuah plugin, pasti sudah ada satu

Saya mungkin salah, tetapi saya pikir faktor pembatasnya adalah fitur editor yang hilang. Jika mungkin untuk menulis sebuah plugin, pasti sudah ada satu

Agak. Saya mulai menerapkan plugin gabungan di waktu luang saya dan satu-satunya hal yang saya temukan benar-benar hilang adalah https://github.com/microsoft/vscode/issues/85682

Namun, saya sangat berterima kasih atas ide vscode open source 😍 Jadi saya hanya akan senang dengan semua yang akan ditambahkan - mungkin kita bahkan akan melihat fitur ini tahun ini, karena ini adalah bagian dari peta jalan 2020 😍😍

Apakah fitur ini akan datang? Visual studio mainline memiliki penggabungan 3 arah di TFS

Anda mungkin ingin mencoba ekstensi baru saya VS Code sebagai Git Mergetool . Ini memiliki beberapa kekurangan karena kurangnya API tetapi saya belum menerima umpan balik negatif, kecuali dari saya sendiri. Tata letak empat panel yang diusulkan bahkan dapat memiliki beberapa keunggulan dibandingkan tata letak tiga kolom.

Itu belum ada di Marketplace, tetapi dapat diinstal secara manual. _Sekarang tersedia di Marketplace ._

Saya akan menghapus webstorm ketika saya mendapatkan fitur ini.

Sangat dibutuhkan :+1:

Ini akan menjadi fitur yang hebat <3

Sebagai solusi sementara gunakan alat online seperti https://editor.mergely.com

Saya punya komentar di sini dari beberapa tahun yang lalu mengatakan hal yang sama seperti yang lain, dan sementara saya pikir tampilan gabungan tiga cara alternatif akan luar biasa, saya sebenarnya lebih suka cara barebone ini sekarang karena ini benar-benar hanya kulit di atas teks yang diletakkan git di sana.

Apa yang ingin saya katakan bahwa ini tidak boleh menjadi "pemblokir" bagi siapa pun yang menggunakan VSCode. Cobalah daripada kembali ke IDE IDEA untuk interaksi git. (Satu-satunya ekstensi yang saya rekomendasikan adalah Git Graph)

Apakah halaman ini membantu?
0 / 5 - 0 peringkat