Vscode: Git: use VS Code como editor de combinación

Creado en 25 abr. 2016  ·  96Comentarios  ·  Fuente: microsoft/vscode

1.0.0 introdujo la capacidad de usar VS Code como una herramienta de diferenciación de git. Las líneas globales relevantes de .gitconfig son las siguientes:

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

¿Cómo puedo usar VS Code como una herramienta de fusión de git ?

Creo que los argumentos relevantes que debe aceptar son $LOCAL , $REMOTE , $BASE y $MERGED .

feature-request git

Comentario más útil

No lo tendríamos de otra manera. 😉

Todos 96 comentarios

Aún no es compatible.

¿Esta característica se incluirá en la próxima iteración, por casualidad?

Probablemente no, este es un gran esfuerzo, ya que se debe implementar una interfaz de usuario de combinación.

¿Hay algún plan para que la interfaz de usuario de combinación admita la combinación de tres vías? (por ejemplo, cambio a, cambio b, ancestro común)

No lo tendríamos de otra manera. 😉

No puedo votar este lo suficiente. Este es el mejor escenario para mí para recurrir a un editor/IDE diferente ( tos* webstorm de memoria-hog *tos ) :)

Si es posible, esto sería un regalo del cielo, debido a varias razones:

  1. Meld, aunque funcional, carece gravemente de funcionalidad en relación con las combinaciones de teclas configurables y el resaltado de colores, y es muy _muy_ lento para iniciarse en mi máquina con Windows, incluso cuando está instalado en un SSD.
  2. Me gustaría que el editor de combinación también acepte el mismo .editorconfig/settings que tiene mi editor de texto principal, y si vscode llena ese vacío, sería increíble.
  3. En los niveles más pequeños, el tema del editor y la familiaridad con la interfaz también son una ventaja: a veces, mi equipo o yo cometemos errores al fusionar debido a que no se resalta la sintaxis, lo que, aunque pequeño, ha causado errores enormes en los sistemas de producción. Y algunos de esos errores son bastante difíciles de comprender hasta que ocurren. _Supongo que siempre habrá problemas similares con mergetools_, pero quizás se reduzcan si uno pudiera fusionarse en el mismo entorno en el que escribe.

Como dije, meld es _ok_, pero sería genial si algún día se usara vscode en ese escenario.

Visual Studio siempre fue mi fusión de código preferida. ¡Me encantaría ver esta función!

¡No hay problema en usar otra herramienta de combinación de git, pero realmente me gustaría ver que la propia interfaz de usuario de combinación suceda muy pronto!

😐 meh.

Espero estas características en IDE pesados. En la clase de editores livianos de vscode (en los que consideraría atom, sublime, etc.) no lo hago. Para actividades relacionadas con git, prefiero una terminal y vim para la resolución de conflictos. La multitud de GUI ya tiene grandes uni-taskers como fusionar, diferenciar, caleidoscopio, etc.

@kumarharsh ese es un buen punto sobre la retroalimentación inmediata (por ejemplo, pelusa). Siguiendo la ruta vim anterior, supongo que puede configurar el editor externo predeterminado de git en vscode ... aunque podría ser una molestia proporcionar contexto a la pelusa / específica del proyecto reglas de sintaxis/etc.

+1

¿Se puede implementar esta característica como una extensión de vscode? o existe alguna extensión recomendada.

No lo creo, como puedo ver, las extensiones no están permitidas para crear funciones de interfaz de usuario.

Enviado a mi teléfono Windows 10

De: Tanque Sui
Enviado:cuarta-feira , 7 de diciembre de 2016 10:41
Para: Microsoft/vscode
CC: Herbert Pimentel; Comentario
Assunto: Re: [Microsoft/vscode] Uso de VS Code como una herramienta de fusión de git (#5770)

¿Se puede implementar esta característica como una extensión de vscode? o existe alguna extensión recomendada.

Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub o silencie el hilo.

El complemento puede proporcionar funciones de interfaz de usuario: mire Git History. Representa una vista web, que "potencialmente" puede usarse como una herramienta de combinación. Pero creo que será muy difícil para un complemento hacerlo sin cierto nivel de soporte por parte de vscode.

El problema principal con las herramientas de caleidoscopio, fusión, etc. está en un caso de uso muy típico:
Edite el resultado durante la fusión. Como, ya sabes: acepta esta línea de la izquierda, acepta esa línea de la derecha y también agrega esta pequeña solución para que ambas puedan trabajar juntas.
Capitán obvio informa: las herramientas de fusión son buenas para fusionar: D
Pero editar usando ie meld es totalmente doloroso, especialmente cuando te acostumbras a una herramienta tan útil como vscode. Es por eso que la mayoría de los desarrolladores quieren una herramienta de combinación integrada en su editor.

La interfaz de usuario de combinación de 4 paneles y 3 vías de P4merge es excelente.
http://naleid.com/blog/2013/10/29/how-to-use-p4merge-as-a-3-way-merge-tool-with-git-and-tower-dot-app

permitirnos ver la diferencia (características increíblemente útiles en un editor) pero no darnos una forma de fusionar es muy decepcionante

Una extensión de VS Code sería perfecta para fusionar conflictos.

+1

El solucionador de conflictos de Git en paralelo no funciona en el último código VS.

Versión 1.10.2
Confirmar 8076a19fdcab7e1fc1707952d652f0bb6c6db331
Fecha 2017-03-08T14:02:52.799Z
Concha 1.4.6
Procesador 53.0.2785.143
Nodo 6.5.0

Realmente me gustaría poder editar el código mientras lo fusiono mientras uso mi editor de código (vscode), en lugar de tener que usar algún otro editor.

Esta es una característica "imprescindible" para poder pasar completamente a VSCode cuando trabaja en proyectos de desarrollo ágil. Una herramienta de combinación integrada es un gran ahorro de tiempo sin que la función git esté incompleta. Espero que podamos tener esto pronto.

+1

necesito herramienta de combinación

Puedo recomendar la extensión "mejor fusión" por ahora...

Sí, eso es lo que estoy usando ahora, ¡y bastante bien!

Por lo tanto, este tema creo que se puede cerrar?
El domingo 30 de abril de 2017 a las 4:58 p. m., Ali Robertson [email protected]
escribió:

Puedo recomendar la extensión "mejor fusión" por ahora...


Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/Microsoft/vscode/issues/5770#issuecomment-298222866 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AAU8Q2JVio1PlIvEb8S1zg2cf5tzxxciks5r1Fs9gaJpZM4IPCMA
.

>

Enviado desde iPhone

@alirobe es mejor fusionar no tener tres ventanas de versión como fusionar
Parece que vsc solo tiene tres ventanas, pero ¿nadie implementa una herramienta de combinación?

Hola @nchhammas , @joaomoreno y todos los demás interesados,
Hoy configuré VS Code como mi git mergetool y lo expliqué en StackOverflow: Cómo usar Visual Studio Code como editor predeterminado para Git MergeTool (lo explica con más detalle, ¡así que échale un vistazo!).

Aquí está la versión de velocidad:
Puede editar su .gitconfig directamente y pegarlo

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

o desde la línea de comando ingrese

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

Luego usa git mergetool desde dentro del directorio git con el conflicto de combinación, ¡y ta-da 😄!

Debería ver una línea que dice Aceptar cambio actual | Aceptar ambos cambios |

¡Solo asegúrese de guardar su archivo antes de cerrar VS Code!

Me gusta que tenga la lente de código "Aceptar cambio actual | Aceptar cambio entrante | Aceptar ambos cambios | Comparar cambios", y me encanta la diferencia de lado a lado cuando haces clic en "Comparar cambios", pero no me permite editar nada en línea, o como un tercer panel combinado que ve en la herramienta de combinación de Visual Studio u otras herramientas como Meld, Winmerge o Beyond Compare. Me encantaría ver ese tercer panel en la comparación lado a lado para poder hacer más fusiones personalizadas.

@jaxspades , FWIW, lo que hago cuando necesito personalizar es Aceptar ambos y luego editar. Hasta ahora ha funcionado bastante bien, aunque todavía no he tenido fusiones particularmente peludas usando esto.

El Visual Studio "real" actúa como una gran herramienta de combinación, FWIW. Me encantaría ver esa función en VS Code.

+1 a @zneak

La toma actual de este bloque o ese bloque es terrible y está perdiendo mucho tiempo, refactorizando y cometiendo errores. Me encantaría tener la capacidad de elegir línea por línea como VS.

Los falsos positivos en los cambios de archivos también son un problema cuando se rebota en las sucursales.

Me encanta la herramienta, esta área simplemente falta.

Hola
en VScode debe ser una herramienta de combinación predeterminada.
Tenemos una herramienta de diferencias genial, y vsc puede dividirse en tres partes, así que... solo necesito implementarla.
Podríamos implementarlo por comunidad con ext, pero no permitimos cambiar la interfaz de usuario. No podemos construir botones personalizados en ui, así que ayúdanos

Uso kdiff3 en Windows y Mac como mi git mergetool predeterminado. Tiene combinación de 4 vistas y 3 vías, muy buena resolución automática, y es gratuito y multiplataforma.

En mayo se integró una mejor fusión. Esto resolvió efectivamente el problema al agregar una interfaz de usuario de combinación.
https://code.visualstudio.com/updates/v1_13

Ericop ha proporcionado instrucciones sobre cómo configurar vscode para usar la interfaz de 'mejor combinación' como una herramienta de combinación anterior.

Por lo tanto, este problema debe cerrarse, resolverse.

@alirobe No creo que esta combinación sea buena, tal vez parezca una combinación, tres editores muestran LOCAL, BASE, REMOTO

@zjjott comprensible, sugeriría abrir un nuevo problema solicitando una mejora específica a la función existente y haciendo referencia a eso aquí.

Esta es una de las mejores extensiones que he usado https://marketplace.visualstudio.com/items?itemName=letmaik.git-tree-compare#review -details

@joaomoreno Siguiendo tu comentario, ¿veremos una fusión de 3 vías en el futuro?

@zjjott kdiff3 hace esto muy bien (vistas locales, base, remotas y de resultados). Realmente no estoy seguro de por qué la gente necesita/desea una funcionalidad adicional en vscode cuando esta herramienta multiplataforma existente ya es tan buena.

@RoyTinker porque normalmente no hago simplemente 'fusionar'. Tienes que editar algo (cuando ocurren algunos conflictos) y cuando editas algo, quieres el mejor editor de todos los tiempos, no algo que tiene kdiff3 (está bien, pero vscode es mucho mejor)

¿Por qué no hablas con @eamodio e importas su increíble trabajo en GitLens para VSCode ?
Estoy muy satisfecho con él, especialmente cuando navego por un archivo en conflicto, cuando tengo cambios de ambas secuencias en una sola vista y puedo aceptar el cambio actual, el cambio entrante, ambos cambios o incluso editarlos a la vez.
Es bastante cercano a lo ideal, solo que a veces se vuelve loco con los finales de línea en Windows, luego solo hay Visual Studio completo al rescate.
De lo contrario, la mejor experiencia de GUI de git de IDE que he tenido.

@m-wilczynski Aunque realmente aprecio las amables palabras, el soporte de conflicto de combinación no es parte de GitLens, está integrado directamente en vscode (originalmente fue otra extensión que se incorporó al núcleo)

@eamodio - sry, no lo sabía. 😄 No cambia el hecho de que para mí (y la mayoría de mis colegas que usan VSCode @ work debido a mi recomendación) VS Code es inútil para trabajar con git sin GitLens.
Con GitLens, estoy ansioso por abrir VSCode incluso si no estoy codificando en él (principalmente usándolo para TypeScript y JavaScript) solo para ver claramente lo que está sucediendo en esta combinación.
Se trata de la experiencia del usuario.
Incluso si VSCode lo tuviera todo incluido y solo necesitara visualizarlo correctamente, usted es el culpable de mi increíble experiencia de usuario. 😉

@m-wilczynski Muy honrado. Gracias. ¡Aprecio mucho las amables palabras!

Se acercan dos años ahora... y en mi humilde opinión, esta sigue siendo una de las características faltantes más obvias en este momento. Me encantaría hacer de VSCode mi mergetool.

@ tracker1 Este problema está resuelto técnicamente: https://github.com/Microsoft/vscode/issues/5770#issuecomment -308533904. No sé por qué todavía no se ha cerrado.

@joaomoreno se puede cerrar este tema?

Creo que la razón por la que todavía está abierto (y también por la que todavía lo estoy viendo) es que la gente está buscando una capacidad de fusión de tres vías en paralelo en vscode. Por ejemplo, actualmente uso meld ( captura de pantalla de ejemplo ).

Sí, y tenemos escenarios en los que git tiene un conflicto (renombrar/renombrar) y el archivo $MERGED aparece en blanco y aún es necesario editar haciendo el comando diff $LOCAL $REMOTE, utilizo este cmd a continuación para este problema

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

Pero esos pueden convertirse en problemas separados: el trabajo principal de este problema en particular se realiza en mi opinión.

Tal vez lo que se muestra en #5770 funciona bien para cambios pequeños, sin embargo, es una mala experiencia para cambios grandes y realmente necesita una experiencia de 3 o 4 paneles para hacer esto correctamente.

Actualmente uso Visual Studio (correcto) como herramienta MERGE/DIFF y MELD cuando Visual Studio (correcto) no está instalado. Estos hacen el trabajo, pero sería genial poder editar el código con la misma herramienta que se usó para escribirlo en el primer palacio.

Si quieren cerrarlo, está bien, ya que _puede_ usarse como una herramienta de combinación, pero entonces deberíamos tener un problema creado de inmediato para capturar la capacidad de diferenciación de tres vías lado a lado.

Ahora vscode tiene la opción de tener más de dos ventanas visibles. (a partir de v1.24.0). No he probado una fusión de 3 vías, pero ciertamente debería ser una posibilidad ahora.

Esta es sin duda la mayor deficiencia de este increíble editor.

La combinación de tres vías es imprescindible. La forma actual de realizar git merge es muy cruda en su uso.

Agregue combinación de tres vías

@michaelKurowski Sí, recientemente escuché a colegas quejarse de las capacidades de fusión de VScode, aunque no me sumergí en los detalles. En resumen, si este aspecto se puede mejorar, sería bueno para vscode.

Agregue combinación de tres vías

No estoy seguro de entender completamente. La gente aquí parece estar pidiendo una combinación de tres vías, pero parece que VSCode ya tiene una combinación de tres vías, como en esta captura de pantalla.

image

Sin embargo, según tengo entendido, no hay forma de invocar la combinación de tres vías desde la línea de comando. Como se mencionó en la publicación inicial, esto implicaría una forma de invocar con cuatro argumentos en la línea de comando: el archivo base, las dos versiones revisadas diferentes y la ruta para escribir el resultado combinado final.

En mi caso, quiero usar VSCode como una herramienta de combinación con Perforce y no con Git, pero suponiendo que VSCode aceptara estos cuatro nombres de archivo en la línea de comando, entonces realmente no importaría qué software de control de fuente está usando, el concepto de combinación es el mismo.

¿Debería llamarse a este problema algo así como "Agregar la opción de línea de comando para invocar la funcionalidad de fusión de 3 vías existente", o hay algo que no estoy entendiendo acerca de la implementación de fusión actual en VSCode, además de la falta de uso de la línea de comando, que lo hace inadecuado? para fusiones de tres vías de git?

No estoy seguro de entender completamente. La gente aquí parece estar pidiendo una combinación de tres vías, pero parece que VSCode ya tiene una combinación de tres vías, como en esta captura de pantalla.

image

Sin embargo, según tengo entendido, no hay forma de invocar la combinación de tres vías desde la línea de comando. Como se mencionó en la publicación inicial, esto implicaría una forma de invocar con cuatro argumentos en la línea de comando: el archivo base, las dos versiones revisadas diferentes y la ruta para escribir el resultado combinado final.

En mi caso, quiero usar VSCode como una herramienta de combinación con Perforce y no con Git, pero suponiendo que VSCode aceptara estos cuatro nombres de archivo en la línea de comando, entonces realmente no importaría qué software de control de fuente está usando, el concepto de combinación es el mismo.

¿Debería llamarse a este problema algo así como "Agregar la opción de línea de comando para invocar la funcionalidad de fusión de 3 vías existente", o hay algo que no estoy entendiendo acerca de la implementación de fusión actual en VSCode, además de la falta de uso de la línea de comando, que lo hace inadecuado? para fusiones de tres vías de git?

Creo que les gustaría ver algo como esto:
https://imagenes-de-usuario.githubusercontent.com/1470309/32250860-c677e4ce-bec0-11e7-82b5-0196d981cc28.png

@michaelKurowski Ya veo. Quizás hay dos problemas distintos entonces,

  • La visualización de fusiones de tres vías. (la implementación actual muestra fusiones en línea, mientras que algunas personas solicitan una vista de tres columnas)
  • La capacidad de usar VSCode como una herramienta de combinación de 3 vías invocada desde la línea de comando. (lo que requeriría una opción de línea de comando similar a la actual --diff file1 file2 pero con soporte de fusión, por ejemplo, --merge basefile revision1file revision2file mergedfile

Mi impresión es que el cartel original pedía algo más parecido a lo último (que parece fácil de implementar usando la visualización actual), mientras que la solicitud de una visualización de fusión de tres columnas es una solicitud un poco más complicada y abierta y ¿Quizás la confusión entre esas dos solicitudes separadas está causando que este problema se elimine?

Ok, gracias por la aclaración @uglyyote y @michaelKurowski , entonces, en su opinión, ¿deberíamos crear un nuevo problema/solicitud de función dedicado a la vista de diferencias de tres columnas?

Sería bueno si @joaomoreno pudiera comentar sobre la pregunta de @JeanPerriault y mi sugerencia sobre si este problema debe dividirse en dos, ya que parece estar en el equipo de VSCode. Pero a juzgar por sus respuestas anteriores de "es necesario implementar una interfaz de usuario de combinación" y "no lo haríamos de otra manera (que no sea una combinación de tres)", parece que está viendo los dos problemas que estaba mencionando. como una cosa

@joaomoreno , ¿no tendría sentido primero, a corto plazo, implementar una opción de línea de comando para exponer el comportamiento de fusión existente? Personalmente, estaría bien con el uso de la fusión en línea actual y no encuentro que una vista de 3 columnas sea esencial (aunque podría ser agradable). Pero si conectar la combinación existente a la línea de comando es una tarea fácil, entonces no me gustaría que se detuviera indefinidamente por la falta de voluntad del equipo de VSCode para implementar una visualización de combinación de 3 vías más elegante.

sí, danos una vista/editor de combinación visual como http://meldmerge.org/

WinMerge trabajando como un jefe
after-3way-merge

sí, danos una vista/editor de combinación visual como http://meldmerge.org/

Yo uso Meld y aunque me gustaría ver que VSCode haga lo mismo, honestamente no veo ningún problema en usar Meld para esto.

@lig , ¿por qué entonces tengo que usar vscode para editar? solo puedo usar el bloc de notas

@josser simplemente use cualquier herramienta que se adapte mejor a su tarea actual. Creo que esta guerra santa está fuera de tema por cierto.

@lig Solo quiero explicar por qué las personas solicitan integrar la herramienta de combinación en vscode
Porque les gusta vscode y no les gustan otras herramientas. Fusionar también es editar. Y desea editar archivos en su encantador editor, incluso si la edición es parte del proceso de fusión

Eche un vistazo a este comentario: https://github.com/Microsoft/vscode/issues/5770#issuecomment -265497516

@josser como se mencionó anteriormente en este hilo muchas veces, la pregunta original se puede hacer configurando git para usar VSCode como una herramienta de combinación y ejecutando git mergetool durante los conflictos, lo que abre el flujo de combinación de VSCode que funciona bien para mí y otros usuarios.

Si desea ver una interfaz similar a Meld cuando usa VSCode como una herramienta de combinación, _cree una solicitud de función separada en un número separado_ para que podamos dejar de enviar spam a este hilo para lo que es esencialmente _una solicitud de función no relacionada_.

@lig Solo quiero explicar por qué las personas solicitan integrar la herramienta de combinación en vscode
Porque les gusta vscode y no les gustan otras herramientas. Fusionar también es editar. Y desea editar archivos en su encantador editor, incluso si la edición es parte del proceso de fusión

Echa un vistazo a este comentario: #5770 (comentario)

Simple y fácil! Eso es exactamente lo que la gente quiere. Por qué es eso tan difícil de entender ? Comienzo una diferencia y el siguiente paso es la fusión. Pertenecen juntos y cualquier separación es totalmente contraria a un buen flujo de trabajo y solo cuesta tiempo. Quiero usar el editor de código de Visual Studio y ninguna herramienta externa.

También me gustaría tener VS Code para poder usarlo como un editor de combinación de tres vías. Acepte o rechace los cambios desde la izquierda o desde la derecha y modifique el resultado antes de confirmar los cambios. Esto mejoraría mucho VSCode. Realmente no tiene sentido usar tantas funciones poderosas de git, excepto una de las más importantes: la fusión.

Hágalo como JetBrains. (https://github.com/Microsoft/vscode/issues/37350)

Y, sinceramente, la combinación de fusión se ve bastante fea. Esto es del 2012 verdad? Y parece que es de 2003. ¿Por qué debería viajar en el tiempo cada vez que quiero hacer la fusión de 3 vías?

Se ha creado un nuevo problema para tener vistas de combinación de tres vías: https://github.com/Microsoft/vscode/issues/37350

Alguien se tomó el tiempo para abrir un problema separado para la interfaz de usuario de combinación de tres vías (como se recomienda aquí) completa con una hermosa maqueta, solo para cerrarla de inmediato. =(

@mofahead parece que el que creé era un duplicado de #37350... aunque el cierre mencionó este problema.

Sería bueno mejorar https://github.com/Microsoft/vscode/issues/8226 antes de habilitarlo como editor de combinación

¡Hola a todos!

Puede seguir el tutorial para configurar VSCode como una herramienta oficial de git.merge:

https://stackoverflow.com/a/44549734

Parece que hay cierta confusión aquí con personas que mencionan tanto los aspectos de la interfaz de usuario como la funcionalidad de combinación. Para mí, el mayor asesino de productividad actual en VSCode es el hecho de que la combinación funciona verticalmente en lugar de lado a lado.

Honestamente, no entiendo cómo esto puede considerarse remotamente una interfaz de usuario aceptable para esta funcionalidad. Inútil.

Para aquellos con una Mac, aquí hay una solución.

  • Instalar Difmerge
  • Instale la herramienta VSCode Git Diff and Merge
  • Editar ~/.gitconfig
    agregar
[diff]
        tool = diffmerge
[difftool "diffmerge"]
        cmd = diffmerge \"$LOCAL\" \"$REMOTE\"
[merge]
        tool = diffmerge
[mergetool "diffmerge"]
        cmd = diffmerge -merge \"$LOCAL\" \"$BASE\" \"$REMOTE\"
        trustexitcode = true
        keepbackup = false
  • En VSCode, vaya a Control de código fuente, haga clic derecho en el archivo y seleccione Launch merge tool

Lo único es que no puedo hacer que los archivos se fusionen automáticamente con VSCode en todos los escenarios.

He estado usando diffmerge durante muchos años en Mac y Windows. Me cambié a Sublime Merge hace un par de meses. Realmente, realmente me encanta. Es rápido, es moderno. También lo uso en Windows en lugar de Visual Studio cuando necesito trabajar en ese entorno.

volver a emacs para diff y fusionar directorios no controlados por VCS :(

VS Code tiene un buen complemento L13D para comparar directorios (por ejemplo, directorios de configuración entre una computadora de origen y de destino), pero no puede fusionarse sin git o algún otro control de versión.

Por lo tanto, es diff-directories de emacs para hacer una sesión y luego fusionar lo que quiero de forma selectiva, para esta tarea. Estoy tratando de dejar emacs, pero todavía encuentro cosas ocasionales que puede hacer que Code no puede.

VS Code tiene un buen complemento L13D para comparar directorios (por ejemplo, directorios de configuración entre una computadora de origen y de destino), pero no puede fusionarse sin git o algún otro control de versión.

¿Tienes un enlace a L13D?

No estoy seguro de entender completamente. La gente aquí parece estar pidiendo una combinación de tres vías, pero parece que VSCode ya tiene una combinación de tres vías, como en esta captura de pantalla.

image

Esto funciona para conflictos de fusión completamente triviales, pero me encuentro con personas en empresas que solo usan VSCode y toda su idea de "conflictos de fusión" se basa en la diferencia extremadamente simplificada de VSCode. Y cuando tienen un conflicto de combinación no trivial, siempre "escogen un lado" (básicamente eliminan los cambios de alguien en unas pocas líneas en lugar de combinarlos) al menos una vez.

Necesitamos una interfaz similar a la fusión en VSCode no solo porque es genial, sino porque sin ella estamos fomentando las malas prácticas en los desarrolladores más jóvenes.

No se trata solo de "desarrolladores más jóvenes". He estado programando durante 20 años y una combinación de 3 paneles es simplemente mejor. Cometerá errores con una diferencia en línea que habría detectado si pudiera ver la totalidad de cada versión del código a la vez.

Me gustaría ver tres paneles con diferencias contra la confirmación base en cada panel. Eso facilitaría ver qué ha cambiado dónde y qué cambios mantener y no.

@lig Solo quiero explicar por qué las personas solicitan integrar la herramienta de combinación en vscode
Porque les gusta vscode y no les gustan otras herramientas. Fusionar también es editar. Y desea editar archivos en su encantador editor, incluso si la edición es parte del proceso de fusión

Porque VSCode es más que un editor de texto glorificado. Es un IDE con linter e intellisense. Incluso analiza mi código Python en busca de variables indefinidas. Y me resulta muy útil al fusionar para poder ver, en tiempo real, las pistas que el linter+intellisense+etc. ofertas cuando elijo qué líneas aceptar.

El uso de una herramienta de combinación "tonta" hace que sea más difícil encontrar errores en la combinación e incluso corregirlos después de la combinación y volver a VSC.

Esta es una de las 2 o 3 cosas que me impiden volver a VS Code

Esto está en la hoja de ruta de 2020.

Proporcione soporte completo de fusión (3 vías)

Ver- https://github.com/microsoft/vscode/wiki/Roadmap#scm

Acabo de publicar mi extensión VS Code como Git Mergetool . No es tan rico en funciones como otros editores de conflictos de combinación, pero debería ser utilizable. De manera predeterminada, configuré un diseño de 4 paneles que encontré más práctico que el diseño clásico de 3 columnas. ¡Cuidado con los comentarios!

Todavía no está disponible en Marketplace, por lo que debe descargarlo de GitHub e instalarlo manualmente. en el Marketplace._

Hola @zawys ,

¿Admite comparar las 3 o 4 carpetas que fusionaré con los archivos de Oprhan?

Hola @gusbemacbe ,

En su estado actual, la extensión se pensó principalmente como una herramienta de combinación de archivos de "3 vías" que encajaba en la interfaz de git mergetool . Este sigue siendo el objetivo principal. Sin embargo, planeo ampliar la funcionalidad para que no sea necesario ejecutar ningún proceso de git-mergetool, ya que ese pequeño script de shell tiene algunas deficiencias propias de UX. En cambio, quiero integrar más la extensión con VS Code.

En ese proceso, clonaré algunas de las funciones de git-mergetool, por ejemplo, resolver conflictos de eliminación y combinación de enlaces simbólicos. No estoy seguro de hasta qué punto eso cubre su caso de uso. Tal vez también podría agregar, por ejemplo, un comando de aceptar todo lo entrante en la carpeta. Abre un problema para
la extensión para discutir más.

Mi extensión ahora se puede encontrar en Marketplace .

Mi extensión ahora se puede encontrar en Marketplace .

202010-04_0859_27__

@InLaw Debe actualizar su código VS para usar la extensión. Para obtener más información, cree un informe de errores en el sitio de la extensión .

¿Fue útil esta página
0 / 5 - 0 calificaciones