IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

VS Code Day : Microsoft fait le point sur son éditeur de code, plus qu'un éditeur,
Mais moins qu'un EDI complet, baptisé "Ticino", le projet s'adressait aux développeurs Web

Le , par Bill Fassinou

317PARTAGES

7  0 
Le 27 janvier dernier, lors du VS Code Day, une conférence qui s’est tenue en ligne et tournée vers Visual Studio Code, Erich Gamma, ingénieur de Microsoft, a fait la genèse de l'éditeur de texte de Microsoft. il a raconté comment est né l'éditeur de code. Présenté lors de l'événement Build en avril 2015, l'éditeur open source VS Code a près de six ans. Microsoft disposait déjà d'un outil de développement performant, Visual Studio, et peu de gens auraient pu deviner que ce nouvel éditeur allait supplanter son cousin Windows en termes de popularité, au point que quatre ans plus tard, le directeur d'Eclipse, Mike Milinkovich, allait exprimer sa préoccupation quant à "un monopole sur l'expérience de développement".

Rappelons que Erich Gamma est un des quatre auteurs du livre "Design Patterns" traitant des motifs de conception, communément appelé le GoF (pour Gang of Four). C'est aussi l'un des initiateurs de l'environnement de tests unitaires en java JUnit, et de l'environnement de développement intégré Eclipse. En effet, Gamma a mis ces idées en pratique lorsque, en tant qu'ingénieur distingué chez IBM Rational Software, il a travaillé sur l'EDI Eclipse basé sur Java. Selon Lee Nackman, directeur technique de Rational à l'époque, le projet et le nom visaient tous deux Microsoft. « Eclipse sonnait bien et nous aimions l'idée d'éclipser Visual Studio », a-t-il déclaré en 2005.

Malgré ces ambitions, en 2011, Gamma a rejoint Microsoft et a commencé à travailler sur le projet "Monaco", un éditeur de code dans le navigateur. L'une de ses premières fonctionnalités a été la sauvegarde automatique. « Afin de ne pas perdre de travail, nous avons toujours activé la sauvegarde automatique... nous n'avons jamais eu le courage de changer la valeur par défaut du code VS pour la sauvegarde automatique, mais c'est une fonction formidable et tout le monde dans l'équipe l'a activée », a déclaré Gamma.

TypeScript joue un rôle important dans le développement de VS Code

Gamma aussi parlé d'un autre projet de Microsoft, TypeScript, qui ajoute une touche importante à JavaScript. « Ce voyage de 10 ans n'aurait pas été possible si nous n'avions pas eu TypeScript comme outil qui nous a permis de garder notre code flexible afin de le restructurer », a-t-il déclaré. TypeScript était en cours de développement chez Microsoft depuis 2010 et a été rendu public en octobre 2012. En 2013, tout le code de Monaco/VS était écrit en TypeScript, a déclaré Gamma. Il ajouta que beaucoup de gens ne savent pas qu'ils avaient décidé de ne pas utiliser de framework d'interface utilisateur dès le début et c'est encore toujours le cas actuellement. Pour cause, « la performance est très importante pour nous et nous voulons être pleinement maîtres de notre propre destin », a-t-il ajouté.


Visual Studio Online "Monaco" a été lancé comme un moyen d'éditer les sites web Azure dans le navigateur, mais n'a pas réussi à attirer les utilisateurs. Il y avait « environ 3000 utilisateurs par mois, et pour Microsoft, il est très difficile d'être pertinent avec ce nombre d'utilisateurs », a rappelé Gamma. Il faudrait qu'il soit multiplié par dix ou plus, ou qu'il soit abandonné. L'année 2014 était le point pivot. L'équipe a décidé de repositionner le projet comme un outil multiplateforme, en utilisant le framework Electron, qui venait d'être développé, qui englobe le projet Chromium de Google, permettant aux applications web de s'exécuter sur le bureau.

Le projet a été baptisé "Ticino" et s'adressait aux « développeurs utilisant les technologies du web, avec des scénarios visant le développement, le débogage et le déploiement d'applications Node.js et de composants .NET multiplateformes ». Ce serait plus qu'un éditeur, mais moins qu'un EDI complet, visant un point d'équilibre entre les deux. VS Code était prêt à temps pour une présentation en avant-première à l'événement Build l'année suivante. L'étape suivante consistait à soutenir les extensions, sans lesquelles VS Code ne pourrait pas être largement adopté.

Visual Studio Code devient open source en 2015

Gamma s'est appuyé sur son expérience d'Eclipse. « Les extensions sont vraiment cool, mais les elles peuvent aussi créer des soucis », a-t-il déclaré. L'équipe de développement de VS Code a donc décidé de faire fonctionner les extensions dans un processus séparé, afin que le noyau du VS Code soit moins affecté par les extensions. L'API de l'extension utilise le RPC (Remote Procedure Call) vers l'hôte de l'extension, a expliqué Gamma, qui protège également les auteurs de l'extension des détails internes de mise en œuvre du VS Code. Le travail sur ce point a été rapide, ce qui a permis d'introduire l'API d'extension lors de l'événement Connect de Microsoft en octobre 2015, en même temps que l'annonce que VS Code était désormais open source. À ce moment-là, Microsoft avait décidé qu'adopter l'open source, était la bonne façon d'attirer les développeurs.

En 2016, un autre élément clé a été introduit, Le "language server protocol", un protocole ouvert basé sur JSON-RPC à utiliser entre les éditeurs de code source ou les environnements de développement intégrés et les serveurs qui fournissent des fonctionnalités spécifiques au langage de programmation. Il permet aux développeurs de prendre en charge les langages de programmation, en pilotant des fonctions telles que la coloration syntaxique, la complétion de code et la détection d'erreurs. Ensuite, un terminal intégré a été développé par une nouvelle équipe VS Code.

L'édition à distance a été le grand défi suivant, en partie à cause de l'introduction du sous-système Windows pour Linux (WSL), et en partie à cause de l'idée de pouvoir exécuter des applications dans le navigateur en utilisant du code dans les dépôts GitHub. Cela signifiait en partie de revenir à VS Code pour en faire une application de navigateur, ce qui nécessitait un remaniement plus important. Les appels directs aux API de Node.js et les services abstraits ont été supprimés de sorte que, par exemple, « sur le bureau, vous obtenez des dialogues natifs et dans le navigateur, des dialogues construits en HTML », a-t-il dit.

Le développement à distance prend désormais en charge à la fois le WSL et l'exécution de VS Code dans un conteneur Docker et Codespaces. Le développement de VS Code est géré par Microsoft, mais « chaque mois, nous avons un plan disponible sur GitHub. Tout le monde peut le voir. Depuis 2011, nous avons des notes de publication tous les mois pour montrer les progrès continus », a déclaré Gamma.

Source : vidéo

Et vous ?

Qu'en pensez-vous  ?

Voir aussi

Draw.io intégré à VS Code : créez des diagrammes directement dans l'EDI avec cette extension open source

Debug Visualizer, une extension VS Code pour visualiser les structures de données lors du débogage qui fonctionnerait avec tous les langages qui peuvent être débogués dans VS Code

VS Code : Microsoft lance une extension pour le débogage de sites web pour les appareils iOS depuis son éditeur de code et sans avoir besoin d'un Mac

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de dfiad77pro
Membre chevronné https://www.developpez.com
Le 30/01/2021 à 10:35
Microsoft s'est vraiment distingué ces 10 dernière années, il ont embauché pas mal de cador dans le dev et l'archi sans les considérer comme des vieux cons.

VScode n'est pas parfait, mais c'est une grande réussite. Même si Microsoft à fait fort dans les technologies WEB, la ou il était totalement dépassé par les autres (JAVA, PHP, etc), ils n'ont pas laché coté XAML, perso j'attend avec impatience MAUI et .net6 car de ce coté la ils ont aussi une carte à jouer.

Perso les fonctionnalités que j'attend le plus de VSCODE :
- la double side bar
- les éléments détachables
- Meilleurs performances pour C#, JAVA
- Refacto plus stables pour C#, JAVA
- une version LTS ( courte de 1ans) lorsque tout ça aura été fait et uniquement si ça bloque pas l'inovation , car la Maj mensuelle c'est dur à faire passer en entreprise
5  0 
Avatar de dfiad77pro
Membre chevronné https://www.developpez.com
Le 01/02/2021 à 16:38
Après pour Eclipse, y'a la version Theia mais pas encore dispo en client lourd,
et la l'interface se base sur VSCODE (après d'ici à ce qu'il remplace le vrai Eclipse j'y croi pas trop).

2  0 
Avatar de darklinux
Membre extrêmement actif https://www.developpez.com
Le 31/01/2021 à 5:32
VSC ,j ' adore , il est vrai , il est proposé de facto dans ubuntu , les plug ins sont une excellenteidéee , pas besoin de chargé la mule ,quand ont fait du HTML5 ou du sql
1  0 
Avatar de nikau6
Membre extrêmement actif https://www.developpez.com
Le 31/01/2021 à 11:47
Citation Envoyé par Aizen64 Voir le message

Il y a un truc qui me gêne, c’est le faible espacement entre les dossiers et fichiers.
Visual Studio Code est presque entièrement customisable.
Tu peux modifier l'espace entre fichiers et dossiers avec le paramètre "workbench.tree.indent":

Pour le développement C++ sous Linux Ubuntu J'ai essayé beaucoup de'EDIs :
CLion : Comme tous les outils Jetbrain il est très, très lourd.
Eclipse : Je n'aime pas du tout l'interface.
KDevelopp : Pareil que pour Eclipse.
Code::Blocks : Vraiment trop amateur.
Anjuta : Trop de bugs.
Gnome Builder : Trop jeune.
emac, vim :
QTCreator : Tres bien, mais je lui préfère VSC qui est bien plus complet. Notamment le fait qu'avec VSC on peut choisir de construire ses projet avec n'importe quel outil (make, meson, cmake, etc..., on peut tous les utiliser)

Bref, je reviens toujours vers Visual Studio Code sans lequel le développement c++ sous Linux serait pour moi une vraie galère.
On peut dire que Microsoft, que je critique sur beaucoup de points, par exemple je n’utilise plus Windows depuis la version 10, a un véritable talent quand il s'agit de fabriquer des outils de développement.
2  1 
Avatar de Mickael_Istria
Membre expert https://www.developpez.com
Le 01/02/2021 à 13:00
Eclipse : Je n'aime pas du tout l'interface.
C'est a dire? Quoi en particulier?
1  0 
Avatar de nikau6
Membre extrêmement actif https://www.developpez.com
Le 01/02/2021 à 19:12
Citation Envoyé par dfiad77pro Voir le message
Après pour Eclipse, y'a la version Thea ...
Merci pour l'info, je vais l'essayer de suite.
1  0 
Avatar de Mickael_Istria
Membre expert https://www.developpez.com
Le 02/02/2021 à 9:43
Après pour Eclipse, y'a la version Theia mais pas encore dispo en client lourd,
Meme si Eclipse IDE et Eclipse Theia sont 2 IDEs communautaires heberges par la fondation Eclipse; ca reste des IDEs differents. Il y a quelques briques en commun, mais Theia est en realite bien plus proche de VSCode que d'Eclipse IDE.
Bien que Theia soit en theorie utilisable en client desktop, ce n'est pas la priorite. Pour le voir en action sans avoir a l'installer localement, on peut utiliser des services qui l'embarquent deja, comme Red Hat CodeReady Workspaces ou GitPod.
0  0 
Avatar de arnofly
Membre confirmé https://www.developpez.com
Le 06/02/2021 à 13:19
VS Code est une bonne appli, c'est vrai. Pour coder rapidement en HTML et CSS, elle est top, mais pour du dev PHP et la gestion d'un gros projet web, VS Code n'est pas à la hauteur de Netbeans, actuellement en version 12. En tant que dev web, je conseillerais plutôt VS Code pour ceux qui font du front. Par contre, VS Code gère mal le formatage automatique du code lorsque plusieurs languages sont présents dans un même fichier. Je pense en particulier au JS dans du HTML. En comparaison, le formatage de Netbeans est juste parfait.

Du côté de Netbeans, les versions s'enchaînent depuis qu'il a été récupéré par la fondation Apache. Et contrairement à VS Codes, pas besoin d'installer un milliard de plugins avant d'avoir un outil complet pour bosser.

Enfin, les échanges rapides que j'ai eu avec les dev de VS Codes ne m'ont pas laissé un souvenir impérissable. Ils se la pète un peu. Pas du genre à se remettre en question. Je pense en particulier à l'actualisation automatique d'un fichier modifié par un programme externe, sans que l'utilisateur n'ai la possibilité de changer ce comportement, totalement contre productif dans certains cas de figures.

Bref, VS Code est bon, mais mon cœur bat pour Netbeans, parfois moins bon, mais parfois meilleur. La communauté est plus sympa en plus (c'est pas difficile).J'utilise les 2 logiciels, mais quand j'ai besoin de l'artillerie lourde, je dégaine Netbeans qui est encore et toujours mon IDE par défaut.
0  0 
Avatar de quicky2000
Membre actif https://www.developpez.com
Le 15/02/2021 à 15:30
Citation Envoyé par nikau6 Voir le message
Visual Studio Code est presque entièrement customisable.
Pour le développement C++ sous Linux Ubuntu J'ai essayé beaucoup de'EDIs :
CLion : Comme tous les outils Jetbrain il est très, très lourd.
[...]
emac, vim :
Je suis passé de emacs/vim a CLion pour mes devs C++ sous Linux et franchement j'aime bien cet outil meme si l obligation d utiliser CMake j ai trouve ca lourd au début.
Qu est ce que tu trouves lourd ?
VSC j ai encore jamais testé...
0  0 
Avatar de Aizen64
Membre confirmé https://www.developpez.com
Le 30/01/2021 à 18:56
J’ai jamais trop accroché à vscode. Trop de plug-ins à installer, pas de navigation facile vers la définition d’une méthode par ex (Ruby).

Il y a un truc qui me gêne, c’est le faible espacement entre les dossiers et fichiers. Pas d’outils poussés pour de la gestion de conflits Git.

J’utilise IntelliJ et en comparaison, Visual Studio qui coûte 600 euros parait un logiciel d’un autre âge.
1  3