domingo, 16 de agosto de 2015

Visual Studio Code. El editor de código multiplataforma de Microsoft.

Parece que la apertura de Microsoft a plataformas, lenguajes y herramientas de terceros es una apuesta seria.

Esta apertura a la comunidad de desarrollo, sin encerrarse en su mundo de herramientas, lenguajes y plataformas propias, ya lo había demostrado con diferentes pasos: participando o liderando proyectos open source, adaptando su navegador Internet Explorer a los estándares o modificando su principal herramienta de desarrollo (Visual Studio) no sólo para desarrollar aplicaciones en diferentes plataformas (Mac, Android), si no también para integrarse con herramientas de terceros como Git.

También cabría comentar la posibilidad que da Azure de trabajar con diferentes plataformas y aplicaciones.

Sin embargo sus herramientas de desarrollo (la principal Visual Studio) sigue requiriendo de un sistema Windows para poder ser utilizada.

Pues Microsoft ya ha dado el primer paso para romper esta última barrera, y el responsable de conseguirlo se llama Visual Studio Code.

Visual Studio Code, a primera vista, ha nacido para quedarse. Aunque aún se encuentra en versión Preview ya cuenta con importantes características.

Es un editor de código multiplataforma. Existen versiones para Windows, OS X y Linux.

Es multilenguaje. Soporta lenguajes tan variados como C#, C++, PHP, Java, HTML, R, CSS, MarkDown o Python, entre otros muchos.

Tiene características de edición avanzadas e Intellisense.

Incorpora herramientas de depuración TypeScript, JavaScript, Node.js o ASP .NET 5.

Gestión de fuentes a través de Git, lo que le permite integrarse con Visual Studio Online o Github.

Y, según Microsoft y las personas que lo han probado (yo me lo acabo de descargar y no he podido más que echarle un vistazo), la edición del código resulta extremadamente ágil.

Habrá que ver la aceptación que tiene en la comunidad de desarrollo pero creo que vale la pena detenerse a echarle un vistazo. Yo lo voy a hacer.

Más información en:

Visual Studio Code

Descarga:

Visual Studio Code Download


18 comentarios:

  1. Hola, Asier, alli le deje una contraconsulta sobre el Tema de TextBox.Enable = false, recuperarlo cono Enable = true en otro webForm, en el foro de c# del dia 11/9/15 .....Nos vemos, disculpe las molestias, nos vemos....

    ResponderEliminar
  2. Asier, alli le deje otro post no respondido del anterior en foro c# hoy sabado, si me lo pudiera responder, disculpe, gracias, abrazo....

    ResponderEliminar
  3. Hola, Asier, disculpe que lo moleste......quisiera consultarle, si fuera posible una respuesta suya, como hago para preguntar, en un objeto Button, si otro Button fue accionado anteriormente, por ej: If(buttonModificar_Cilck()....(creo que seria asi)) {acciones},...... else {acciones}...............Si conoce la respuesta, podria pasarmela???..............Mil millones de garcias, abrazo, disculpe....

    ResponderEliminar
    Respuestas
    1. Hola Guillermo,
      los eventos generados en Windows Forms no quedan registrados por lo que no puedes realizar esa comprobación a no ser que registres tú mismo cuándo se produce el evento click del botón Modificar.

      Por ejemplo podrías crearte una variable booleana privada a nivel de Form en la que registres que el botón ha sido pulsado:

      Private bool modificarHasBeenClicked = false;

      Luego en el evento click del botón buttonModificar registras que se ha producido el evento:

      modificarHasBeenClicked = true;

      Así, en el segundo botón no tendrías más que comprobar el valor de la variable:

      if (modificarHasBeenClicked) {
      modificarHasBeenClicked = false;
      // Acciones a realizar si el botón ha sido pulsado
      }
      else {
      // Acciones a realizar si el botón no ha sido pulsado
      }

      Eliminar
    2. Hola, Asier, el tema funciona....mil millones de gracias.....pero para completar la operacion sucede los sig:

      el tema es en WebForm........como veras, se trata de un Alta, Baja, Modificacion de datos de una tabla........el tema es que se cargan dos TextBoxs (uno TextId_Rol, y otro TextDescripcion, los dos Enabled = false), cuando aprieto buttonModificar, se hace Enabled = true solo el TextDescripcion, y cambio el contenido de este solo Text, y luego aprieto buttonAgregar y grabo ese nuevo contenido, pero me agrega esto en la Tabla con un nuevo Id_Rol, y no me actualizo con el mismo Id_Rol, que es lo que pretendo........El tema seria, en esta operacion, como hago para que se modifique el contenido del textDescripcion, manteniendome el mismo Id_Rol del TextId_Rol, en la Tabla, sin nuevo Id_Rol??............Si logro solucionar esto, lo replico en todo los ABM que tengo en mi Proyecto Educacional.....desde ya mil millones de gracias, Asier, un abrazo, nos vemos..

      Eliminar
    3. Hola Guillermo,
      lo que tendrías que hacer es recuperar el Id_Rol del TextBox TextId_Rol y comprobar si ya existe un registro para ese valor en base de datos. Si existe actualizas, si no insertas un nuevo registro.

      Eliminar
    4. Grcaias, Asier, ya me fijo....

      Eliminar
  4. Mi mail es guille_ferrero33@hotmail.com

    ResponderEliminar
  5. HOla, Asier, disculpe que lo moleste, le consulto por si sabe como se hace para llenar una colunma "Fecha" de un GridConsAsist (por supuesto, este tien mas columnas) con dato de un solo TextBox externo al mismo, y despues de un Boton "Consultar".......Tambien le recuerdo el post mio inmediato anterior a este...........(stoy en el final de una Tesis Infromatica, disculpe mi protagonismo)........
    Desde ya le estoy agradeciendo muchisimo por sus devoluciones.......abrazo......

    ResponderEliminar
    Respuestas
    1. Hola Guillermo,
      entiendo que estamos hablando de un control DataGridView.

      Si no te he entendido mal lo que pretendes es asignar el valor de un TextBox a todas las celdas de una columna del DataGridView.

      Bastaría con recorrer las filas y asignar el valor a la celda correspondiente. Algo así:

      foreach (DataGridViewRow row in GridConsAsist.Rows)
      {
        if (!row.IsNewRow)
          row.Cells["Fecha"].Value = textBoxFecha.Text;
      }

      Eliminar
    2. Mil millones de gracias, Asier, espero no molestarte mas, abrazo...

      Eliminar
  6. Hola, Asier, Disculpa, el Proyecto que estoy haciendo es WebForm.....con lo que me aportaste me da ahora este Error:

    System.Web.UI.WebControls.GridViewRow' does not contain a definition for 'IsNewRow' and no extension method 'IsNewRow' accepting a first argument of type 'System.Web.UI.WebControls.GridViewRow' could be found (are you missing a using directive or an assembly reference?)

    Justamente, me faltara un using webform u otra cosa???...........Disculpa las molestias, un abrazo, nos vemos

    ResponderEliminar
    Respuestas
    1. Sí, el código que te ponía de ejemplo era para el control DataGridView de Windows Forms.
      Con el GridView podrías hacer algo así:

      foreach (GridViewRow row in GridConsAsist.Rows)
      {
      row.Cells[indice_columna_fecha].Text = textBoxFecha.Text;
      }

      Eliminar
    2. Mil millones de gracias, Asier, espero no molestarte mas, abrazo...

      Eliminar
    3. Siii, Asier, pero me da [indice_columna_fecha] "no existe en el contexto actual".....Y puse asi: [Index_Columns_Fecha] , y solo Index me da que no existe en el contexto actual......, y tambien lo probe con minuscula, y como Indice con mayuscula.......que podria ser.......Disculpa, mil millones de gracias-....

      Eliminar
    4. Hola Guillermo,
      debes reemplazar indice_columna_fecha por el índice de la columna, teniendo en cuenta que 0 es la primera columna, 1 la se gunda, ...

      Eliminar
    5. Gracias, disculpa mi desatencion de lo que significaba ello, o sea 0 = al 1ª renglon de la Columna; gracias, nos vemos, saludos, abrazo....

      Eliminar