Vscode: Git: استخدم VS Code كمحرر دمج

تم إنشاؤها على ٢٥ أبريل ٢٠١٦  ·  96تعليقات  ·  مصدر: microsoft/vscode

قدم 1.0.0 القدرة على استخدام VS Code كأداة git difftool. خطوط .gitconfig العالمية ذات الصلة هي كما يلي:

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

كيف يمكنني استخدام VS Code كأداة git Mergetool ؟

الحجج ذات الصلة التي يحتاج إلى قبولها ، كما أعتقد ، هي $LOCAL و $REMOTE و $BASE و $MERGED .

feature-request git

التعليق الأكثر فائدة

لن نحصل عليه بأي طريقة أخرى. 😉

ال 96 كومينتر

غير معتمدة حتى الآن.

هل يتم تضمين هذه الميزة في التكرار التالي بأي فرصة؟

ربما لا ، هذا مسعى كبير ، حيث يجب تنفيذ واجهة مستخدم الدمج.

هل هناك أي خطة لدمج واجهة المستخدم لدعم الدمج ثلاثي الاتجاهات؟ (على سبيل المثال ، تغيير أ ، تغيير ب ، سلف مشترك)

لن نحصل عليه بأي طريقة أخرى. 😉

لا يمكن التصويت لصالح هذا واحد بما فيه الكفاية. هذا هو السيناريو الأفضل بالنسبة لي للعودة إلى محرر / IDE مختلف ( سعال * خنزير ذاكرة Webstorm * سعال ) :)

إذا كان ذلك ممكنًا ، فسيكون هذا بمثابة هبة من السماء ، وذلك لعدة أسباب:

  1. على الرغم من أن Meld وظيفية ، إلا أنها تفتقر بشدة إلى الوظائف فيما يتعلق بربط المفاتيح القابلة للتكوين وتسليط الضوء على الألوان ، وهي حقًا بطيئة في البدء على جهاز Windows الخاص بي ، حتى عند تثبيتها على SSD.
  2. أرغب في أن يقبل محرر الدمج نفس .editorconfig / الإعدادات التي يمتلكها محرر النصوص الرئيسي ، وإذا كان vscode يملأ هذه الفجوة ، فسيكون رائعًا.
  3. على المستويات الأصغر ، يعد موضوع المحرر والإلمام بالواجهة ميزة إضافية - في بعض الأحيان أرتكب أنا أو فريقي أخطاء أثناء الدمج بسبب عدم وجود تمييز في بناء الجملة ، والذي على الرغم من صغر حجمه ، فقد تسبب في أخطاء كبيرة في أنظمة الإنتاج. وبعض هذه الأخطاء يصعب فهمها حتى تحدث. _أعتقد أنه ستكون هناك دائمًا مشكلات مماثلة مع أدوات mergetools_ ، ولكن ربما سيتم تقليلها إذا كان بإمكان المرء الاندماج في نفس البيئة التي يكتب فيها الشخص.

كما قلت ، meld هو _ok_ ، لكنه سيكون رائعًا إذا تم استخدام vscode يومًا ما في هذا السيناريو.

كان Visual Studio دائمًا هو دمج الكود المفضل لدي. أحب أن أرى هذه الميزة!

لا توجد مشكلة في استخدام أداة git mergetool الأخرى ، لكنني أرغب حقًا في رؤية واجهة مستخدم دمج خاصة قريبًا !!

😐 ميه.

أتوقع هذه الميزات في IDEs ثقيل الوزن. في فئة vscode للمحررين خفيفي الوزن (حيث أعتبر الذرة ، السامية ، إلخ) لا أفعل. بالنسبة للأنشطة المتعلقة بـ git ، فإنني أفضل وجود محطة و vim لحل النزاعات. يحتوي حشد واجهة المستخدم الرسومية بالفعل على أحادي المهام مثل meld و diffmerge و kaleidoscope وما إلى ذلك.

kumarharsh هذه نقطة جيدة حول التعليقات الفورية (على سبيل المثال ؛ الفحص.) الذهاب إلى المسار vim أعلاه ، أفترض أنه يمكنك تعيين محرر git الخارجي الافتراضي على vscode ... قد يكون من الصعب توفير سياق لعملية الفحص الخاصة بالمشروع / قواعد بناء الجملة / الخ.

+1

هل يمكن تنفيذ هذه الميزة كامتداد لـ vscode؟ أو أي تحويلة موجود موصى به.

لا أعتقد ذلك ، حيث يمكنني رؤية الامتدادات غير مسموح لها بإنشاء ميزات واجهة المستخدم

Enviado do meu telefone Windows 10

دي: تانك سوي
Enviado: quarta-feira ، 7 dezembro de 2016 10:41
الفقرة: Microsoft / vscode
نسخة إلى: هربرت بيمنتل ؛ تعليق
Assunto: Re: [Microsoft / vscode] استخدام VS Code كأداة git Mergetool (# 5770)

هل يمكن تنفيذ هذه الميزة كامتداد لـ vscode؟ أو أي تحويلة موجود موصى به.
-
أنت تتلقى هذا لأنك علقت.
قم بالرد على هذه الرسالة الإلكترونية مباشرةً ، أو اعرضها على GitHub ، أو قم بكتم صوت الموضوع.

يمكن أن يوفر المكون الإضافي ميزات واجهة المستخدم: انظر إلى Git History. إنه يعرض طريقة عرض ويب ، والتي "من المحتمل" استخدامها كأداة دمج. لكنني أعتقد أنه سيكون من الصعب جدًا على المكون الإضافي القيام بذلك دون مستوى معين من الدعم بواسطة vscode نفسه.

المشكلة الرئيسية في أدوات المشكال ، والخلط ، وما إلى ذلك هي في حالة الاستخدام النموذجية للغاية:
تحرير النتيجة أثناء الدمج. مثل ، كما تعلم: اقبل هذا السطر من اليسار ، واقبل هذا السطر من اليمين ، وأضف أيضًا هذا الإصلاح الصغير حتى يتمكن كلاهما من العمل معًا.
كابتن واضح يبلغ: أدوات الدمج جيدة في الدمج: د
لكن التحرير باستخدام ie meld أمر مؤلم تمامًا خاصة عندما تعتاد على أداة يدوية مثل vscode. لهذا السبب يريد معظم المطورين دمج أداة الدمج في محررهم.

السماح لنا برؤية الفرق (الميزات المفيدة بشكل لا يصدق في المحرر) ولكن عدم إعطائنا طريقة للدمج أمر محبط للغاية

سيكون امتداد VS Code مثاليًا لدمج التعارضات.

+1

Git جنبًا إلى جنب محلل الصراع لا يعمل في أحدث كود VS.

الإصدار 1.10.2
الالتزام 8076a19fdcab7e1fc1707952d652f0bb6c6db331
التاريخ 2017-03-08T14: 02: 52.799Z
شل 1.4.6
العارض 53.0.2785.143.3
العقدة 6.5.0

أود حقًا أن أكون قادرًا على تحرير التعليمات البرمجية أثناء الدمج أثناء استخدام محرر الكود الخاص بي (vscode) ، بدلاً من الاضطرار إلى استخدام محرر آخر.

هذه ميزة "يجب توفرها" لتتمكن من الانتقال تمامًا إلى VSCode عندما تعمل في مشروعات التطوير السريع. تعد أداة الدمج المتكاملة بمثابة موفر للوقت ضخم بدون أن تكون ميزة git غير مكتملة. آمل أن نتمكن من الحصول على هذا قريبا.

+1

أحتاج Mergetool

يمكنني أن أوصي بامتداد "دمج أفضل" في الوقت الحالي ...

نعم ، هذا ما أستخدمه الآن ، ولا بأس به!

ومن ثم ، أعتقد أن هذه القضية يمكن أن تغلق؟
يوم الأحد ، 30 أبريل 2017 الساعة 4:58 مساءً ، علي روبرتسون [email protected]
كتب:

يمكنني أن أوصي بامتداد "دمج أفضل" في الوقت الحالي ...

-
أنت تتلقى هذا لأنك علقت.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/Microsoft/vscode/issues/5770#issuecomment-298222866 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AAU8Q2JVio1PlIvEb8S1zg2cf5tzxxciks5r1Fs9gaJpZM4IPCMA
.

>

مرسل من iPhone

alirobe أفضل دمج ليس لديه ثلاث نوافذ مثل meld
يبدو أن vsc لديها ثلاث نوافذ فقط ، ولكن لا أحد يقوم بتطبيق أداة دمج؟

مرحبًا nchammas و @ joaomoreno وجميع الأشخاص المهتمين الآخرين ،
أقوم اليوم بإعداد VS Code كـ git mergetool الخاص بي وشرحته على StackOverflow: كيفية استخدام Visual Studio Code كمحرر افتراضي لـ Git MergeTool (يشرحها بمزيد من التفاصيل ، لذا تحقق من ذلك!).

ها هي نسخة السرعة:
يمكنك تحرير .gitconfig مباشرة ولصقه

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

أو من سطر الأوامر أدخل

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

ثم استخدم git mergetool من داخل دليل git مع تعارض الدمج ، و ta-da 😄!

يجب أن ترى سطرًا يقول قبول التغيير الحالي | قبول كلا التغييرين |

فقط تأكد من حفظ ملفك قبل إغلاق VS Code!

يعجبني أنه يحتوي على العدسة البرمجية "قبول التغيير الحالي | قبول التغيير الوارد | قبول كلا التغييرين | مقارنة التغييرات" ، وأنا أحب الفرق جنبًا إلى جنب عند النقر فوق "مقارنة التغييرات" ، ولكنه لا يسمح لي بتحرير أي شيء بالتوازي مع اللوحة الثالثة المدمجة التي تراها في أداة دمج Visual Studio أو أدوات أخرى مثل Meld أو Winmerge أو Beyond Compare. أود أن أرى تلك اللوحة الثالثة في مقارنة جنبًا إلى جنب حتى أتمكن من القيام بمزيد من الدمج المخصص.

jaxspades ، FWIW ، ما أفعله عندما أحتاج إلى إجراء مخصص هو قبول كلاهما ثم التحرير. لقد نجح هذا الأمر جيدًا بما يكفي حتى الآن ، على الرغم من عدم وجود عمليات دمج شعر خاصة باستخدام هذا حتى الآن.

يعمل Visual Studio "الحقيقي" كأداة دمج رائعة ، FWIW. أرغب في رؤية هذه الميزة في VS Code.

+1 لـ zneak

التيار الذي يأخذ هذه الكتلة أو تلك الكتلة أمر مروع ويضيع الكثير من الوقت ، وإعادة البناء ، والأخطاء. أحب أن أمتلك القدرة على الاختيار سطراً بسطر مثل VS.

تعتبر الإيجابيات الكاذبة في تغييرات الملف مشكلة أيضًا عند الارتداد حول الفروع.

أنا أحب الأداة ، هذه المنطقة غير متوفرة.

مرحبا
في VScode يجب أن تكون أداة دمج افتراضية.
لدينا أداة فرق رائعة ، ويمكن تقسيم vsc إلى ثلاثة أجزاء ، لذلك .. تحتاج فقط إلى تنفيذها.
يمكننا تنفيذه عن طريق المجتمع باستخدام ext ، لكن لم نسمح بتغيير واجهة المستخدم. نقوم بإنشاء أزرار مخصصة في واجهة المستخدم ، لذا ساعدنا

أستخدم kdiff3 على نظامي التشغيل Windows و Mac كقيمة افتراضية git mergetool . إنه يحتوي على 4 طرق لدمج 3 اتجاهات ، ودقة تلقائية جيدة جدًا ، وهو مجاني ومتعدد الأنظمة الأساسية.

في مايو ، تم دمج دمج أفضل. أدى هذا إلى حل المشكلة بشكل فعال عن طريق إضافة واجهة مستخدم مدمجة.
https://code.visualstudio.com/updates/v1_13

قدم Ericop إرشادات حول تكوين vscode لاستخدام واجهة "دمج أفضل" كأداة Mergetool أعلاه.

لذلك يجب إغلاق هذه القضية وحلها.

alirobe لا أعتقد أن هذا الدمج جيد ، ربما يبدو وكأنه مزيج ، ثلاثة محررين يعرضون محليًا ، أساسيًا ، عن بعد

zjjott مفهومة ، أود أن أقترح فتح مشكلة جديدة تطلب تحسينًا معينًا للميزة الحالية ، والإشارة إلى ذلك هنا.

هذا هو أحد أفضل الإضافات التي استخدمتها على الإطلاق https://marketplace.visualstudio.com/items؟itemName=letmaik.git-tree-compare#review -details

joaomoreno متابعة لتعليقك ، هل سنرى دمجًا ثلاثيًا في المستقبل؟

يقومzjjott kdiff3 بعمل هذا جيدًا (طرق العرض المحلية والقاعدة والبعيدة والنتيجة). لست متأكدًا حقًا من سبب احتياج / رغبة الأشخاص في وظائف إضافية في vscode عندما تكون هذه الأداة الحالية عبر الأنظمة الأساسية رائعة بالفعل.

RoyTinker لأنني عادة لا أفعل فقط "دمج". يجب عليك تحرير شيء ما (عند حدوث بعض التعارضات) وعندما تقوم بتحرير شيء ما تريده أفضل محرر على الإطلاق ، وليس شيئًا يمتلكه kdiff3 (لا بأس به ولكن vscode أفضل بكثير)

لماذا لا تتحدث مع eamodio وتستورد عمله الرائع على GitLens for VSCode ؟
أنا مسرور جدًا به ، خاصة عند استعراض ملف متعارض ، عندما يكون لدي تغييرات من كلا الدفقين في عرض واحد ، ويمكنني قبول التغيير الحالي ، أو التغيير الوارد ، أو كلاهما أو حتى تحريرهما دفعة واحدة.
إنه قريب جدًا من الوضع المثالي ، في بعض الأحيان فقط يتماشى مع نهايات الخطوط على Windows ، ثم لا يوجد سوى Visual Studio كامل للإنقاذ.
خلاف ذلك ، أفضل تجربة git GUI من IDE حصلت عليها على الإطلاق.

@ m-wilczynski بينما أقدر حقًا الكلمات اللطيفة - دعم تعارض الدمج ليس جزءًا من GitLens - إنه مدمج مباشرةً في vscode نفسه (كان في الأصل امتدادًا آخر تم إدخاله إلى النواة)

eamodio - sry ، لا أعرف. 😄 لا يغير الحقيقة ، بالنسبة لي (ومعظم زملائي الذين يستخدمون VSCode @ work بسبب توصيتي) ، فإن VS Code عديم الفائدة للعمل مع git بدون GitLens.
مع GitLens ، أنا حريص على فتح VSCode حتى لو لم أكن أقوم بتشفيرها في أجهزة الصراف الآلي (غالبًا ما أستخدمها في TypeScript و JavaScript) فقط لأرى بوضوح ما يجري في هذا الدمج.
الأمر كله يتعلق بتجربة المستخدم.
حتى لو كان VSCode قد تم تضمينه بالكامل وتحتاج فقط إلى تصور ذلك بشكل صحيح - فأنت المسؤول عن تجربة المستخدم الرائعة الخاصة بي. 😉

@ m- wilczynski بتواضع جدا. شكرا لك - أقدر كثيرا الكلمات الرقيقة!

سيأتي بعد عامين ... وما زالت هذه واحدة من أكثر الميزات المفقودة وضوحًا في هذه المرحلة. أود أن أجعل VSCode الخاص بي Mergetool.

@ tracker1 تم حل هذه المشكلة تقنيًا: https://github.com/Microsoft/vscode/issues/5770#issuecomment -308533904. لا أعرف لماذا لم يتم إغلاقه بعد.

joaomoreno هل يمكن إغلاق هذه القضية؟

أعتقد أن السبب الذي يجعله لا يزال مفتوحًا (وأيضًا لماذا ما زلت أشاهده) هو أن الناس يبحثون عن إمكانية دمج ثلاثية جنبًا إلى جنب في vscode. على سبيل المثال ، أستخدم حاليًا meld ( مثال لقطة شاشة ).

نعم ولدينا سيناريوهات عندما يكون لدى git تعارض (إعادة تسمية / إعادة تسمية) ويظهر ملف MERGED فارغًا ولا يزال هناك تعديل ضروري مما يجعل الأمر diff $ LOCAL $ REMOTE ، أنا باستخدام cmd أدناه لهذه المشكلة

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

ولكن يمكن تقسيمها إلى قضايا منفصلة - المهمة الأساسية لهذه المشكلة بالذات هي IMO.

ربما ما هو معروض في # 5770 يعمل بشكل جيد مع التغييرات الصغيرة ، ومع ذلك فهي تجربة سيئة للتغييرات الكبيرة وتحتاج حقًا إلى تجربة من 3 أو 4 أجزاء للقيام بذلك بشكل صحيح.

أستخدم حاليًا Visual Studio (مناسب) كأداة MERGE / DIFF و MELD عندما لا يتم تثبيت Visual Studio (المناسب). ينجز هؤلاء المهمة ، ولكن سيكون من الرائع أن تكون قادرًا على تحرير الكود باستخدام نفس الأداة التي تم استخدامها لكتابته في القصر الأول.

إذا أرادوا إغلاقه ، فلا بأس ، لأنه _يمكن_ استخدامه كأداة دمج ، ولكن بعد ذلك يجب أن يكون لدينا مشكلة تم إنشاؤها على الفور لالتقاط قدرة التباين الثلاثية جنبًا إلى جنب.

الآن أصبح لدى vscode خيار أن يكون لديك أكثر من نافذتين مرئيتين. (اعتبارًا من الإصدار 1.24.0). لم أحاول دمج نفسي بثلاث طرق ، لكن من المؤكد أنه سيكون احتمالًا الآن

هذا هو أكبر عيب في هذا المحرر المذهل بالتأكيد

الدمج ثلاثي الاتجاهات أمر لا بد منه. الطريقة الحالية لأداء دمج git بدائية جدًا عند الاستخدام.

الرجاء إضافة دمج ثلاثي

michaelKurowski نعم مؤخرًا سمعت زملائي يشكون من إمكانات دمج VScode ، لكنهم لم يتعمقوا في التفاصيل. لذلك باختصار ، إذا كان من الممكن تحسين هذا الجانب ، فسيكون مفيدًا لـ vscode.

الرجاء إضافة دمج ثلاثي

لست متأكدًا من أنني أفهم تمامًا. يبدو أن الأشخاص هنا يطلبون دمجًا ثلاثي الاتجاهات ، ولكن يبدو أن VSCode لديه بالفعل دمج ثلاثي ، كما في لقطة الشاشة هذه.

image

ومع ذلك ، كما أفهمها ، لا توجد طريقة لاستدعاء الدمج ثلاثي الاتجاهات من سطر الأوامر. كما هو مذكور في النشر الأولي ، قد يتضمن ذلك طريقة للاستدعاء بأربع وسيطات في سطر الأوامر: الملف الأساسي ، والنسختان المنقحتان المختلفتان ، والمسار لكتابة النتيجة النهائية المدمجة.

في حالتي ، أرغب في استخدام VSCode كأداة دمج مع Perforce وليس Git ، ولكن بافتراض قبول VSCode لأسماء الملفات الأربعة هذه في سطر الأوامر ، فلن يكون من المهم حقًا برنامج التحكم بالمصادر الذي تستخدمه ، مفهوم الدمج هو نفسه.

في حالة تسمية هذه المشكلة بشيء مثل "إضافة خيار سطر أوامر لاستدعاء وظيفة الدمج ثلاثية الاتجاهات الحالية" ، أو هل هناك شيء أسيء فهمه حول تنفيذ الدمج الحالي في VSCode ، إلى جانب عدم استخدام سطر الأوامر ، فهذا يجعله غير مناسب لدمج جيت ثلاثي؟

لست متأكدًا من أنني أفهم تمامًا. يبدو أن الأشخاص هنا يطلبون دمجًا ثلاثي الاتجاهات ، ولكن يبدو أن VSCode لديه بالفعل دمج ثلاثي ، كما في لقطة الشاشة هذه.

image

ومع ذلك ، كما أفهمها ، لا توجد طريقة لاستدعاء الدمج ثلاثي الاتجاهات من سطر الأوامر. كما هو مذكور في النشر الأولي ، قد يتضمن ذلك طريقة للاستدعاء بأربع وسيطات في سطر الأوامر: الملف الأساسي ، والنسختان المنقحتان المختلفتان ، والمسار لكتابة النتيجة النهائية المدمجة.

في حالتي ، أرغب في استخدام VSCode كأداة دمج مع Perforce وليس Git ، ولكن بافتراض قبول VSCode لأسماء الملفات الأربعة هذه في سطر الأوامر ، فلن يكون من المهم حقًا برنامج التحكم بالمصادر الذي تستخدمه ، مفهوم الدمج هو نفسه.

في حالة تسمية هذه المشكلة بشيء مثل "إضافة خيار سطر أوامر لاستدعاء وظيفة الدمج ثلاثية الاتجاهات الحالية" ، أو هل هناك شيء أسيء فهمه حول تنفيذ الدمج الحالي في VSCode ، إلى جانب عدم استخدام سطر الأوامر ، فهذا يجعله غير مناسب لدمج جيت ثلاثي؟

أعتقد أنهم يرغبون في رؤية شيء مثل هذا:
https://user-images.githubusercontent.com/1470309/32250860-c677e4ce-bec0-11e7-82b5-0196d981cc28.png

تضمين التغريدة ربما هناك مشكلتان منفصلتان إذن ،

  • تصور عمليات الدمج ثلاثية الاتجاهات. (يعرض التطبيق الحالي عمليات الدمج المضمنة ، بينما يطلب بعض الأشخاص عرضًا من ثلاثة أعمدة)
  • يتم استدعاء القدرة على استخدام VSCode كأداة دمج ثلاثية الاتجاهات من سطر الأوامر. (والذي سيتطلب خيار سطر أوامر مشابهًا لخيار --diff file1 file2 ولكن مع دعم الدمج ، على سبيل المثال --merge basefile revision1file revision2file mergedfile

انطباعي هو أن الملصق الأصلي كان يطلب شيئًا يشبه الأخير (والذي يبدو سهل التنفيذ باستخدام التصور الحالي) في حين أن طلب تصور ثلاثي الأعمدة للدمج هو طلب معقد ومفتوح. ربما يكون الخلط بين هذين الطلبين المنفصلين يتسبب في إثارة هذه المشكلة؟

حسنًا ، شكرًا للتوضيح uglycoyote & michaelKurowski ، لذا في رأيك هل يجب علينا إنشاء إصدار / طلب ميزة جديد مخصص لثلاثة أعمدة عرض مختلف؟

سيكون من الجيد أن يعلق joaomoreno على سؤال JeanPerriault واقتراحي حول ما إذا كان يجب تقسيم هذه المشكلة إلى قسمين ، كما يبدو أنه عضو في فريق VSCode. ولكن بناءً على ردوده السابقة حول "يجب تنفيذ واجهة مستخدم مدمجة" و "لن نحصل عليها بأي طريقة أخرى (بخلاف الدمج ثلاثي الاتجاهات)" ، يبدو أنه يرى كلتا المشكلتين اللتين أذكرهما كشيء واحد.

joaomoreno ، أليس من المنطقي أولاً ، على المدى القصير ، تنفيذ خيار سطر أوامر لفضح سلوك الدمج الحالي؟ أنا شخصياً سأكون على ما يرام باستخدام الدمج المضمن الحالي ولا أجد عرضًا مكونًا من 3 أعمدة ضروريًا (على الرغم من أنه قد يكون جيدًا). ولكن إذا كان ربط الدمج الحالي بسطر الأوامر مهمة سهلة ، فأنا لا أريد أن يتوقف إلى أجل غير مسمى بسبب عدم وجود إرادة لفريق VSCode لتنفيذ تصور مربي للدمج ثلاثي الاتجاهات.

نعم ، أعطنا عرض / محرر دمج مرئي مثل http://meldmerge.org/

WinMerge يعمل مثل رئيس
after-3way-merge

نعم ، أعطنا عرض / محرر دمج مرئي مثل http://meldmerge.org/

أستخدم Meld وبينما أرغب في رؤية VSCode يفعل نفس الشيء ، لا أرى مشكلة في استخدام Meld لهذا ، بصراحة.

lig فلماذا يجب علي استخدام vscode للتحرير؟ يمكنني فقط استخدام المفكرة

josser فقط استخدم أي أداة تناسب مهمتك الحالية بشكل أفضل. أعتقد أن هذه الحرب المقدسة خارجة عن المألوف بالمناسبة.

lig أريد فقط أن أشرح لماذا يطلب الناس دمج أداة الدمج في vscode
لأنهم يحبون vscode ولا يحبون الأدوات الأخرى. الدمج هو أيضًا تحرير. وتريد تحرير الملفات في محررك الرائع حتى لو كان التحرير جزءًا من عملية الدمج

ألق نظرة على هذا التعليق: https://github.com/Microsoft/vscode/issues/5770#issuecomment -265497516

josser كما هو مذكور سابقًا في هذا الموضوع عدة مرات ، يمكن إجراء الطلب الأصلي عن طريق إعداد git لاستخدام VSCode كأداة Mergetool وتشغيل git mergetool أثناء التعارضات ، مما يفتح تدفق دمج VSCode الذي يعمل بشكل جيد بالنسبة لي وللمستخدمين الآخرين.

إذا كنت ترغب في رؤية واجهة تشبه Meld عند استخدام VSCode كأداة دمج ، _يرجى إنشاء طلب ميزة منفصل في مشكلة منفصلة_ حتى نتمكن من إيقاف إرسال رسائل غير مرغوب فيها إلى سلسلة الرسائل هذه لما هو في الأساس _طلب ميزة غير مرتبط_.

lig أريد فقط أن أشرح لماذا يطلب الناس دمج أداة الدمج في vscode
لأنهم يحبون vscode ولا يحبون الأدوات الأخرى. الدمج هو أيضًا تحرير. وتريد تحرير الملفات في محررك الرائع حتى لو كان التحرير جزءًا من عملية الدمج

الق نظرة على هذا التعليق: # 5770 (تعليق)

سهل وسهل! هذا بالضبط ما يريده الناس. لماذا هذا الشيء صعب للفهم ؟ أبدأ فرقًا ويتم دمج الخطوة التالية. إنها تنتمي معًا وأي فصل هو تمامًا ضد سير عمل جيد ويكلف الوقت فقط. أرغب في استخدام محرر كود الاستوديو المرئي وليس أداة خارجية.

أود أيضًا الحصول على كود VS ليكون قابلاً للاستخدام كمحرر دمج ثلاثي. قبول التغييرات أو رفضها من اليسار أو من اليمين وتعديل النتيجة قبل تنفيذ التغييرات. سيؤدي هذا إلى تحسين VSCode كثيرًا. ليس من المنطقي حقًا استخدام العديد من ميزات git القوية باستثناء واحدة من الميزات المهمة: الدمج.

اجعلها مثل JetBrains. (https://github.com/Microsoft/vscode/issues/37350)

وبصراحة ، يبدو الدمج المختلط قبيحًا جدًا. هذا من عام 2012 ، أليس كذلك؟ ويبدو أنه من عام 2003. لماذا يجب أن أسافر عبر الزمن في كل مرة أريد فيها الدمج ثلاثي الاتجاهات؟

تم إنشاء إصدار جديد للحصول على طرق عرض الدمج ثلاثية الاتجاهات: https://github.com/Microsoft/vscode/issues/37350

استغرق شخص ما الوقت الكافي لفتح مشكلة منفصلة لواجهة دمج ثلاثية (كما هو موصى به هنا) كاملة مع نموذج بالحجم الطبيعي الجميل ، فقط لإغلاقها على الفور. = (

mofahead يبدو أن الذي أنشأته كان نسخة مكررة من # 37350 .. على الرغم من أن الإغلاق ذكر هذه المشكلة.

سيكون من الجيد تحسين https://github.com/Microsoft/vscode/issues/8226 قبل تمكينه كمحرر دمج

أهلا بالجميع!

يمكنك اتباع البرنامج التعليمي لتكوين VSCode باعتباره git.mergetool رسمي:

https://stackoverflow.com/a/44549734

يبدو أن هناك بعض الالتباس هنا مع ذكر الأشخاص لجوانب واجهة المستخدم ووظائف الدمج. بالنسبة لي ، فإن أكبر قاتل للإنتاجية اليوم في VSCode هو حقيقة أن الدمج يعمل عموديًا بدلاً من جنبًا إلى جنب.

أنا بصراحة لا أفهم كيف يمكن اعتبار ذلك عن بُعد واجهة مستخدم مقبولة لهذه الوظيفة. بدون فائدة.

بالنسبة لأولئك الذين لديهم جهاز Mac ، إليك حل بديل.

  • تثبيت Diffmerge
  • قم بتثبيت VSCode Git Diff and Merge Tool
  • تحرير ~/.gitconfig
    يضيف
[diff]
        tool = diffmerge
[difftool "diffmerge"]
        cmd = diffmerge \"$LOCAL\" \"$REMOTE\"
[merge]
        tool = diffmerge
[mergetool "diffmerge"]
        cmd = diffmerge -merge \"$LOCAL\" \"$BASE\" \"$REMOTE\"
        trustexitcode = true
        keepbackup = false
  • في VSCode ، انتقل إلى Source Control ، وانقر بزر الماوس الأيمن فوق الملف وحدد Launch merge tool

الشيء الوحيد هو أنه لا يمكنني إعادة دمج الملفات تلقائيًا إلى VSCode في جميع السيناريوهات.

تم استخدام diffmerge لسنوات عديدة على نظامي التشغيل Mac و Windows. تحولت إلى Sublime Merge منذ شهرين. أنا حقا، حقا أحب ذلك. إنه سريع ، إنه حديث. أستخدمه على Windows أيضًا بدلاً من Visual Studio عندما أحتاج إلى العمل في تلك البيئة.

رجوع إلى emacs لمقارنة ودمج الدلائل التي لا تخضع للتحكم في VCS :(

يحتوي VS Code على ملحق L13D لطيف لمقارنة الدلائل (على سبيل المثال ، أدلة التكوين بين مصدر وجهاز كمبيوتر dest) ، ولكن لا يمكنك الدمج بدون git أو أي عنصر تحكم آخر في الإصدار.

لذا ، فإن emacs ' diff-directories هو عمل جلسة ثم دمجها فيما أريد بشكل انتقائي ، لهذه المهمة. أحاول ترك emacs ، لكني ما زلت أجد الأشياء العرضية التي يمكن أن تفعلها والتي لا تستطيع Code القيام بها.

يحتوي VS Code على ملحق L13D لطيف لمقارنة الدلائل (على سبيل المثال ، أدلة التكوين بين مصدر وجهاز كمبيوتر dest) ، ولكن لا يمكنك الدمج بدون git أو أي عنصر تحكم آخر في الإصدار.

هل لديك رابط إلى L13D؟

christarczon يسمى البرنامج المساعد L13 Diff - https://marketplace.visualstudio.com/items؟itemName=L13RARY.l13-diff

لست متأكدًا من أنني أفهم تمامًا. يبدو أن الأشخاص هنا يطلبون دمجًا ثلاثي الاتجاهات ، ولكن يبدو أن VSCode لديه بالفعل دمج ثلاثي ، كما في لقطة الشاشة هذه.

image

يعمل هذا مع تعارضات دمج تافهة تمامًا ، لكنني أقابل أشخاصًا في الشركات الذين يستخدمون VSCode فقط وتستند فكرتهم الكاملة عن "تعارضات الدمج" إلى فرق VSCode المبسط بشكل كبير. وعندما يحصلون على تعارض دمج غير تافه ، فإنهم دائمًا "يختارون جانبًا واحدًا" (بشكل أساسي يسقطون تغييرات شخص ما في بضعة أسطر بدلاً من دمجها) مرة واحدة على الأقل.

نحتاج إلى واجهة تشبه الاختلاط في VSCode ليس فقط لأنها رائعة ، ولكن لأنه بدونها نشجع الممارسات السيئة في المطورين الأصغر سنًا.

إنها ليست مجرد "مطورين أصغر سنا". لقد كنت أقوم بالترميز لمدة 20 عامًا وكان الدمج المكون من 3 أجزاء أفضل تمامًا. سترتكب أخطاءً في وجود فرق مضمن كان من الممكن أن تكتشفه إذا كان بإمكانك رؤية كل إصدار من الكود بالكامل في وقت واحد.

أود أن أرى ثلاثة أجزاء بها فرق مقابل القاعدة تلتزم في كل جزء. من شأن ذلك أن يجعل من السهل معرفة ما الذي تغير وأين وما هي التغييرات التي يجب الاحتفاظ بها وما لم تتغير.

lig أريد فقط أن أشرح لماذا يطلب الناس دمج أداة الدمج في vscode
لأنهم يحبون vscode ولا يحبون الأدوات الأخرى. الدمج هو أيضًا تحرير. وتريد تحرير الملفات في محررك الرائع حتى لو كان التحرير جزءًا من عملية الدمج

لأن VSCode هو أكثر من مجرد محرر نصوص مجيد. إنه IDE مع linter و intellisense. حتى أنه يوزع كود Python الخاص بي للمتغيرات غير المحددة. وأجد أنه من المفيد جدًا عند الدمج أن أتمكن من رؤية ، في الوقت الفعلي ، التلميحات التي تشير إلى أن linter + intellisense + إلخ. تقدم عندما أختار الأسطر التي أقبلها.

استخدام أداة دمج "غبية" يجعل من الصعب العثور على أخطاء في الدمج وحتى تصحيحها بعد الدمج والعودة إلى VSC.

هذا واحد من 2 أو 3 أشياء تمنعني من العودة إلى VS Code

هذا في خارطة الطريق لعام 2020-

تقديم دعم دمج كامل (3 اتجاهات)

راجع- https://github.com/microsoft/vscode/wiki/Roadmap#scm

لقد أصدرت للتو ملحق VS Code الخاص بي باسم Git Mergetool . إنها ليست غنية بالميزات مثل برامج تحرير تعارض الدمج الأخرى ولكن يجب أن تكون قابلة للاستخدام. بشكل افتراضي ، قمت بتكوين تخطيط من 4 أجزاء وجدته عمليًا أكثر من التخطيط الكلاسيكي المكون من 3 أعمدة. احترس من ردود الفعل!

إنه غير متوفر في السوق حتى الآن ، لذا فأنت بحاجة إلى تنزيله من GitHub وتثبيته يدويًا. في السوق ._

مرحبا zawys ،

هل يدعم المقارنة بين 3 أو 4 مجلدات سأقوم بدمج ملفات oprhan؟

مرحبًا gusbemacbe ،

في حالته الحالية ، كان يُنظر إلى الامتداد بشكل أساسي على أنه أداة دمج ملفات "ثلاثية الاتجاهات" تتلاءم مع واجهة git mergetool . لا يزال هذا هو الهدف الأساسي. ومع ذلك ، فإنني أخطط لتوسيع الوظيفة بحيث لا يلزم تشغيل أي عملية git-mergetool لأن هذا البرنامج النصي الصغير يحتوي على بعض أوجه القصور في UX. بدلاً من ذلك ، أريد دمج الامتداد أكثر مع رمز VS.

في هذه العملية ، سأقوم باستنساخ بعض وظائف git-mergetool ، على سبيل المثال حل تعارضات الحذف ودمج الروابط الرمزية. لست متأكدًا إلى أي مدى يغطي ذلك حالة الاستخدام الخاصة بك. ربما يمكنني أيضًا إضافة ، على سبيل المثال ، أمر قبول كل الوارد في المجلد. الرجاء فتح قضية ل
التمديد لمزيد من المناقشة.

يمكن الآن العثور على الملحق الخاص بي في السوق .

يمكن الآن العثور على الملحق الخاص بي في السوق .

202010-04_0859_27__

InLaw تحتاج إلى تحديث رمز VS الخاص بك لاستخدام الامتداد. لمزيد من المناقشة ، يرجى إنشاء تقرير خطأ على موقع الإضافة .

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات