كيفية استخدام Visual Studio Code كمحرر افتراضي لـ Git




visual-studio-code (8)

أخبار جيدة! في وقت كتابة هذا التقرير ، تم بالفعل تنفيذ هذه الميزة في الإصدار 0.10.12 - من الداخل وتم تنفيذها من خلال 0.10.14 من الداخل . وبالتالي ، سنحصل عليها في الإصدار 1.0 من الإصدار VS Code .

مرجع التنفيذ: Implement -w / - wait arg command arg

عند استخدام git في سطر الأوامر ، أتساءل عما إذا كان من الممكن استخدام Visual Studio Code كمحرر افتراضي ، أي عند إنشاء تعليقات الالتزام ، والنظر إلى فرق من ملف من سطر الأوامر.

أدرك أنه لن يكون من الممكن استخدامه لإجراء الدمج (على الأقل في الدقيقة) ولكن لا أحد يعرف ما إذا كان من الممكن استخدامه للنظر في الفرق ، وإذا كان الأمر كذلك ، فما هي خيارات سطر الأوامر التي ستكون مطلوبة في ملف. gitconfig لجعل هذا يحدث؟

التحديث 1:

لقد حاولت اتباع نهج مشابه لما قمت به من أجل برنامج Notepad ++ في الماضي ، أي

#!/bin/sh

"c:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*"

وتستخدم:

#!/bin/sh

"C:\Users\gep13\AppData\Local\Code\app-0.1.0\Code.exe" "$*"

لكن هذا ينتج رسالة خطأ:

C:\temp\testrepo [master +1 ~0 -0]> git commit
[8660:0504/084217:ERROR:crash_reporter_win.cc(70)] Cannot initialize out-of-process crash handler
Aborting commit due to empty commit message.
C:\temp\testrepo [master +1 ~0 -0]>

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

تحديث 2:

لقد سمعت للتو من أحد المطورين الذين يعملون على VSCode. يبدو أن هذه الوظيفة غير مدعومة حاليًا :-(

https://twitter.com/IsidorN/status/595501573880553472

إذا كنت مهتمًا برؤية هذه الميزة تتم إضافتها ، فقد تحتاج إلى التفكير في إضافة أصواتك هنا:

http://visualstudio.uservoice.com/forums/293070-visual-studio-code/suggestions/7756482-support-git-configure-diff-and-merge-tools

التحديث 3:

لقد أبلغت بشكل موثوق أن هذه الميزة تم التقاطها بواسطة فريق VSCode ، لذلك أتطلع إلى إصدار مستقبلي يتضمنها.

التحديث 4:

بفضل @ f-boucheros التعليق أدناه ، تمكنت من تشغيل VS Code كمحرر افتراضي لتعليقات الالتزام ، rebase ، وما إلى ذلك. ما زلت أرغب في معرفة ما إذا كان من الممكن استخدامها كأداة فرق كذلك.

التحديث 5:

وفقًا للإجابة المقبولة للسؤال ، أصبح هذا ممكنًا الآن باستخدام إصدار التعليمات البرمجية V1.0.


تحتاج إلى استخدام الأمر:

git config --global core.editor "'C:\Program Files\Microsoft VS Code\code.exe' -n -w"

تأكد من أنك تستطيع بدء تشغيل المحرر الخاص بك من Git Bash

إذا كنت ترغب في استخدام Code.exe مع مسار قصير ، يمكنك القيام بذلك عن طريق إضافة السطر التالي إلى ملفك الشخصي .bash_profile:

alias vscode="C:/Program\ Files/Microsoft\ VS\ Code/Code.exe"

والآن ، يمكنك تسميته باستخدام أمر vscode فقط (أو أي شيء vscode )

بعض المعلومات الإضافية:

سيقوم برنامج الإعداد بإضافة رمز Visual Studio إلى٪ PATH٪ ، لذا يمكنك من "وحدة التحكم" كتابة "رمز" لفتح رمز VS على هذا المجلد. ستحتاج إلى إعادة تشغيل وحدة التحكم الخاصة بك بعد التثبيت حتى يصبح التغيير في متغير البيئة٪ PATH٪ ساري المفعول.


فتحت .gitconfig وعدلته بـ:

[9168:0504/160114:INFO:renderer_main.cc(212)] Renderer process started

فعلت ذلك بالنسبة لي (أنا على ويندوز 8).

ومع ذلك ، لاحظت أنه بعد تجربة git commit تعسفية git commit ذلك في وحدة التحكم في Git Bash ، أرى الرسالة التالية:

export EDITOR=code --wait

غير متأكد من تداعيات هذا.


في أحدث إصدار (الإصدار 1.0 ، تم إصداره في مارس 2016 ) ، أصبح بإمكانك الآن استخدام VS Code كأداة الالتزام / الفرق الافتراضية . مقتبسة من الوثائق:

  1. تأكد من أنك تستطيع تشغيل code --help من سطر الأوامر وستحصل على المساعدة.

    • إذا كنت لا ترى مساعدة ، يرجى اتباع الخطوات التالية:

      • Mac: حدد Shell Command: تثبيت أمر "Code" في المسار من لوحة الأوامر.

        • لوحة القيادة هي ما ينبثق عندما تضغط على shift + + P أثناء وجود كود VS. ( shift + ctrl + P في نظام التشغيل Windows)
      • Windows: تأكد من تحديد إضافة إلى PATH أثناء التثبيت.
      • Linux: تأكد من تثبيت Code عبر حزم .deb أو .rpm الجديدة.
  2. من سطر الأوامر ، قم بتشغيل git config --global core.editor "code --wait"

الآن يمكنك تشغيل git config --global -e واستخدام VS Code كمحرر لتكوين Git. أضف ما يلي لتمكين الدعم لاستخدام رمز VS كأداة فرق:

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

يعمل هذا على رفع خيار - --diff الجديد الذي يمكنك تمريره إلى رمز VS لمقارنة ملفين جنبًا إلى جنب.

للتلخيص ، فيما يلي بعض الأمثلة عن المكان الذي يمكنك فيه استخدام Git مع VS Code:

  • git rebase HEAD~3 -i يسمح بإعادة تفاعلي باستخدام VS Code
  • git commit يسمح باستخدام رمز VS لرسالة الالتزام
  • git add -p متبوعًا بـ e للإضافة التفاعلية
  • git difftool <commit>^ <commit> يسمح باستخدام VS Code كمحرر فرق للتغييرات

قم بتشغيل هذا الأمر في تطبيق Mac Terminal الخاص بك

git config --global core.editor "/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code"

قمت بإعداد Visual Studio Code كإعداد افتراضي لفتح ملف .txt. وبعد ذلك استخدمت git config --global core.editor "'C:\Users\UserName\AppData\Local\Code\app-0.7.10\Code.exe\'" بسيطًا: git config --global core.editor "'C:\Users\UserName\AppData\Local\Code\app-0.7.10\Code.exe\'" . وكل شيء يعمل بشكل جيد.


لما أفهمه ، لم يعد VSCode موجودًا في AppData.

لذا قم بتعيين محرر git الافتراضي من خلال تنفيذ هذا الأمر في نافذة موجه الأوامر:

git config --global core.editor "'C:\Program Files (x86)\Microsoft VS Code\code.exe' -w"

المعلمة -w ، - تنتظر انتظار إغلاق النافذة قبل العودة. مرئي Studio Code هو قاعدة Atom Editor. إذا كان لديك أيضًا ذرة مثبتة ، atom --help بتنفيذ الأمر atom --help . سترى الوسيطة الأخيرة في المساعدة هي الانتظار.

في المرة القادمة التي تقوم فيها git rebase -i HEAD~3 ، ستظهر نافذة Visual Studio Code. بمجرد إغلاق VSCode ، سيستعيد Git القيادة.

ملاحظة: الإصدار الحالي من VSCode هو 0.9.2

آمل أن تساعد.


ما عليك سوى إضافة خطوط مائلة للخلف هذه إلى الإجابات السابقة ، فأنا على نظام Windows 10 CMD ، ولا تعمل بدون خطوط مائلة للخلف قبل المسافات.

git config --global core.editor "C:\\Users\\your_user_name\\AppData\\Local\\Programs\\Microsoft\ VS\ Code\\Code.exe"






visual-studio-code