Hola !
Durante un tiempo decidí dejar de compartir código en mi blog en formato texto, lo que solía hacer es compartir un screenshoot del código y luego un link al ejemplo completo en GitHub. Esto me parecía una buena idea, ya que en varias ocasiones, había tenido comentarios desafortunados de personas que “copiaban y pegaban” porciones de código de mi blog, sin siquiera leer el mismo.
Pues bien, hace un tiempo, un developer ciego se quejó de aquellos que compartíamos código con imágenes. Y claro, después de conocer a una persona ciega que me comentó como programaba, hice una evaluación y decidí que lo mejor era volver a compartir código en modo texto. (Ya escribí de esto hace un tiempo)
Una de las mejores plataformas para esto es Gists de GitHub, que nos brinda toda la experiencia y apariencia de GitHub. Eso sí, si buscar tener la opción de hacerlo desde el IDE, la siguiente extensión es más que útil Gists for Visual Studio.
La forma de utilizarlo es bastante simple, en el editor de código despliegas el menú contextual y verás la nueva opción “Create a new Gist”
La primera vez que utilicemos la extensión, debermos autenticarnos en Gists. El siguiente paso es definir el nombre del archivo, una descripción y si queremos compartir todo el código del archivo sobre el que estamos trabajando o solo el texto seleccionado.
La extensión se encarga de crear el Gist y nos retorna la URL del código publicado.
El ejemplo es más que completo:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public async Task ConnectAsync() | |
{ | |
_client = new TcpClient(); | |
await _client.ConnectAsync(_address, 5555); | |
_stream = _client.GetStream(); | |
// unlock the brick (doesn't actually need serial number?) | |
byte[] buff = Encoding.UTF8.GetBytes(UnlockCommand); | |
await _stream.WriteAsync(buff, 0, buff.Length); | |
// read the "Accept:EV340\r\n\r\n" response | |
int read = await _stream.ReadAsync(buff, 0, buff.Length); | |
string response = Encoding.UTF8.GetString(buff, 0, read); | |
if(string.IsNullOrEmpty(response)) | |
throw new Exception("LEGO EV3 brick did not respond to the unlock command."); |
Happy Coding!
Saludos @ VSLive en Austin
El Bruno
References
- Gists from GitHub
- Visual Studio Marketplace, Gists for Visual Studio