Kiedy używam git w wierszu poleceń, zastanawiam się, czy można użyć Visual Studio Code jako domyślnego edytora, tj. Podczas tworzenia komentarzy zatwierdzania i patrzenia na różnicę pliku z wiersza poleceń.
Rozumiem, że nie będzie można go używać do łączenia (przynajmniej w jednej chwili), ale czy ktoś wie, czy można go użyć do przeglądania różnic, a jeśli tak, to jakie opcje wiersza poleceń byłyby wymagane w plik .gitconfig, aby tak się stało?
AKTUALIZACJA 1:
Wypróbowałem podejście podobne do tego, co zrobiłem dla Notepad ++ w przeszłości , tj
#!/bin/sh
"c:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*"
I używane:
#!/bin/sh
"C:\Users\gep13\AppData\Local\Code\app-0.1.0\Code.exe" "$*"
Ale powoduje to komunikat o błędzie:
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]>
Kod otwiera się poprawnie, z oczekiwaną treścią, ale nie czeka na odpowiedź, tj. Kliknij Zapisz i zamknij okno, aby wrócić do monitu.
AKTUALIZACJA 2:
Właśnie otrzymałem odpowiedź od jednego z programistów pracujących nad VSCode. Wygląda na to, że ta funkcja obecnie nie jest obsługiwana :-(
https://twitter.com/IsidorN/status/595501573880553472
Jeśli chcesz zobaczyć dodanie tej funkcji, warto pomyśleć o dodaniu tutaj głosów:
AKTUALIZACJA 3:
Zostałem niezawodnie poinformowany, że ta funkcja została wybrana przez zespół VSCode, więc nie mogę się doczekać przyszłej wersji, która ją obejmie.
AKTUALIZACJA 4:
Dzięki komentarzowi @ f-boucheros poniżej mogłem sprawić, aby VS Code działał jako domyślny edytor komentarzy do zatwierdzania, rebase itp. Nadal chciałbym sprawdzić, czy można go również użyć jako narzędzia do porównywania.
AKTUALIZACJA 5:
Zgodnie z zaakceptowaną odpowiedzią na to pytanie jest to teraz możliwe przy użyciu wydania kodu V1.0.
źródło
--new-window
do polecenia jest pomocne. W ten sposób operacja git otworzy się w nowym oknie.Ctrl+Shift+P
? Mój nie działa (brakcode --help
dostępnych) i nie rozumiem, co oznacza: „Upewnij się, że podczas instalacji wybrałeś opcję Dodaj do ŚCIEŻKI” Co mam zrobić, aby to sprawdzić? Czy ktoś może mi pomóc?"files.hotExit": "off"
na dole konfiguracjigit config core.editor "code -n --wait"
z kodem VS 1.17.2, uruchamianym z zewnętrznego wiersza poleceń. Zarównocode
icode --wait
dostał mi „Przerwanie zobowiązać z powodu opróżnienia popełnić wiadomość.”Z tego co rozumiem, VSCode nie ma już w AppData.
Ustaw domyślny edytor git, wykonując to polecenie w oknie wiersza polecenia:
Parametr
-w
,--wait
to czekać na okno zostanie zamknięte przed powrotem. Visual Studio Code jest oparty na edytorze Atom. jeśli masz również zainstalowany atom, wykonaj polecenieatom --help
. Ostatni argument w pomocy zobaczysz: poczekaj.Następnym razem, gdy to zrobisz
git rebase -i HEAD~3
, pojawi się wyskakujący kod Visual Studio. Gdy VSCode jest blisko, Git przejmie prowadzenie.Uwaga: Moja obecna wersja VSCode to 0.9.2
Mam nadzieję, że ta pomoc.
źródło
-w
i gdzie znalazłeś to udokumentowane?git config --global core.editor "code --wait"
.Musisz użyć polecenia:
Upewnij się, że możesz uruchomić edytor z Git Bash
Jeśli chcesz użyć Code.exe z krótką ścieżką, możesz to zrobić, dodając następujący wiersz do pliku .bash_profile:
A teraz możesz wywołać go za pomocą tylko
vscode
polecenia (lub jakkolwiek to nazwałeś)Niektóre dodatkowe informacje:
źródło
-n
jest skrótem od tego,--new-window
aby git otworzył nowe okno edytora i-w
jest krótki, przez--wait
co git czeka, aż zamkniesz okno ponownie. To jest jedyna odpowiedź, która działa dla mnie, ponieważ jeśli mam już otwarty kod VS--wait
, nie będę bez niego działał--new-window
.Inną przydatną opcją jest ustawienie
EDITOR
zmiennej środowiskowej. Ta zmienna środowiskowa jest używana przez wiele narzędzi do określania, jakiego edytora użyć. Git używa go również, jeśli niecore.editor
jest ustawiony.Możesz ustawić go dla bieżącej sesji, używając:
W ten sposób nie tylko
git
, ale wiele innych aplikacji będzie używać VS Code jako edytora.Aby ta zmiana była trwała, dodaj ją
~/.profile
na przykład do swojego . Zobacz to pytanie, aby uzyskać więcej opcji.Kolejną zaletą tego podejścia jest to, że można ustawić różne edytory dla różnych przypadków:
Jest to przydatne szczególnie w przypadku VS Code (lub dowolnego innego edytora GUI), ponieważ po prostu nie działa bez GUI.
W systemie Linux włóż to do
~/.profile
:W ten sposób, gdy korzystasz z lokalnego terminala,
$SSH_CONNECTION
zmienna środowiskowa będzie pusta, więccode -w
edytor zostanie użyty, ale po połączeniu przez SSH,$SSH_CONNECTION
zmienna środowiskowa będzie niepustym ciągiem, więcvim
edytor zostanie użyty. Jest to edytor konsoli, więc będzie działać, nawet jeśli jesteś podłączony przez SSH.źródło
Otworzyłem mój
.gitconfig
i poprawiłem go:To mi zrobiło (mam system Windows 8).
Zauważyłem jednak, że po wypróbowaniu dowolnego
git commit
, w mojej konsoli Git Bash widzę następujący komunikat:Nie jestem pewien, jakie mogą być tego konsekwencje.
źródło
app-0.1.0/resources/app/env.js
wydaje się, że zawiera kilka flag wiersza poleceń, które przyjmuje plik wykonywalny Code. Żaden nie sugeruje zachowania równoważnego z tym, co-multiInst
jednak.--wait
flagę, a--new-window
flaga jest również wysoce zalecana, aby zatwierdzenie msg / diff / cokolwiek nie pojawiło się tylko jako nowa karta w już otwartym edytorze, wymagając od ciebie zamknięcia plików, którymi nadal możesz być pracujemy nad tym, aby zasygnalizować gitowi, że skończyłeś edycję.GitPad ustawia bieżący edytor tekstu jako domyślny edytor dla Git.
Mój domyślny edytor
.txt
plików w systemie Windows 10 to Visual Studio Code, a po uruchomieniu GitPad stał się domyślnym edytorem Git. Nie spotkałem się z problemami wymienionymi w pytaniu (Git czeka na zamknięcie okna VS Code w moim przypadku).(Link do
.exe
pliku nie działał dla mnie, być może będziesz musiał samodzielnie skompilować źródło).źródło
Right click
>Open with
>Chose another app
. Spodziewałbym się, że zarejestruje się podczas instalacji (i aktualizuje rejestr przy każdej aktualizacji, aby powłoka mogła go znaleźć), ale nie mogłem znaleźć niczego innego niż element menu kontekstowego „Otwórz za pomocą kodu” w rejestrze. Naprawdę nie mam na to wyraźniejszej odpowiedzi, przepraszam.Dobre wieści! W momencie pisania tej funkcji ta funkcja została już zaimplementowana w wersji dla osób posiadających wiedzę wewnętrzną 0.10.12 i przeprowadzona za pośrednictwem osób wewnętrznych . Dlatego będziemy go mieć w nadchodzącej wersji 1.0 Wydanie VS Code .
Wdrożenie Ref: Implement -w / - wait linia poleceń arg
źródło
Chcę tylko dodać te ukośniki do poprzednich odpowiedzi, jestem na systemie Windows 10 CMD i nie działa bez ukośników przed spacjami.
źródło
Nie jestem pewien, czy możesz to zrobić, ale możesz wypróbować te dodatki w pliku gitconfig.
Spróbuj zastąpić kdiff3 tymi wartościami, aby wskazać kod wykonywalny programu Visual Studio.
[merge] tool = kdiff3 [mergetool "kdiff3"] path = C:/Program Files/KDiff3/kdiff3.exe keepBackup = false trustExitCode = false
źródło
Ustawiłem Visual Studio Code jako domyślny, aby otworzyć plik .txt. A następnie zrobiłem komendę użycie prosta
git config --global core.editor "'C:\Users\UserName\AppData\Local\Code\app-0.7.10\Code.exe\'"
. I wszystko działa całkiem dobrze.źródło
Uruchom to polecenie w aplikacji terminalu Mac
źródło
w systemie Windows 10 przy użyciu 64-bitowej edycji informacji niejawnych polecenie powinno wyglądać następująco:
możesz także zmienić nazwę „code-insiders.cmd” na „code.cmd” w katalogu „Program Files”, w ten sposób możesz teraz użyć polecenia „code”. aby rozpocząć edycję plików w. informator
źródło