web-dev-qa-db-ja.com

GitのデフォルトエディタとしてVisual Studioコードを使用する方法

コマンドラインでgitを使用する場合、デフォルトのエディタとしてVisual Studio Codeを使用できるかどうか、つまりコミットコメントを作成するとき、およびコマンドラインからファイルの差分を見るときに、疑問に思います。

私はそれをマージするために使用することは不可能であることを理解しています(少なくとも分で)が、diffを見るためにそれを使用することが可能であるかどうか誰でも知っています。これを実現するための.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をコミットコメント、リベースなどのデフォルトエディタとして機能させることができました。それでもdiffツールとしても使用できるかどうか確認したいと思います。

アップデート5:

質問に対する一般的な回答のとおり、これはV1.0リリースのコードを使用して可能になりました。

273
Gary Ewan Park

最新のリリース(v1.0、March 2016でリリース)では、これで可能になりました デフォルトのgit commit/diffツールとしてVS Codeを使用 。ドキュメントから引用:

  1. コマンドラインからcode --helpを実行できることを確認してください。

    • ヘルプが表示されない場合は、次の手順に従ってください。

      • Mac:を選択します。シェルコマンド:コマンドパレットからパスに 'Code'コマンドをインストールします。

        • コマンドパレットはあなたが押すとポップアップするものです shift +  + P VSコード内(shift + ctrl + P Windowsの場合)
      • Windows:インストール中にPATHに追加を選択したことを確認してください。
      • Linux:新しい.debまたは.rpmパッケージを使ってCodeをインストールしたことを確認してください。
  2. コマンドラインからgit config --global core.editor "code --wait"を実行します。

これでgit config --global -eを実行し、Gitを設定するためのエディタとしてVS Codeを使用できます。 enter image description here VS Codeを差分ツールとして使用するためのサポートを有効にするには、以下を追加します。

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

これは、VS Codeに渡すことができる新しい--diffオプションを利用して、2つのファイルを並べて比較することができます。

まとめると、VS CodeでGitを使用できる場所の例をいくつか示します。

  • git rebase HEAD~3 -iはVS Codeを使って対話的なリベースを可能にします
  • git commitではコミットメッセージにVS Codeを使用することができます
  • 対話式追加の場合はgit add -pの後にe
  • git difftool <commit>^ <commit>は変更のための差分エディタとしてVS Codeを使うことを可能にします
491
rexcfnghk

私が理解していることのために、VSCodeはもうAppDataにありません。

そのため、コマンドプロンプトウィンドウでそのコマンドを実行して、デフォルトのgitエディタを設定します。

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

パラメータ-w--waitは、戻る前にウィンドウが閉じるのを待つことです。 Visual StudioのコードはAtomエディタに基づいています。アトムもインストールしている場合は、コマンドatom --helpを実行してください。あなたは、ヘルプの最後の議論が待つのを見るでしょう。

次回git rebase -i HEAD~3を実行すると、Visual Studioのコードがポップアップ表示されます。 VSCodeが近づくと、Gitが先導します。

注:私の現在のVSCodeのバージョンは0.9.2です。

お役に立てば幸いです。

23
Frank Boucher

あなたはコマンドを使用する必要があります:

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コマンドだけを使ってそれを呼び出すことができます

いくつかの追加情報:

セットアップは%PATH%にVisual Studioのコードを追加するので、コンソールから 'code'と入力してそのフォルダのVS Codeを開くことができます。 %PATH%環境変数への変更を有効にするには、インストール後にコンソールを再起動する必要があります。

8
IluxaKuk

別の便利なオプションは、EDITOR環境変数を設定することです。この環境変数は、使用するエディターを知るために多くのユーティリティで使用されます。 Gitは、core.editorが設定されていない場合にも使用します。

次を使用して現在のセッションに設定できます。

export EDITOR=code --wait

この方法はgitだけでなく、他の多くのアプリケーションがVS Codeをエディターとして使用します。

この変更を永続的にするには、たとえば~/.profileに追加します。他のオプションについては この質問 をご覧ください。

2

私は自分の.gitconfigを開き、それを次のように修正しました。

[core]
    editor = 'C:/Users/miqid/AppData/Local/Code/app-0.1.0/Code.exe'

それは私のためにそれをやった(私はWindows 8を使っている)。

しかし、自分の Git Bash consoleで任意のgit commitを試したところ、次のようなメッセージが表示されました。

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

これによる影響が何であるかわからない。

2
miqh

良い知らせです。これを書いている時点で、この機能はすでに 0.10.12-insiders リリースに実装されており、 0.10.14-insiders を介して実行されています。そのため、次のバージョンの{ 1.0 VS Releaseのリリース } _に含める予定です。

実装参照: 実装-w/ - waitコマンドライン引数

1
Wasif Hossain

GitPad 現在のテキストエディタをGitのデフォルトエディタとして設定します。

私のWindows 10での.txtファイルのデフォルトエディタはVisual Studio Codeで、GitPadを実行するとGitのデフォルトエディタになりました。私は質問で言及された問題を経験していません(Gitは私の場合はVS Codeウィンドウが閉じるまで待ちます)。

.exeファイルへのリンクは私にはうまくいきませんでした。ソースを自分でコンパイルする必要があるかもしれません。)

1
Şafak Gür

Mac端末アプリでこのコマンドを実行してください。

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

前回の回答にこれらのバックスラッシュを追加するだけです。Windows10 CMDを使用していますが、スペースの前にバックスラッシュがないと機能しません。

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

64ビットインサイダーエディションを使用しているWindows 10では、コマンドは次のようになります。

git config --global core.editor "'C:¥Program Files¥Microsoft VS Code Insiders¥bin¥code-insiders.cmd'"

'Program Files'ディレクトリで 'code-insiders.cmd'を 'code.cmd'に変更することもできます。このようにして 'code'コマンドを使用することができます。のファイルの編集を開始します。ディレクトリ

これができるかどうかはわかりませんが、gitconfigファイルでこれらの追加を試すことができます。

実行可能なVisual Studioのコードを指すように、これらの値からkdiff3を置き換えてください。

[merge] tool = kdiff3 [mergetool "kdiff3"] path = C:/Program Files/KDiff3/kdiff3.exe keepBackup = false trustExitCode = false

0
SJMan

.txtファイルを開くためのデフォルトとしてVisual Studioコードを設定しました。そして次に、簡単なコマンドgit config --global core.editor "'C:\Users\UserName\AppData\Local\Code\app-0.7.10\Code.exe\'"を使いました。そして、すべてうまくいっています。

0
Zidu