Cuando uso git en la línea de comandos, me pregunto si es posible usar Visual Studio Code como el editor predeterminado, es decir, al crear comentarios de confirmación y mirar un archivo de diferencias desde la línea de comandos.
Entiendo que no será posible usarlo para hacer fusiones (al menos por el momento), pero ¿alguien sabe si es posible usarlo para ver las diferencias y, de ser así, qué opciones de línea de comandos se requerirían en el archivo .gitconfig para que esto suceda?
ACTUALIZACIÓN 1:
He intentado un enfoque similar a lo que he hecho para Notepad ++ en el pasado , es decir
#!/bin/sh
"c:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*"
Y usado:
#!/bin/sh
"C:\Users\gep13\AppData\Local\Code\app-0.1.0\Code.exe" "$*"
Pero esto da como resultado un mensaje de error:
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]>
El código se abre correctamente, con el contenido esperado, pero no está esperando la respuesta, es decir, haciendo clic en guardar y cerrando la ventana para volver al indicador.
ACTUALIZACIÓN 2:
Acabo de recibir noticias de uno de los desarrolladores que trabajan en VSCode. Parece que esta funcionalidad actualmente no es compatible :-(
https://twitter.com/IsidorN/status/595501573880553472
Si está interesado en que se agregue esta función, puede pensar en agregar sus votos aquí:
ACTUALIZACIÓN 3:
Me han informado de manera confiable que esta función ha sido recogida por el equipo de VSCode, por lo que espero con ansias una versión futura que la incluya.
ACTUALIZACIÓN 4:
Gracias al comentario de @ f-boucheros a continuación, he podido hacer que VS Code funcione como el editor predeterminado para enviar comentarios, rebase, etc. Todavía me gustaría ver si es posible usarlo también como herramienta de diferencias.
ACTUALIZACIÓN 5:
Según la respuesta aceptada para la pregunta, esto ahora es posible utilizando la versión de código V1.0.
fuente
--new-window
al comando es útil. De esta manera, la operación git se abrirá en una nueva ventana.Ctrl+Shift+P
? El mío no funciona (nocode --help
disponible) y no entiendo lo que significa: "Asegúrese de haber seleccionado Agregar a RUTA durante la instalación" ¿Qué debo hacer para verificarlo? ¿Puede alguien ayudarme por favor?"files.hotExit": "off"
en la parte inferior de su configuracióngit config core.editor "code -n --wait"
con VS Code 1.17.2, que se ejecuta desde la línea de comandos externa. Amboscode
ycode --wait
me dieron el mensaje "Compromiso de cancelación debido a un mensaje de confirmación vacío".Por lo que entiendo, VSCode ya no está en AppData.
Establezca el editor git predeterminado ejecutando ese comando en una ventana de símbolo del sistema:
El parámetro
-w
,--wait
es esperar a que la ventana se cierre antes de regresar. Visual Studio Code se basa en Atom Editor. si también tiene un átomo instalado, ejecute el comandoatom --help
. Verá que el último argumento en la ayuda es esperar.La próxima vez que lo haga
git rebase -i HEAD~3
, aparecerá el Código de Visual Studio. Una vez que VSCode esté cerca, Git retomará el liderazgo.Nota: Mi versión actual de VSCode es 0.9.2
Espero que te sirva de ayuda.
fuente
-w
y dónde lo encontró documentado?git config --global core.editor "code --wait"
.Necesitas usar el comando:
Asegúrate de que puedes iniciar tu editor desde Git Bash
Si desea usar Code.exe con una ruta corta, puede hacerlo agregando la siguiente línea a su .bash_profile:
Y ahora, puedes llamarlo usando solo el
vscode
comando (o como lo llames )Alguna información adicional:
fuente
-n
es la abreviatura de--new-window
hacer que git abra una nueva ventana del editor, y-w
es la abreviatura de--wait
hacer que git espere a que cierre la ventana nuevamente. Esta es la única respuesta que funciona para mí, porque si ya tengo abierto VS Code--wait
no funcionaré sin él--new-window
.Otra opción útil es establecer
EDITOR
una variable de entorno. Esta variable de entorno es utilizada por muchas utilidades para saber qué editor usar. Git también lo usa si nocore.editor
está configurado.Puede configurarlo para la sesión actual usando:
De esta manera, no solo
git
, sino que muchas otras aplicaciones usarán VS Code como editor.Para que este cambio sea permanente, agréguelo a su,
~/.profile
por ejemplo. Vea esta pregunta para más opciones.Otra ventaja de este enfoque es que puede configurar diferentes editores para diferentes casos:
Esto es útil especialmente con VS Code (o cualquier otro editor de GUI) porque simplemente no funciona sin GUI.
En el sistema operativo Linux, ponga esto en su
~/.profile
:De esta manera, cuando use un terminal local, la
$SSH_CONNECTION
variable de entorno estará vacía, por locode -w
que se utilizará el editor, pero cuando esté conectado a través de SSH,$SSH_CONNECTION
la variable de entorno será una cadena no vacía, por lovim
que se utilizará el editor. Es un editor de consola, por lo que funcionará incluso cuando esté conectado a través de SSH.fuente
Abrí mi
.gitconfig
y lo modifiqué con:Eso lo hizo por mí (estoy en Windows 8).
Sin embargo, noté que después de probar un arbitrario
git commit
que en mi consola Git Bash veo el siguiente mensaje:No estoy seguro de cuáles podrían ser las ramificaciones de esto.
fuente
app-0.1.0/resources/app/env.js
parece contener algunas banderas de línea de comandos que toma el ejecutable del Código. Ninguno sugiere un comportamiento equivalente al de-multiInst
sin embargo.--wait
indicador, y el--new-window
indicador también es muy recomendable, de modo que el commit msg / diff / whatever no solo se muestre como una nueva pestaña en un editor ya abierto, lo que requiere que cierre los archivos que aún puede estar trabajando para indicarle a git que has terminado de editar.GitPad establece su editor de texto actual como el editor predeterminado para Git.
Mi editor predeterminado para
.txt
archivos en Windows 10 es Visual Studio Code y ejecutar GitPad una vez lo convirtió en el editor predeterminado para Git. No he experimentado los problemas mencionados en la pregunta (Git espera hasta que se cierre la ventana VS Code en mi caso).(El enlace para el
.exe
archivo no funcionó para mí, es posible que deba compilar la fuente usted mismo).fuente
Right click
>Open with
>Chose another app
. Esperaría que se registre en la configuración (y actualice el registro con cada actualización para que Shell pueda encontrarlo) pero no pude encontrar nada más que el elemento del menú contextual "Abrir con código" en el registro. Así que realmente no tengo una respuesta más clara para esto, lo siento.¡Buenas noticias! Al momento de escribir, esta característica ya se ha implementado en la versión 0.10.12-insiders y se ha llevado a cabo a través de 0.10.14-insiders . Por lo tanto, lo tendremos en la próxima versión 1.0 Release of VS Code .
Referencia de implementación: Implementar -w / - esperar línea de comando arg
fuente
Solo quiero agregar estas barras diagonales inversas a las respuestas anteriores, estoy en Windows 10 CMD, y no funciona sin barras diagonales antes de los espacios.
fuente
No estoy seguro de que pueda hacer esto, sin embargo, puede probar estas adiciones en su archivo gitconfig.
Intente reemplazar el kdiff3 de estos valores para señalar el ejecutable del código visual de estudio.
[merge] tool = kdiff3 [mergetool "kdiff3"] path = C:/Program Files/KDiff3/kdiff3.exe keepBackup = false trustExitCode = false
fuente
Configuré Visual Studio Code como predeterminado para abrir el archivo .txt. Y la siguiente hice uso de comandos simple:
git config --global core.editor "'C:\Users\UserName\AppData\Local\Code\app-0.7.10\Code.exe\'"
. Y todo funciona bastante bien.fuente
Ejecute este comando en su aplicación Mac Terminal
fuente
En Windows 10 con la edición de 64 bits, el comando debería ser:
También puede cambiar el nombre de 'code-insiders.cmd' a 'code.cmd' en el directorio 'Program Files', de esta manera ahora puede usar el comando 'code'. para comenzar a editar los archivos en el. directorio
fuente