Vscode: Proporcionar soporte para sincronizar configuraciones entre máquinas

Creado en 5 feb. 2016  ·  129Comentarios  ·  Fuente: microsoft/vscode

Existen algunas extensiones para manejar la configuración de sincronización entre varias computadoras. Y en mi opinión, son muy importantes: dado que vscode es muy personalizable con configuraciones, atajos de teclado y extensiones, es muy difícil sincronizar esas cosas entre varias estaciones de trabajo. Y todas esas extensiones no son realmente soluciones limpias, porque vscode no hace casi nada para respaldarlas (por ejemplo, las rutas que usa vscode no están expuestas, vea #2741).

Así que aquí algunas ideas para hacer que la sincronización sea limpia y extensible:

  • agregue un punto de contribución para las extensiones de sincronización

    • Esas extensiones no deberían tener que recopilar todos los archivos que deben sincronizarse. vscode debería hacer esto y luego pasarlos a las extensiones

    • El trabajo de dicha extensión es solo cargar/descargar los archivos que se les pasan (para que podamos tener gist upload / svn upload / git repo upload / dropbox / filesystem / onedrive / ftp / other services .

    • O tal vez reúna todas las configuraciones en un gran objeto json y pase eso.

    • Compatibilidad con extensiones de control de versiones y sin control de versiones

  • agregue un archivo remote_settings.json para construir sobre la pila de configuración del espacio de trabajo/configuración del usuario.
  • permitir la sincronización automática y activada por el usuario

Ok... solo algunas ideas :sonrisa:

config plan-item settings-sync

Comentario más útil

Propuesta de diseño de sincronización de configuraciones:

Estamos planeando sincronizar la configuración integrada dentro de VS Code de la siguiente manera:

  • VS Code proporcionaría la interfaz de usuario y la función para sincronizar configuraciones, combinaciones de teclas, extensiones y fragmentos.
  • VS Code habla con un punto final de servicio para leer y escribir los datos

Ajustes de código VS Punto final del servicio de sincronización

  • Proporciona API ReST para leer y escribir datos (backend)
  • Proporciona un mecanismo de autenticación para que los usuarios inicien sesión.

Todos 129 comentarios

Relacionado: https://github.com/Microsoft/vscode/issues/679

Esta es mi solución para sincronizar combinaciones de teclas y configuraciones en Linux y Windows si está interesado. Todavía no he investigado demasiado cómo hacerlo con extensiones, pero hice un archivo https://github.com/Microsoft/vscode/issues/691 hace algún tiempo para ayudar con esto.

La configuración de sincronización del complemento para Atom utiliza GitHub Gist para realizar copias de seguridad/sincronizar:

  • Ajustes
  • Paquetes
  • Mapa de teclas
  • _(Estilos)_
  • _(En eso)_
  • fragmentos

Atom también admite paquetes destacados directamente en Github y luego los instala fácilmente usando apm stars --user thedaniel --install .

En mi opinión, esta es una prioridad bastante baja porque la mayoría de las veces la configuración se sobrescribe con la configuración del espacio de trabajo que se sincroniza con el control de versiones de todos modos.

Sin embargo, las extensiones de @felixfbecker son una de esas cosas que no controlan la versión. Tampoco el mapa de teclas.

@csholmq Sin embargo, ese es un problema aparte. Por ejemplo, podría haber un .vscode/extensions.json que especifique qué extensiones deben instalarse para este proyecto, como editorconfig o un adaptador de depuración específico, con una restricción de versión de servidor como un paquete.json.

Esto no está relacionado con la solicitud de API original planteada en este problema, pero hay una extensión de sincronización que usa Gists. https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync

@egamma Exactamente la funcionalidad que buscaba. Pero como mencionó @felixfbecker , tal vez este problema sea aparte.

También podría ser bueno instalar una extensión una vez en una máquina y hacer que las otras máquinas soliciten o instalen automáticamente la misma extensión en cualquier otro lugar.

Atom tenía un navegador de paquetes en línea con "estrellas", y había un comando que podía ejecutar para instalar todo lo que había destacado. Todavía no es automático, pero fue un comienzo.

Sé que otros podrían objetar, pero personalmente no tengo ningún problema en tener que iniciar sesión en VSCode con mi cuenta de Microsoft una vez por máquina, si facilita este nivel de comodidad. Tal vez se podría ofrecer un marco de sincronización o algo así, de modo que las extensiones específicas del proveedor puedan implementar la autenticación y la persistencia en la nube (por ejemplo, una para Microsoft, otra para Google Drive, Dropbox, etc.).

Escribí una extensión hace un tiempo ( aquí, tampoco se ha actualizado en mucho tiempo ) que intentaba ayudar a sincronizar extensiones entre computadoras usando servicios de sincronización de archivos. Originalmente, solo admitía la sincronización de temas porque la sincronización de extensiones parecía algo complicada.

Creo que esta debería ser la forma correcta de mantener extensiones entre computadoras. Mantenga una lista de qué extensiones están instaladas y dónde, pueda elegir qué extensiones deben instalarse en qué computadora y luego solo administre la configuración de sincronización para esas extensiones. Supongo que la forma recomendada para que las extensiones administren la configuración es a través de esto .

Muy de acuerdo con usted, agregue funciones: cuenta y sincronización, manejo de sincronización de configuración y sincronización de extensiones (marcar extensiones propias), lo que hará que sea mucho más fácil instalar y sincronizar el código VS entre varias computadoras.
Otras extensiones que sincronizan extensiones: https://marketplace.visualstudio.com/items?itemName=golf1052.code-sync

La adición a esta idea debe ser considerada. Separación de extensiones y configuraciones globales de las específicas de un proyecto. Igual que los paquetes globales de npm de las dependencias de los proyectos.

@felixfbecker , es una buena solución, pero ¿por qué el Shift + Alt + U no responde? Mi sistema informático es Mac y la versión de vscode es 1.18.0. Muchísimas gracias.

@chenxiaochun entra en conflicto con otra tecla de acceso rápido en su computadora, tal vez la tecla de acceso rápido del sistema, pero sobre todo como conflicto con la tecla de acceso rápido de la aplicación que instaló en su propia Mac. Ctrl + Shift + P (mostrar todos los comandos, el mío es Windows, puede verificarlo en Mac), ejecute la sincronización seleccionando el comando en la lista. otro método, puede modificar la tecla de acceso rápido en vscode o buscar la aplicación y modificar la tecla de acceso rápido.

Quiero las extensiones que tengo instaladas. Tengo alrededor de 30 extensiones, ¿cómo puedo exportarlas a varias computadoras?

como no hay una implementación oficial de dicha función en vscode, utilizo una extensión llamada 'sincronización de configuración' que sincroniza la configuración y las extensiones

¿todavía no hay soporte para esto? :/
Me encantaría sincronizar automáticamente la configuración/extensión de VS Code con mi cuenta de Microsoft

Creo que se le debería dar más prioridad. Muchos usuarios tienen múltiples máquinas o configuración de arranque dual o vscode en la máquina de trabajo y la máquina doméstica.

Cierto, debería ser una característica obligatoria en este tipo de aplicaciones hoy en día.

Otro voto para esto.

votar a favor

No quiero ver otro comentario de 'voto a favor'. En su lugar, vota a favor la publicación del problema original en la parte superior. Por favor, no desordene la discusión con comentarios positivos.

Esperaba que algo como esto estuviera disponible en este momento, ya que estaba haciendo una copia de seguridad de mis cosas no sincronizadas, preparándome para un formato. Incluso si no hay sincronización, al menos debería haber algo para exportar todo el perfil , que pueda importar más tarde después del formato, o a otra computadora. Mi solución actual es:

  • code --list-extensions para obtener una lista de extensiones, péguelo en un .txt en una carpeta sincronizada.
  • Copie y pegue la configuración de usuario JSON en un archivo .txt en una carpeta sincronizada.
  • Copie y pegue los enlaces de teclas JSON en un archivo .txt en una carpeta sincronizada.

No terriblemente mal, pero todavía descuidado. No estoy 100% seguro de haber hecho una copia de seguridad de todo lo relacionado con VScode, por un lado.

Editar: noté que me perdí uno, afortunadamente antes de comenzar a formatear. Se agregó el tercer elemento a la lista.

¿Por qué no simplemente vincular los dos directorios que contienen extensiones de configuración, etc. con Dropbox? He hecho esto con atom durante años sin problemas. ¿Hay alguna razón por la que esto fallaría con vscode?

Las extensiones @backspaces pueden tener módulos nativos dentro de ellas, por lo que compartir extensiones entre Linux y Windows (por ejemplo) podría no funcionar
Es mejor compartir solo la lista de ID de extensión (en lugar de las extensiones en sí), para que Code (u otra cosa) pueda instalarlas.

Además, sería una experiencia mucho mejor si simplemente inicia sesión en VSCode y marca algunas casillas de verificación cuando se le solicite: "Por favor, marque lo que le gustaría importar/sincronizar:"

[x] extensions
[x] themes
[x] settings

¡Acordado! :)

Por favor, haz que esto suceda. Hoy tenemos la extensión de sincronización de configuración, pero es realmente difícil de configurar con esencia, etc. Algo integrado en VScode fuera de la caja sería mucho mejor y podríamos beneficiarnos de esto sin preocuparnos por instalar la extensión correcta.

@antoninadert bien dicho

Utilice el botón de pulgar hacia arriba si está de acuerdo con un comentario/problema. La mayoría de nosotros nos suscribimos a problemas para que podamos recibir notificaciones sobre el progreso y los anuncios, y recibir correos electrónicos con comentarios irregulares es, en el mejor de los casos, irritante.

Sería bueno saber si Microsoft tiene esto en su hoja de ruta. Me imagino que es complicado porque significará incluir un código propietario y la comunidad de código abierto se cagará cuando una parte del código se oscurezca. Pero tal vez este no sea el caso y MS podría incluirlo usando código abierto. De cualquier manera, sería bueno una actualización de esta función tan solicitada.

Las soluciones que existen actualmente (por ejemplo, Settings Sync, CodeSync) no funcionan bien al desinstalar extensiones debido a este problema: https://github.com/Microsoft/vscode/issues/14444
Supongo que si eso se arregla, las soluciones de la comunidad tendrán menos errores pero seguirán siendo complicadas.

¿Alguien sabe si MS tiene una hoja de ruta para Code en algún lugar?

No importa, lo encontré: https://github.com/Microsoft/vscode/wiki/Roadmap

Y no parece que se mencione nada relacionado con la configuración de sincronización. Crucemos los dedos para el próximo año. Sin embargo todos recordamos el logo marrón; tal vez, con suficientes votos a favor, echarían un vistazo a este problema antes.

Mencioné la solución de Dropbox anteriormente y estoy de acuerdo en que hay razones en contra.

PERO: suponiendo que las dos computadoras que estoy sincronizando son Mac de la misma versión del sistema operativo, ¿hay alguna razón para no usar el enfoque de Dropbox?

Y noté que el código cli incluso tiene una forma de cambiar la carpeta de extensión, por lo que podría estar directamente en Dropbox sin enlaces simbólicos.

Como autor de "Sincronización de configuración", estoy de acuerdo con la publicación real de este hilo.

En lugar de proporcionar la solución de sincronización de extremo a extremo por parte de Microsoft.
Sería genial proporcionar formas de permitir que las extensiones obtengan la información requerida.

Por ejemplo:

  1. Permita que los autores de extensiones lean cualquier archivo dentro del directorio User . Se las arreglarán para hacer un envoltorio con GitHub, Google Drive, OneDrive, GitLab, etc.
  2. Cree una API más personalizada para permitir eventos en ciertos puntos, como actualmente Settings Sync carece de carga automática en cualquier descarga de extensión. Abrí un problema y tengo más de 800 votos https://github.com/Microsoft/vscode/issues/14444 pero aún está pendiente.
  3. Permitir que los autores de extensiones habiliten o deshabiliten extensiones: https://github.com/Microsoft/vscode/issues/15466 y https://github.com/Microsoft/vscode/issues/37620

PD: Siempre busco mejorar la Sincronización de configuración: siéntase libre de discutir y enviarme un PR o mejorar el Wiki público

52739 es mi solicitud. Si bien está marcado como un duplicado (estoy de acuerdo con eso), creo que es importante tener en cuenta que la principal diferencia entre esta solicitud y la mía es que esta aboga por un mejor soporte de extensión (mejor) mientras que yo argumento por un soporte integrado ( mejor) como se hace en Visual Studio desde 2013.

Estoy totalmente de acuerdo con @Chiramisu : no queremos un mejor soporte de extensión. Queremos sincronización incorporada.

Una extensión de sincronización anula el propósito de la sincronización al agregar una gran cantidad de gastos generales. Esta es la solución actual que tenemos.

¿Qué tan increíble sería iniciar sesión en Visual Studio y descargar instantáneamente su perfil, proyectos, extensiones, configuraciones? en cualquier máquina (personal, trabajo).

Pues es lo que hace Google con Chrome: sincronizan automáticamente las extensiones, las credenciales, los favoritos... cuando inicias sesión.
Esta es una característica increíble si me preguntas.

@antoninadert Preferiría que VSCode exponga las API para que las extensiones realicen la sincronización, y seguro que una de ellas podría ser de Microsoft usando OneDrive o GitHub. Simplemente no veo una razón por la que deba haber una sincronización integrada que favorezca a un proveedor de nube.

@gandalfsaxe Por la razón obvia de que podría tenerlo en una instalación nueva de Visual Studio, en cada máquina y sin ninguna configuración.

Si estas ventajas no te hablan no tengo ni idea...

@antoninadert Ciertamente no protestaría si hicieran esto, y lo vería como mejor que nada, pero aún así preferiría la forma de API/extensión por dos razones estrechamente relacionadas:

  1. Si lo hacen integrado, es posible que no obtengamos una extensión de API para él también, por lo que podríamos quedarnos con la solución integrada durante algún tiempo sin alternativas. En principio podría ser un problema de seguridad para varias empresas si la única opción fuera OneDrive o GitHub.
  2. No favorecer una solución/almacenamiento en la nube sobre otra. Sin embargo, no me importaría una extensión desarrollada por Microsoft bien respaldada.

Pero si proporcionan tanto la funcionalidad incorporada como la API para que otras extensiones se sincronicen al mismo tiempo, también sería genial.

Todavía estoy pensando que una API de sincronización es el camino a seguir. Y sí, como sugirió @gandalfsaxe , una extensión de sincronización desarrollada por Microsoft y bien respaldada también estaría bien. Tampoco me importaría que la extensión esté preinstalada. Ese sería el compromiso perfecto entre conveniencia y extensibilidad.

Sin embargo, me resultaría extraño comenzar a tener extensiones preinstaladas. Creo que VSCode aún debería venir con cero extensiones listas para usar. Si es lo suficientemente importante/universal, debería estar integrado. De lo contrario, debería estar en el mercado como todo lo demás. Sería extraño tener una extensión de sincronización como excepción singular 🙂

Pero si proporcionan tanto la funcionalidad incorporada como la API para que otras extensiones se sincronicen al mismo tiempo, también sería genial.

También creo que esta sería la solución perfecta, por lo que si alguien tiene una solución mejor que la nativa, podría usarla.

Pero tenerlo incorporado sigue siendo la opción más importante si me preguntas.

@gandalfsaxe

  1. Si lo hacen integrado, es posible que no obtengamos una extensión de API para él también, por lo que podríamos quedarnos con la solución integrada durante algún tiempo sin alternativas. En principio podría ser un problema de seguridad para varias empresas si la única opción fuera OneDrive o GitHub.

Integrado no significa "OneDrove testarudo. Debería ofrecer opciones.

  1. No favorecer una solución/almacenamiento en la nube sobre otra. Sin embargo, no me importaría una extensión desarrollada por Microsoft bien respaldada.

Creo que tener el siguiente flujo es mucho más importante: 1) instalar VSCode; 2) Iniciar sesión; 3) eso es todo
Así que tiene que haber una solución integrada.

@MrCroft Seguro que sería increíble si el equipo de VSCode pudiera priorizar el soporte integrado para 3-10 servicios en la nube. Mi sugerencia se basó en mi suposición de que el equipo de VSCode no tiene este problema como uno de alta prioridad en particular.

En mi opinión, la solución podría hacerse en dos pasos:

  1. Solución ahora: exponga las API relevantes para que una extensión pueda sincronizar todas las cosas relevantes utilizando un servicio en la nube arbitrario.

  2. Solución a largo plazo: 1) instalar VSCode; 2) Iniciar sesión.

Sin embargo, estaría feliz con cualquier solución. Usar VSCode multiplataforma es un poco engorroso en este momento.

@gandalfsaxe Entiendo totalmente su punto (y el de otros) con respecto al argumento de la API, y estoy de acuerdo en muchos aspectos. De cualquier manera, personalmente preferiría tener una opción de Microsoft ya que sincronizo con mi cuenta de Microsoft y, por lo tanto, confío inherentemente en ellos con esos datos. No obstante, estoy a favor de que la gente tenga opciones. Que gane la mejor extensión.

La sincronización de entornos es un valor agregado sustancial para mí porque tengo VSCode y VSCode Insiders instalados en no menos de dos dispositivos y 3-4 entornos en total, incluidas las máquinas virtuales locales (Windows y Linux).

Intenté usar la prometedora extensión Setting Sync de Shan Khan, pero no es compatible con la versión portátil de VSCode. ¿Por qué no? Creo que porque está esperando que VSCode proporcione una API para exponer las rutas de los archivos para que pueda hacerlo de manera más segura y no tenga que codificar varias rutas.

Actualmente no hay un identificador de extensión para saber que el Código se está ejecutando en modo portátil.
Para admitir el modo portátil, Settings Sync necesita saber si el código se está ejecutando en él ( https://github.com/Microsoft/vscode/issues/54824 ) y varias rutas que incluso el usuario ha cambiado ( https://github.com/ Microsoft/vscode/issues/2741 ) como mencionó @GandalfSaxe .

@shanalikhan ¿Podría un cambio manual entre una solución portátil/no portátil ser una solución provisional temporal?

integre con la cuenta de microsoft o/y github para sincronizar todo. :)

s2 Vscode! ¡La mejor idea jamás hecha!

Si vscode se integra con las cuentas de Microsoft o Github, podría haber mejoras en el visor de extensiones, como la capacidad de revisar una extensión desde Code. También podría haber una opción para informar problemas que generan automáticamente información de extensión.

Dado que Microsoft posee Github, también sería rentable ya que animaría a las personas a mantener sus cuentas de Github. La integración superior de git realmente motivaría a las personas a dejar atrás otros editores de texto y adoptar Code.

Estoy pensando en alterar la vista de configuración de actividad para que actúe como un administrador de cuenta. Podría enumerar sus notificaciones, configuraciones de cuenta y más. Básicamente, solo reemplazaría el menú contextual, creando una interfaz más optimizada.

Realmente preferiría que vscode busque una carpeta .vscode en mi directorio de inicio y cargue la configuración desde allí, si existe. Esto me permitiría decidir con qué servicio decido sincronizarlo y cómo sucede de manera completamente externa a la aplicación en sí. Si quiero usar git: hago de .vscode un repositorio de git, si quiero usar dropbox: puedo vincularlo, etc.

Muchos editores admiten archivos de puntos de atom a vim y todo lo demás. Muchas de estas herramientas incluso buscan archivos de puntos en Windows, por lo que no veo por qué se ignoraría este patrón aquí.

@fishpen0 ¿Cómo funcionaría eso para la versión portátil?

Si hay un directorio .vscode en la misma ruta que el ejecutable, cárguelo con la preferencia más alta.

@fishpen0 Creo que es una buena idea: use el archivo en .vscode si existe (tal vez agregue una fila para decidir la prioridad: .vscode sobre sincronización, .vscode con sincronización (intentar mezclar), .sync sobre .vscode)
Para que tengamos lo mejor de ambos mundos

Algunas cosas geniales aquí.
Estaría feliz con un archivo .vscode que contenga toda la información que me gustaría "portátil"... de esta manera puedo mantener esa carpeta en un repositorio de Git... cambiando ligeramente mi método preferido en #56850 , pero aceptable.

Entonces sería algo como:

  1. Instalar Código VSC
  2. Clone el repositorio de .vscode Git en la ubicación de .vscode que busca VSCode.
  3. Reinicie VSCode, luego mire cómo regresa con todas mis configuraciones, la instalación de extensiones y los repositorios de Git vinculados.

Es un gran dolor configurar otra instancia de VSCode en otra computadora. Hay demasiadas extensiones para reinstalar, demasiados repositorios de Git para volver a clonar, demasiadas configuraciones para rehacer.

Debería poder al menos exportar/importar una lista de extensiones, eso debería ser lo suficientemente fácil de implementar.

Deseando agregar configuraciones de importación y exportación o cargar configuraciones a la cuenta de Microsoft.

Si la integración con la cuenta de Microsoft sería difícil. Tal vez podría implementarse al principio como lo hacen los perfiles de navegador, separar todas las configuraciones de usuario en una sola carpeta. Luego, el usuario podría crear, por ejemplo, un repositorio git para sincronizarlo en otros lugares. La sincronización es algo que Git hace bien y podría integrarse con cualquier sistema en la nube como Bitbucket, Gitlab, etc.

Realmente sorprendido de que la sincronización de cuentas no estuviera integrada en Code desde el primer día. Parece una obviedad.

De @SrTobi

Así que aquí algunas ideas para hacer que la sincronización sea limpia y extensible:

  • agregue un punto de contribución para las extensiones de sincronización

¡¡¡SÍ!!! Hace posible ser agradable y limpio.

Agregaría una consideración. Herencia de configuraciones con anulaciones basadas en la fuente de configuración. No quiero que mi configuración sea la misma en todos los proyectos. Cuando se trabaja en Vim, es común tener configuraciones basadas en proyectos para macros/atajos de combinación de teclas, aunque Vim se parece mucho al salvaje oeste en este sentido, por lo que me gusta su idea de hacer esto posible a través de un punto de contribución. Eclipse permite esto también para todo tipo de configuraciones, aunque no es muy limpio en Eclipse.

+1

Hay algunas funciones para las que no confiaría en ninguna extensión de terceros. ¡La sincronización de cuentas es definitivamente una de ellas!

Visual Studio 'normal' tiene esta función: inicia sesión con su cuenta de Microsoft y sincroniza la configuración. Lo tiene desde al menos Visual Studio 2015. Sería genial tener esto en VS Code también. Me pregunto si incluso podría reutilizar el mismo sistema de back-end.

Desde la perspectiva de configurar una nueva máquina, esa extensión me obliga a pasar por el proceso de instalar esa extensión y agregar claves de github a vscode antes de que pueda sincronizar mi configuración. En ese momento, también podría estar copiando manualmente mi configuración desde un archivo en Dropbox o algo así.

Todo lo que quiero es un directorio en el que pueda colocar mis archivos de configuración y complementos en las cargas automáticas de vscode para poder administrarlo con cualquier herramienta o proceso que desee.

Voy a reiterar mi sugerencia de usar el patrón dotfile folder in my home directory que todos los editores que he usado antes (vim, sublime, atom, jetbrains, emacs) también admiten.

Me doy cuenta de que este patrón puede ser confuso o nuevo para las personas que vienen de entornos de Windows, pero es muy efectivo para resolver este problema. Eche un vistazo a https://dotfiles.github.io/ para ver cientos de ejemplos de personas que usan dotfiles para administrar su configuración entre máquinas y entornos.

Está viendo un tiempo de entrega de configuración de cualquier manera. No digo "esta idea apesta", solo me aseguro de que aquellos que buscan esta funcionalidad sepan que existe a través de la extensión. Puede que no sea suficiente para ti; puede ser suficiente para ellos.

Prefiero iniciar sesión en mi cuenta de MS y hacer que sincronice todo como Google Chrome sincroniza todo.


De: cmcit-bferg [email protected]
Enviado: miércoles, 3 de abril de 2019 22:04:23
Para: Microsoft/vscode
CC: tjgruber; Comentario
Asunto: Re: [Microsoft/vscode] Brindar soporte para sincronizar configuraciones entre máquinas (#2743)

Está viendo un tiempo de entrega de configuración de cualquier manera. No digo "esta idea apesta", solo me aseguro de que aquellos que buscan esta funcionalidad sepan que existe a través de la extensión. Puede que no sea suficiente para ti; puede ser suficiente para ellos.


Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode%2Fissues%2F2743%23issuecomment-479638007&data=02 % 7C01% 7C% 7C56f78e59d2884cb592d308d6b86f9245% 7C84df9e7fe9f640afb435aaaaaaaaaaaa% 7C1% 7C0% 7C636899186661366632 y sdata = ITS3% 2B7c1ZmJWka4q1yS3O% 2BfpoSl6sjCs7d4ERESn% 2F% 2FK% 3D y reservado = 0 , o silenciar el hilo https://eur02.safelinks.protection.outlook.com/?url= https% 3A% 2F% 2Fgithub.com% 2Fnotifications% 2Funsubscribe-auth% 2FAO2oZ6E6OqvvTlOgQKwld4j5RhDr9vtVks5vdQlHgaJpZM4HUeqZ y datos = 02% 7C01% 7C% 7C56f78e59d2884cb592d308d6b86f9245% 7C84df9e7fe9f640afb435aaaaaaaaaaaa% 7C1% 7C0% 7C636899186661376637 y sdata = CQb0niUDYXXvo% 2BcstXiyu5zxZ3h% 2BHpFNV7% 2BGbiM3WAA% 3D y reservado = 0 .

Realmente espero que ustedes puedan apoyar el inicio de sesión. cuando cambio mi computadora, debo reescribir mi configuración. Odio este sentimiento.

Settings Sync ahora proporciona GUI para integrar y sincronizar sin problemas su configuración con solo iniciar sesión en Github y seleccionar GIST de las listas de GUI Gist.

¿Qué piensan ustedes al respecto, cómo podemos mejorar mucho más?

Para aquellos que continúan insistiendo en usar una extensión de TERCEROS, creo que no entienden el punto. Incluso si la API es segura, incluso si reviso el código fuente en un punto fijo en el tiempo para asegurarme de que no haya problemas, es poco probable que continúe haciéndolo indefinidamente.

Por lo tanto, para cualquier cuenta que tenga con cualquier servicio, confío solo en ese proveedor con la información relacionada con mi cuenta. De hecho, también pueden fallar, pero prefiero mitigar ese riesgo al no introducir una extensión de terceros como otra vulnerabilidad de seguridad variable y potencial. Cuando se trata de seguridad,

Siempre me esfuerzo por tomar decisiones sabias e informadas, y usar una aplicación de terceros para sincronizar datos en mi cuenta sería todo lo contrario.

No me siento bien usando ninguna extensión para sincronizar todas mis configuraciones. Debe ser una función integrada de Visual Code. Inicie sesión con GitHub o cuenta de Microsoft y guarde todos los datos como:

  • Extensiones
  • Ajustes (Configuraciones)
    y etc.

De acuerdo. la extensión funciona bien, sin embargo, parece una oportunidad perdida de ser mucho más fácil de usar al tener todo vinculado a Microsoft o GitHub

¡Esta es probablemente una de esas cosas en las que Microsoft será inútil! Dependerá de algunos desarrolladores crear una extensión para esto... probablemente se completará mucho más rápido y con mejor calidad.

Incluso si no está sincronizando la configuración, al menos es una forma confiable de exportar todo e importarlo todo. Utilizo diferentes configuraciones y extensiones dependiendo de si es personal o relacionado con la empresa, por lo que para mí exportar/importar sería mejor que sincronizar. ¡Pero ambos estarían bien!

Para aquellos que continúan insistiendo en usar una extensión de TERCEROS, creo que no entienden el punto. Incluso si la API es segura, incluso si reviso el código fuente en un punto fijo en el tiempo para asegurarme de que no haya problemas, es poco probable que continúe haciéndolo indefinidamente.

Por lo tanto, para cualquier cuenta que tenga con cualquier servicio, confío solo en ese proveedor con la información relacionada con mi cuenta. De hecho, también pueden fallar, pero prefiero mitigar ese riesgo al no introducir una extensión de terceros como otra vulnerabilidad de seguridad variable y potencial. Cuando se trata de seguridad,

Siempre me esfuerzo por tomar decisiones sabias e informadas, y usar una aplicación de terceros para sincronizar datos en mi cuenta sería todo lo contrario.

Exactamente lo que pensé. Apenas entiendo por qué no hay un módulo de sincronización incorporado en VSCode.

Acabo de empezar a mantener mi configuración y la lista de extensiones en un repositorio (con un script de configuración de la estación de trabajo):

https://gitlab.com/aztek-io/vscode-settings

Estoy totalmente de acuerdo, aunque sería bueno que vscode se comporte como Google Chrome, donde simplemente inicia sesión con su cuenta y todo es como lo tenía configurado en una gran cantidad de estaciones de trabajo.

¿Por qué alguien simplemente no escribe una extensión para automatizar la administración de su
configuraciones en un repositorio de Git, haciendo confirmaciones y empujando/tirando cada vez que
¿hacer un cambio? VSCode envía (o al menos sugiere la presencia de) cada
herramienta que necesitarías para construir esto. Entonces alguien puede sincronizar la configuración donde sea
les gusta, privado o público, no se necesita una cuenta de Microsoft. Seguro que podemos
en su mayoría hacemos esto nosotros mismos, pero no uso VSCode lo suficiente como para saber qué
versión y qué es específico del sistema operativo/plataforma. Entonces, si alguien pudiera empaquetar
ese conocimiento en una extensión llamada algo así como el
Git Settings Sync fácil de buscar, lo agradecería mucho. :)

esto parece bastante fácil, y me sorprende que aún no se haya hecho. Hacemos
¿No tiene las API/permisos necesarios para lograr esto en un complemento?

@ndarilek hay - se llama SettingsSync pero queremos que sea nativo en la aplicación y no una extensión

¿Eso no se sincroniza con una esencia, que es a) pública yb) específica de GitHub?
Recuerdo que también requería una gran cantidad de configuración manual, aunque
Creo que eso puede haber cambiado recientemente.

La mayoría de nosotros tenemos acceso a algunos VCS u otros, e incluso entonces a algunos
mecanismo para alojar un repositorio privado, incluso si es a través de SSH en un VPS económico.
Dado eso, no tengo claro por qué tendríamos que vincular la sincronización con Microsoft,
GitHub, o incluso un VCS específico.

Probablemente buscaré hacer esto cuando VSCode sea accesible bajo
linux A partir de ahora no soy un usuario de VSCode, pero no entiendo por qué esto
no es una opción viable. Nada en contra de Microsoft, pero la configuración se sincroniza
no es particularmente complicado, y prefiero alojar esos datos yo mismo.

Solo algunos puntos de datos:
1- Github es Microsoft
2- VSCode está en Linux
3- el problema con las extensiones de terceros es la confianza cuando se trata de más
información confidencial, como inicios de sesión que se utilizarían para almacenar la
Información necesaria.

El jueves 12 de septiembre de 2019 a las 10:37, Nolan Darilek [email protected]
escribió:

¿Eso no se sincroniza con una esencia, que es a) pública yb) específica de GitHub?
Recuerdo que también requería una gran cantidad de configuración manual, aunque
Creo que eso puede haber cambiado recientemente.

La mayoría de nosotros tenemos acceso a algunos VCS u otros, e incluso entonces a algunos
mecanismo para alojar un repositorio privado, incluso si es a través de SSH en un VPS económico.
Dado eso, no tengo claro por qué tendríamos que vincular la sincronización con Microsoft,
GitHub, o incluso un VCS específico.

Probablemente buscaré hacer esto cuando VSCode sea accesible bajo
linux A partir de ahora no soy un usuario de VSCode, pero no entiendo por qué esto
no es una opción viable. Nada en contra de Microsoft, pero la configuración se sincroniza
no es particularmente complicado, y prefiero alojar esos datos yo mismo.


Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/microsoft/vscode/issues/2743?email_source=notifications&email_token=AAFNROZZY2TJGCV2GS7XBI3QJJH33A5CNFSM4B2R5KM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6SDL6Q#issuecomment-5
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AAFNRO547VFY2VLO6BH7WQLQJJH33ANCNFSM4B2R5KMQ
.

  1. Lo sé. El punto es que tenemos la capacidad de tener sincronización de terceros
    sin cuentas/proveedores externos involucrados, excepto por algo como
    mínimo como acceso SSH en alguna parte. Microsoft o no Microsoft es sólo un
    factor en la medida en que son un proveedor de una cuenta. sentiría lo mismo
    sobre vincular la sincronización con GitHub como lo haría con GitLab, Google o Owncloud.
    Y la gente ha versionado la configuración del editor a través de Git durante años, al igual que
    ya ha sido señalado. Me preguntaba cómo podríamos capturar eso.
    conocimiento en una extensión, porque ahora mismo tendría que buscar en Google cómo
    configurar algo y hacer el trabajo yo mismo. capturando eso
    conocimiento/proceso en una extensión ahorraría tiempo.

  2. Puede estar en Linux, pero estoy ciego y las aplicaciones de Electron son en su mayoría
    inaccesible en este momento. De ahí el "No estoy trabajando en esto ahora, pero
    Me encantaría que alguien más pudiera "palabras de comadreja: solo uso VSCode
    en máquinas virtuales de Windows para ciertas tareas, y la latencia lo mata por solo
    sobre cualquier otra cosa. Se acerca la accesibilidad de electrones/cromo, pero IIRC
    Microsoft ha modificado algunos Electron. Si eso es cierto, es de esperar que el
    fork puede capitalizar el trabajo upstream actual que está ocurriendo en
    Cromo/Cromo.

  3. Buen punto, aunque si el problema es la falta de confianza en la extensión
    mecanismo, entonces, ¿por qué preocuparse por los vectores de ataque relacionados con la sincronización?
    ¿Qué pasa con la filtración de código u otros archivos por literalmente cualquier otro
    extensión que ha instalado? O si te preocupa la configuración
    específicamente, ¿no podría escribir una extensión no relacionada con la configuración que
    subido su configuración a mi propio servidor? Genuino no trolling
    pregunta: no sé cómo funciona el mecanismo de extensión, pero no
    creo que encierra cualquier cosa, ¿verdad?

Gracias.

Solo para su información, @ndarilek Settings Sync puede sincronizarse con una esencia privada, solo necesita proporcionarle un token de acceso. Es fácil de usar. Pero sus preocupaciones sobre la confianza son válidas, y sería ideal si vscode agregara su propia funcionalidad de sincronización de configuración federada

Propuesta de diseño de sincronización de configuraciones:

Estamos planeando sincronizar la configuración integrada dentro de VS Code de la siguiente manera:

  • VS Code proporcionaría la interfaz de usuario y la función para sincronizar configuraciones, combinaciones de teclas, extensiones y fragmentos.
  • VS Code habla con un punto final de servicio para leer y escribir los datos

Ajustes de código VS Punto final del servicio de sincronización

  • Proporciona API ReST para leer y escribir datos (backend)
  • Proporciona un mecanismo de autenticación para que los usuarios inicien sesión.

Kamino clonó este problema en ChaseKnowlden/vscode

@sandy081 ¿la propuesta de diseño admitirá la sincronización hacia/desde una cuenta de Microsoft?

Hola equipo de VSCode,

Dado que esto va a ser una cosa, me encantaría sugerir que Azure AD y las cuentas personales de Microsoft tengan la capacidad de autenticación.
También se agradecerían otros proveedores de OAuth (por ejemplo, Google, GitHub, etc.)

¡Gracias!

¡Quizás incluso podría sincronizar esta configuración con Visual Studio Online! Mis 2 centavos :-)

Acabo de ver la vista previa y quería ingresar que también se deben incluir fragmentos de sincronización.

La sincronización de fragmentos y el estado global está prevista para el hito de marzo: https://github.com/microsoft/vscode/issues/86678

Todos, como saben por nuestra última versión, la función de sincronización de configuraciones se muestra en una vista previa en Insiders. Por lo tanto, pruebe la función con nuestros expertos y envíenos sus comentarios: https://code.visualstudio.com/insiders/

<3 Deseo que estas características sean estables

Antes de dedicar tiempo a crear una extensión que sincronice todo, creo que sería más beneficioso dedicar algún tiempo a seleccionar cuáles serían los mejores archivos .gitignore para incluir de forma predeterminada en las carpetas de VS Code, luego las personas pueden comenzar inicializando repositorios de git y confirmando cosas con confianza.

En este momento, básicamente confirmo todo en mi carpeta ~/.vscode , incluidas las extensiones y los cachés, porque, sinceramente, no sé qué no confirmar.

No deberíamos tener que comprometer todas las extensiones. Como ejemplo, como mencionó @felixfbecker , sería genial si hubiera un archivo extensions.json dentro de la carpeta VS Code del usuario para que podamos confirmar eso en lugar de confirmar todas las extensiones. Con esto en su lugar, el equipo de VS Code simplemente necesitaría enviar un buen archivo .gitignore (que ignore las extensiones pero no extensions.json , etc.), y luego todos estaremos felices.

Después de que este control básico de versiones esté en su lugar, será mucho más fácil crear extensiones de "sincronización" encima.

@ sandy081 ¿Permite esto sincronizar configuraciones con github para personas que no tienen una cuenta de MS?

También puede usar su cuenta de GitHub para iniciar sesión, pero sincronizará los datos con el backend de MS Azure. Ver documento aquí - https://code.visualstudio.com/docs/editor/settings-sync#_enabling -settings-sync

@sandy081 Todavía necesito tener una cuenta de Azure o Outlook.

¿No podemos simplemente usar gist como setting-sync ? para que los usuarios no tengan que crear nuevas cuentas.

¿No podemos simplemente usar gist como setting-sync? para que los usuarios no tengan que crear nuevas cuentas.

No. Los Gists privados no están listados, pero son públicos si puedes adivinar la URL. Es peligroso. No querría que ninguna preferencia relacionada con las credenciales o tokens se comprometiera accidentalmente en una esencia.

Sería conveniente usar cuenta de Github, sin MS Azure.

Si bien aprecio esta función, sinceramente, no estoy interesado en crear una cuenta de MS o usar GitHub gists para mantener sincronizadas mis configuraciones, extensiones, etc. de VSCode.

Siempre he mantenido mi configuración para Sublime Text y Atom felizmente versionada y completamente sincronizada con Git en mis dotfiles. Si bien ya hago esto para VSCode, no he encontrado una manera de sincronizar también las extensiones. En Atom, usé package-sync . Esto me permitió mantener la lista de extensiones en un archivo packages.cson . IIRC, Sublime Text hizo algo similar listo para usar.

Me encantaría ver algo similar construido en VSCode, ya que me parece el enfoque más sensato. Pero, si no es probable que tenga esta función incorporada, ¿existe tal vez una extensión que lo haga y se escape a mis habilidades de Google-fu?

Private Gist me ha funcionado muy bien con el complemento Settings Sync de Shan Khan, así como con más de 1,5 millones de personas más. Ese es lo suficientemente bueno en mi humilde opinión, no necesita nada más.

@OmeGak Mi script para sincronizar extensiones a través de bash/dotfiles:

https://github.com/ithinkihaveacat/dotfiles/blob/8a3c9b2cc0e88bcdc6d8c3e3faf47c6f3cc11d1c/update#L390 -L399

No es el enfoque más fácil de usar, pero bueno, me conviene. (Y no requiere que cree una cuenta).

Nuevamente, digo que necesitamos una forma de sincronizar la configuración sin una cuenta de MS (usando una cuenta de GH ya existente)

Apoyo tener una opción de sincronización propia. He estado usando la sincronización de configuraciones de Shan Khan y, aunque es agradable, recientemente encontré dos problemas.

  1. Las esencias privadas no están bloqueadas detrás de la autenticación. Si alguien adivina su hash esencial, puede ver su información.
  2. La extensión recientemente comenzó a desinstalar la extensión integrada de TypeScript de mi VSCode y tuve que desactivar la opción de eliminar extensiones para solucionarlo. Esto me causó un par de horas de interrupción del trabajo.

¿Esta función estará disponible en vscode OSS?
Estoy usando un sistema Linux basado en musl y FreeBSD, y ambos no tienen una versión oficial de Electron.

En mi humilde opinión, la mejor manera de sincronizar la configuración es a través de un repositorio git
ej.: Repositorio de configuraciones de JetBrains
Beneficios

  • No se necesitan cuentas nuevas, puede usar cualquier servicio de git (GitHub, Bitbucket, GitLab) que la mayoría de los desarrolladores ya tienen
  • Puede mantener la configuración privada mediante el uso de un repositorio privado

Si la privacidad es una preocupación, todo lo que realmente necesita es una función de exportación/importación (que realmente debería proporcionarse cuando pasa a ser estable),
ya que no necesita almacenar cosas en un lugar externo. (que incluiría git si usara un servidor remoto)

Pero si quiero que todo esté sincronizado, prefiero que lo haga la empresa que creó la aplicación en primer lugar,
si no confío en ese (al menos hasta cierto punto), entonces ¿por qué consideraría usar su aplicación?

Sin mencionar que MS también posee github ahora, por lo que realmente no importa si usa una cuenta de MS o una de github. (Con esencia, como se mencionó, es bastante inseguro, razón por la cual no lo usé todavía y estoy esperando ansiosamente que esta próxima función sea estable)

Como dijo @neico , también permite a los usuarios exportar, importar su configuración como un archivo zip.

Recomendaría crear problemas separados para requisitos separados. Esos podrían quedar sin seguimiento de lo contrario. Por lo tanto, cree problemas separados para sus deseos.

Sería conveniente usar cuenta de Github, sin MS Azure.

Para los desarrolladores en China, no es conveniente.

Sería conveniente usar cuenta de Github, sin MS Azure.

Para los desarrolladores en China, no es conveniente.

¿Por qué? Puedo usar GitHub en China y parece ser más estable que MS Azure.

@ sandy081 Abrió números separados para

Usar una cuenta de Github es útil si no tiene MS Azure.

Esto no es conveniente para los desarrolladores chinos.

¿Por qué? Puedo usar GitHub en China y parece ser más estable que MS Azure.

Será más lento en algunos momentos especiales.
MS Azure debería ser suficiente

Empecé a usar la sincronización de configuración de vscode-insiders. Pero inmediatamente me encontré con un problema. Cuando trato de sincronizar la configuración entre vscode-wsl y Visual Studio en línea, no puedo usar una variable de entorno para corregir los nombres de las carpetas para ciertas carpetas del espacio de trabajo, como leetcode. Intenté configurar "leetcode.workspaceFolder": "${ env:HOME }/go/src/github.com/rafee/leetcode", pero no funciona. Esto se mencionó anteriormente en el n.º 2809.

No se recomienda sincronizar configuraciones específicas de ruta a menos que la extensión que posee esta configuración pueda manejarlas con variables env.

¿La sincronización de configuraciones podrá sincronizar los archivos de configuración de ssh?

No a partir de ahora.

qué método es seguro por ahora para sincronizar

https://gist.github.com/wonderbeyond/661c686b64cb0cabb77a43b49b16b26e

o

https://mikefrobbins.com/2019/03/21/backup-and-synchronize-vscode-settings-with-a-github-gist/#comment -39448

Yo personalmente uso esta extensión:
shan.code-settings-sync
Es súper increíble y mantiene mi configuración privada en una esencia privada de github.

@elliot-labs como se discutió anteriormente en este hilo, las esencias secretas de github no son privadas. La documentación de Github lo confirma https://docs.github.com/en/github/writing-on-github/creating-gists

Usé la misma extensión, pero saqué cierta información confidencial de mi configuración después de descubrir que no era privada.

¡Oh mierda! ¡Me lo perdí! 😬

@elliot-labs y @haugerbr
Gracias,
Tampoco sé que la esencia no es privada.
así que ahora estoy pensando en escribir algunos scripts para cargar configuraciones en la nube
y un script para descargar e instalar

También construí un programa que me muestra scripts al inicio.
para que pueda poner esos guiones allí.

Chicos, ¿la sincronización vscode-insiders no es una opción?

Estoy de acuerdo con @escape0707. Vs Code Insiders ahora tiene sincronización de configuración que pronto llegará al lanzamiento público. Esto no es efectivamente un problema y se ha abordado.

@escape0707 @jakobhviid Lo conozco y es exactamente lo que planeo usar una vez que pase a las versiones normales de VSCode. Por ahora sigo usando la sincronización de configuraciones mientras espero.

La función de sincronización de configuración (vista previa) ha aterrizado en estable (1.48), por lo tanto, se cerró.

Cree problemas separados para otras solicitudes o errores.

@sandy081 tiene perfiles separados dentro de la misma cuenta, ¿una función que ya se ha solicitado? Por ejemplo, si quiero usar mi cuenta de github para el método de autenticación pero quiero perfiles de trabajo/personales separados. Por ahora, uso cuentas separadas que en realidad me gustan más para la separación personal/laboral, pero puedo ver un caso de uso en el que las personas quieren múltiples perfiles personales. Abriré una solicitud de función si aún no existe.

Revise los problemas de sincronización de configuración existentes y cree uno si no existe.

Lo encontré. Etiquételo aquí en caso de que alguien que lea este hilo también esté interesado en rastrearlo #92393

Únase a mí en una buena ronda de aplausos y muestre su gran aprecio por agregar esta función (a partir de 1.48 ). ¡Estoy emocionado y eufórico! ¡¡Muchas gracias equipo de VS Code!! 👏🏼👏🏼👏🏼

Excited Guy

Sin embargo, si pudiera permitirme solo dos quejas menores:

  1. Parece que tengo que volver a autenticarme después de un tiempo de espera muy corto (¿un día quizás?) Y un reinicio de VS Code.
  2. La autenticación se lleva a cabo en un navegador, y dado que tengo tabitis y, a veces, no tengo mi navegador abierto, esto se vuelve algo... molesto.

Gracias.

Sugeriría abrir nuevos problemas para los problemas que enfrenta con los pasos para reproducir.

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