Développer sous VS Code / Windows en remote sur un Linux WSL / Github Codespaces en quelques minutes

Grand fan de WSL (sous-système Linux) qui apporte à Windows la touche manquante comparé à un environnement de développement Mac : un véritable Shell Linux/Unix. WSL rend accessible bon nombre d’outils de développement uniquement disponible sous Linux (ou s’exécutant mieux et avec moins de configuration et de dépendances).

A cela s’ajoute le fait que vous pouvez avoir plusieurs sous-systèmes Linux et vous en servir comme environnement de développement dédié, et cela sans avoir besoin de lancer une VM Hyper-V coûteuse en ressources et une intégration avec Windows beaucoup moindre (accès aux fichiers directement, intégration Visual Studio, etc). Pas besoin donc de déployer tous les runtimes et langages (Python, Ruby, Go, NodeJS, etc) sur votre machine de production Windows.

Cet article vous présente le développement avec un environnement distant WSL, mais cela s’applique à bon nombre d’autres scénarios dont le service Github Codespaces.

Prérequis

  • Windows Terminal : la fine fleur du terminal sous Windows (même si Commander a encore un peu d’avance mais Terminal suffit largement dans la majorité des scénario)
  • WSL installé (Windows 10/11) : voir la documentation suivante et avec une distribution déployée
  • Extensions Visual Studio Code :
    • Remote – WSL

Installation de VS Code Server sur vos distro WSL

En une ligne : dans votre shell Terminal connecté à votre système WSL, saisissez :

code

Laissez le système installer le serveur (hôte) tout seul :

Puis laissez VS Code s’ouvrir pour vous tout seul :

En prime vous aurez droit d’avoir un walkthroughs « Get started with Remote -WSl » à vous mettre sous la dent pendant quelques minutes pour vous aider dans vos premiers pas à bien comprendre le développement remote sur votre distro Linux.

Vous pourrez aussi ouvrir directement le répertoire courant dans lequel vous avez lancer code grâce à l’explorateur :

Le terminal VS Code est déjà directement branché sur votre shell WSL :

Vous pouvez maintenant installer tous les langages et les extensions nécessaires pour faire de votre WSL votre environnement de développement.

Extensions

Les extensions de votre VS Code ne seront pas activées dans cette configuration de travail à distance sur votre instance WSL. En réalité, ils n’ont pas les droits pour accéder aux fichiers distants ni d’exécuter des scripts à distance. C’est pour cela qu’il existe des extensions de « lieu de travail » – on utilisera workspace pour la suite 🙄 – qui eux s’exécutent dans l’environnement distant et peuvent donc accéder aux fichiers, permettre de débugger, exécuter des scripts, etc. (voir schéma dans la partie suivante pour mieux comprendre l’architecture).

Il faudra les réinstaller dans l’hôte de travail à distance WSL :

Attention : soyez patient il faudra parfois un peu de temps pour que l’extension s’installe et que l’UI de VS Code réagisse pour vous dire que c’est en cours ou installé.

Optionnel : comment ça marche techniquement ?

Je ne ferais pas mieux que la documentation qui vous présente cela très bien : Supporting Remote Development and GitHub Codespaces | Visual Studio Code Extension API

Bonne lecture pour les plus techniques d’entre vous.

Conclusion

Que dire à part : à vous les joies d’un environnement de développement Linux tout en restant sur votre Windows pour utiliser le meilleur de ces deux mondes !

Vous pourrez trouver quelques informations supplémentaires spécifiques à l’utilisation d’un environnement distant WSL dans la documentation Developing in the Windows Subsystem for Linux with Visual Studio Code.

25 ans pour le meilleur IDE du moment : Visual Studio 🎂🍰

Ce mois de Mars 2022 marque les 25 ans d’un des meilleurs IDE du moment (et des dernières années) pour les projets .NET et bien d’autres : (sans suspens) Visual Studio !

Revivez l’expérience et l’histoire de l’évolution de cet IDE au travers d’un site dédié pour cet occasion ➡️Anniversaire Visual Studio 25e (microsoft.com)

Depuis, devenu une famille de produit, Visual Studio a donné lieu à une version plus légère et orientée éditeur de code multi-plateforme/multil-langage avec l’excellent Visual Studio Code, l’éditeur de code du moment tout lange de développement confondu comme le révèle le sondage stackoverflow de 2021 ➡️🤩https://insights.stackoverflow.com/survey/2021#section-most-popular-technologies-integrated-development-environment

Pour rappel, Visual Studio est disponible gratuitement dans sa version Community téléchargeable ici : Visual Studio 2022 Community Edition – Télécharger la dernière version gratuite (microsoft.com)

Bon anniversaire Visual Studio !

Visual Studio Core for PowerShell 7

With the release of “PowerShell Core 7”, now just “PowerShell 7”, the VS Code team just released a major update of the PS extension for VS Code.

In short, what’s new :

  • ISE Compatibility module
  • Syntax Highlighting, Multi-Line Editing and Back Search in the Integrated Console
  • Performance Improvements
  • Take care of some breaking change

You can find the full announcement here : https://devblogs.microsoft.com/powershell/visual-studio-code-for-powershell-7/

How to use the amazing feature Visual Studio Live Share

Visual Studio Code is one of the most active project on Github for Microsoft developers community. VS Code spread around the developer world like black powder and brings for a lots of different skilled professionals and amateurs a best of bread code editor.

Event if the project brings a lot of new feature on a monthly based release, something there is a new feature that provide far more power to developers, and Live Share one of them.

Live Share was released back in 2018 ( https://code.visualstudio.com/blogs/2018/05/07/live-share-public-preview) to provide universal and secure collaboration between developers even working on different operating system at the same time, only one thing care : your code and whatever it is C#, Angular app, Go, etc !

Live Share is now available on Windows, Mac and Linux !!!!

Python-based IntelliSense

The addin provided on Visual Studio and Visual Studio Code can only share terminals between developers to make them able to debug live ! Isnt’t it awesome ?!?

You can show the introduction video from Jon Chu :

In short, how does it work ?

The process is quite simple : 1. Install 2. Get a Microsoft account (if you don’t laready have one) 3. Create and join a session 4. Code with your buddy 🙂

Installation

The installation process is fairly simple : go to the Live Share extension homepage => https://visualstudio.microsoft.com/fr/services/live-share/

Create a new session

1. Click on the ‘Live Share’ button in the left panel :

2. Click on ‘Start collaboration session’ in the Live Share panel :

3. Click on the ‘Share Now’ button

4. VS Code will ask you to connect to your Github or Microsoft account y opening a web window

5. Live Share will provide you a link for the collaboration session, copy it and send it to your friend / colleague by email or Teams.

6. Wait for your friend to join the session and … code, debug, execute ! Whan a guest join a session, you’ll be notified and start seeing different colored dot associated with file modified in live.

Microsoft also release a Live Share Audio plugin to enable developers to exchange by voice and Arjun Attam also make a

chat addin for Live Share that provide you with a more deep collaboration level experience.

In a context of remote work collaboration, this addin is an excellent asset for your team ! Try it !

Docker ASP.NET MVC image creation issue ‘GetFileAttributesEx : The system cannot find the path specified’

When using Visual Studio 2017 and trying to create a Docker image for your ASP.NET web app from the standard microsoft\aspnet image (or another image), you may have the following error message : GetFileAttributesEx bin\Release\PublishOutput : The system cannot find the path specified

image

This error is caused by the .dockerignore file generated by Visual Studio 2017 (more information on .dockerignore file : https://docs.docker.com/engine/reference/builder/#dockerignore-file).

How to solve the issue

  1. Open and edit the .dockerignore file located at the root of your Visual Studio project
  2. Remove the first line with the ‘*’ (this is the guilty line !)
  3. Save the modified .dockerignore file
  4. Re execute your docker build command (ex : docker build –t <your tag> .)

Original Visual Studio 2017 .dockerignore file :

image

The corrected .dockerignore file :

image

Check your web app to know if everything works fine

  1. First, you won’t be able to use the URL http://localhost, you need the IP address of the container. To find it, execute this command in Powershell :
  2. docker inspect -f « {{ .NetworkSettings.Networks.nat.IPAddress }} » ncit_liasse

  3. Open your favorite browser and enter the URL http//<your ip address> to show you web app shining

image

More documentation on the use of this image at https://hub.docker.com/r/microsoft/aspnet/

Useful documentation on how to migrate an ASP.NET MVC application to Docker : https://docs.microsoft.com/en-us/aspnet/mvc/overview/deployment/docker-aspnetmvc

Now enjoy migrating your ASP.NET MVC web apps to Docker containers !

Lancement de Visual Studio 2017 aux Afterworks@Noumea du 15 Mars

Pour le lancement de Visual Studio 2017 et les 20 ans de l’outil de prédilection de tous les développeurs .NET, il aura bien fallut un évènement spécial des Afterworks@Noumea des communautés MS.

Après une présentation d’un peu plus d’une heure ponctuée de démos sur l’outil et sur les différentes fonctionnalités, .NET Core, l’architecture en microservice avec Docker et la mobilité, nous avons pu enfin goûter au gâteau d’anniversaire :

P1040523

Retrouvez les slides de la session ici : https://fr.slideshare.net/neodante/visual-studio-2017-launch-keynote-afterworksnoumea

Au niveau des ressources sur .NET, n’hésitez pas à me suivre sur LinkedIn (https://www.linkedin.com/in/jchable)

Encore un grand merci à la CCI de Nouméa pour le prêt des locaux et leur temps.

Bonne journée

Lancement de Visual Studio 2017 à Nouméa

MSFT_16257_VS17_1000x750_Sharethrough_thumb[4]Suite au lancement officiel du 07 Mars, nous organisons un évènement local ce mercredi 15/03 à la CCI de Nouméa. Au programme, une introduction aux nouvelles fonctionnalités de Visual Studio 2017 et à la plateforme .NET. Pendant cette présentation d’un peu plus d’une heure, ponctuées de pas mal de démonstrations, nous partagerons avec les participants sur les sujets suivants :

– Les nouveautés de Visual Studio 2017

– Quoi de neuf dans .NET et .NET Core ?

– Le développement mobile multiplateforme avec Xamarin

– Microservice, Docker et DevOps

Soyez préparer à manger un morceau du gâteau des 20 ans de Visual Studio !

Nous avons également quelques goodies à faire gagner pendant la session !

A demain soir !

MSFT_16257_VS17_STD_SpecialDelivery_FB_final3_DN-MININT-07V2IBM_thumb[3]

SharePoint 2016 project templates missing on Visual Studio 2015

imageWhen you open Visual Studio 2015 (with Update 3) on a SharePoint 2016 developer machine, it may occurs that the SP 2016 templates are missing (it displays only SP 2010 and 2013 templates). In that case, don’t panic ! Just follow the following process :

  1. If you don’t have a version of Office Developer Tools for Visual Studio 2015, download “Microsoft Office Developer Tools Preview 2 for Visual Studio 2015” with the following link : https://www.microsoft.com/en-us/download/details.aspx?id=51683  (don’t go to aka.ms/officedevtoolsforvs2015 , the link is broken)
  2. Install the Microsoft Office Developer Tools Preview 2 for Visual Studio 2015 on your machine
  3. Open Control Panel > Programs > Programs and Features
  4. Uninstall SharePoint Client Components (with the version number 16.0.xxx)
  5. Download the SharePoint Server 2016 Client Components SDK from www.microsoft.com/en-us/download/details.aspx?id=51679
  6. Start developing your successful SharePoint Addins !