settings
OTEX_BIGISTQB®
Süddeutsche Zeitung Institut Auszeichnung
 Image
Alle Visual Studio Schulungen

Schulung Visual Studio Code Extension-Entwicklung mit TypeScript

 Commands, Webviews, Language Server Protocol und Marketplace

2 Tage / S6913
Neues Seminar
Per E-Mail senden

Schulungsformen

Inhouse-/Firmenschulung

  • 2 Tage - anpassbar
  • Termin nach Wunsch
  • In Ihrem Hause oder bei der GFU
  • Preis nach Angebot

  • Lernumgebung in der Cloud
  • Inhalte werden auf Wunsch an die Anforderungen Ihres Teams angepasst.
Präsenz Online Hybrid

Individualschulung

  • 2 Tage - anpassbar
  • Termin nach Wunsch
  • In Ihrem Hause oder bei der GFU
  • Preis nach Angebot

  • Lernumgebung in der Cloud
  • 1 Teilnehmender = Fokus aufs Fachliche und maximaler Raum für individuelle Fragen.
Präsenz Online Hybrid

Beschreibung

VS Code ist kein monolithischer Editor - es ist eine Plattform. Alles, was VS Code kann, kommt aus Extensions: Syntax-Highlighting, IntelliSense, Debugging, Git-Integration, Themes, Snippets - selbst die Kernfunktionen für JavaScript und TypeScript sind Extensions. Der VS Code Marketplace hat über 50.000 Extensions, und jede davon wurde mit derselben API gebaut, die auch interne Entwicklerteams nutzen können.
Die typischen Use Cases für eigene Extensions sind konkreter als man denkt: ein Snippet-Set für die firmeneigene Komponentenbibliothek, ein Linter der hauseigene Coding-Standards prüft, ein Seitenpanel das den Status des internen CI/CD-Systems zeigt, ein Code-Generator der aus einer OpenAPI-Spec TypeScript-Clients erzeugt, oder Sprachunterstützung für eine interne Konfigurationssprache (Syntax-Highlighting, Validierung, Autocomplete).
Dieses zweitägige Seminar führt von der ersten Extension (10 Minuten: Yeoman Generator -> Hello World -> im Editor testen) bis zur Marketplace-Veröffentlichung - mit drei vollständigen Extensions als Lernprojekte.

Bei Interesse an einem passenden Visual Studio Seminar, werfen Sie einen Blick auf unser gesamtes Portfolio.

Schulungsziel

Jede teilnehmende Person verlässt das Seminar mit dem Verständnis der VS-Code-Extension-Architektur (Activation Events, Contribution Points, Extension Host), der Fähigkeit, Commands, Webviews, TreeViews und Sidebar-Panels zu implementieren, einem Grundverständnis des Language Server Protocol für eigene Sprachunterstützung, 3 funktionsfähigen Extensions als Referenz und Code-Basis, der Kompetenz, Extensions zu testen, zu paketieren und zu veröffentlichen (VSIX oder Marketplace) und einer Extension-Idee für den eigenen Arbeitsalltag mit erstem Prototyp.

Details

Inhalt

Tag 1: Extension-Grundlagen, Commands und UI
1. Extension-Architektur und erstes Projekt
  • Ziele und Erwartungen der Teilnehmenden
    • Klärung individueller Lernziele und Erwartungen für ein praxisnahes und relevantes Seminar
  • VS Code Extension API: Architektur (Extension Host Process, Activation Events, Contribution Points), Capabilities und Grenzen.
  • Projekt-Setup: Yeoman Generator, Projektstruktur (package.json als Manifest, extension.ts als Einstiegspunkt), Debugging der eigenen Extension (Extension Development Host - eine zweite VS-Code-Instanz zum Testen).
  • package.json als Extension-Manifest: Contribution Points (Commands, Menus, Keybindings, Views, Languages, Themes, Snippets), Activation Events (onCommand, onLanguage, onStartupFinished, workspaceContains).
  • Praxis-Übung: Extension 1a - „Hello World": Command registrieren, im Command Palette auslösen, Notification anzeigen. Im Extension Development Host debuggen.
2. Commands, Menus und Keybindings
  • Commands: Registrieren, ausführen, mit Parametern. User-Input abfragen (Quick Pick, Input Box, Multi-Step Input). Statusbar-Items für permanente Anzeige.
  • Menus und Context Menus: Commands in Editor-Kontextmenü, Explorer-Kontextmenü, Editor-Titelleiste oder Activity Bar einbinden. When-Clauses für kontextabhängige Sichtbarkeit.
  • Keybindings: Tastaturkürzel für Commands definieren. Plattformspezifische Bindings (Ctrl auf Windows, Cmd auf Mac).
  • Workspace und Editor API: Dateien lesen/schreiben, aktive Editor-Selektion lesen und manipulieren, Diagnostics (Fehler und Warnungen im Problems-Panel erzeugen), Decorations (Text-Hervorhebungen im Editor).
  • Praxis-Übung: Extension 1b erweitern: Command, der die aktuelle Selektion in Großbuchstaben umwandelt, Kontextmenü-Eintrag, Keybinding, Statusbar-Item mit Wortanzahl.
3. Webviews: Interaktive UI in Extensions
  • Webview-Panels: Eigene HTML/CSS/JavaScript-Oberfläche in VS Code. Für: Dashboards, Formulare, Visualisierungen, Preview-Panels, interaktive Dokumentation.
  • Kommunikation: Extension <-> Webview Messaging (postMessage/onDidReceiveMessage). State Persistence (Webview-Zustand über Tab-Wechsel hinweg behalten).
  • Security: Content Security Policy, lokale Ressourcen laden (Styles, Scripts, Bilder), kein direkter API-Zugriff aus dem Webview.
  • Webview Views (Sidebar): Eigene Panels in der Sidebar (Activity Bar) statt als Editor-Tab.
  • Praxis-Übung: Extension 2 - „Project Dashboard": Webview-Panel, das package.json liest und Projektinfos anzeigt (Name, Version, Dependencies, Scripts). Button im Webview -> Command in der Extension auslösen (npm-Script starten).
Tag 2: TreeViews, Language Server und Veröffentlichung
4. TreeViews und Custom Sidebar
  • TreeView API: Eigene Baumansichten in der Sidebar (Explorer-ähnlich). TreeDataProvider implementieren, Items mit Icons und Kontext-Aktionen.
  • Activity Bar: Eigenes Icon in der Activity Bar mit eigenem Container für TreeViews und Webview Views.
  • Kombination: TreeView für Navigation + Webview für Detail-Ansicht - ein komplettes UI-Erlebnis innerhalb von VS Code.
  • Praxis-Übung: Extension 2 erweitern: TreeView in der Sidebar, der alle TODO-Kommentare im Workspace als Baumstruktur anzeigt (gruppiert nach Datei), Klick navigiert zur Stelle im Code.
5. Language Server Protocol (LSP)
  • LSP-Konzept: Sprachunterstützung (Autocomplete, Diagnostics, Hover, Go to Definition, Formatting) als separater Server-Prozess. Client (VS Code Extension) <-> Server (eigener Language Server) kommunizieren über ein standardisiertes Protokoll. Vorteil: derselbe Language Server funktioniert in VS Code, Neovim, Sublime, Eclipse.
  • vscode-languageclient und vscode-languageserver: NPM-Pakete für Client und Server. Server implementieren: Text Document Synchronization, Diagnostics (Fehler und Warnungen bei jedem Tastendruck), Completion (Autocomplete-Vorschläge), Hover (Tooltip bei Mouse-Over).
  • Einsatzszenarien: Sprachunterstützung für interne Konfigurationssprachen (YAML-Varianten, DSLs, Template-Sprachen), Validierung von firmeneigenen Dateiformaten, Autocomplete für interne APIs und Bibliotheken.
  • Praxis-Übung: Extension 3 - einfacher Language Server für ein Custom-Konfigurationsformat: Syntax-Validierung (Diagnostics bei ungültigen Einträgen), Autocomplete für bekannte Schlüsselwörter, Hover-Informationen für Konfigurationsoptionen.
6. Testing, Packaging und Marketplace
Testing (20 Min):
  • Extension Testing: VS Code Extension Test Runner, Integration Tests (Extension in einem echten VS-Code-Fenster testen), Unit Tests für Logik ohne VS-Code-Abhängigkeit.
  • CI/CD: Extensions in GitHub Actions oder Azure Pipelines automatisiert testen und bauen.
Packaging und Veröffentlichung (20 Min):
  • VSIX: Extension als installierbare Datei paketieren. Für interne Verteilung ohne Marketplace.
  • VS Code Marketplace: Publisher-Account erstellen, Extension veröffentlichen, Versionen verwalten, Bewertungen und Download-Statistiken.
  • Private Extensions: Interne Verteilung über VSIX-Dateien, eigenen Extension-Registry oder Workspace-Empfehlungen.
  • Qualität: README, CHANGELOG, Icon, Kategorien und Tags für Discoverability. Extension Bundling mit esbuild (kleinere Extension, schnelleres Laden).
Praxis-Workshop (30 Min):
  • Phase 1 - Eigene Extension planen und prototypen (20 Min): Eigenen Use Case wählen (oder vorgegebenes Szenario). Extension-Typ festlegen (Command, Webview, TreeView, Language Server), package.json mit Contribution Points skizzieren, Kernfunktionalität prototypen.
  • Phase 2 - Peer-Review (10 Min): Extension-Idee vorstellen. Feedback: Gibt es das schon im Marketplace? Ist der Use Case groß genug für eine Extension oder reicht ein Snippet-Set? Welche API-Features werden benötigt?

  • TypeScript-Entwickler: Die interne Tooling-Lücken mit eigenen VS-Code-Extensions schließen - Linter, Snippet-Provider, Code-Generatoren oder Dashboard-Panels für firmenspezifische Technologien.
  • DevEx- und Platform-Teams: Die Entwicklerproduktivität im Unternehmen steigern, indem sie VS Code mit maßgeschneiderten Extensions an interne Workflows, Coding-Standards und Infrastruktur anpassen.
  • Open-Source-Entwickler: Die Extensions für die Community bauen und im VS Code Marketplace veröffentlichen.
  • Tool-Entwickler und Architekten: Die das Language Server Protocol (LSP) verstehen und Sprachunterstützung für eigene DSLs oder Konfigurationsformate bauen.
Voraussetzungen: Solide TypeScript-Kenntnisse (Typen, Interfaces, Klassen, async/await, Module). Erfahrung mit VS Code als Anwender. Idealerweise Besuch von „TypeScript Grundlagen und Aufbau" (3T) oder vergleichbare Praxiserfahrung. Keine Vorkenntnisse in Extension-Entwicklung nötig.


In Präsenz

Online
Lernmethode

Ausgewogene Mischung aus Theorie und praktischen Übungen auf persönlichem Schulungs-PC.

Wie auch bei unseren Präsenz-Seminaren: Ausgewogene Mischung aus Theorie und praktischen Übungen. Trainer durchgehend präsent.

Unterlagen

Seminarunterlagen oder Fachbuch inklusive. Das Fachbuch wählt der Trainer passend zum Seminar aus - Ihren individuellen Buch-Wunsch berücksichtigen wir auf Nachfrage gerne.

Seminarunterlagen oder Fachbuch inklusive (via DHL). Das Fachbuch wählt der Trainer passend zum Seminar aus - Ihren individuellen Buch-Wunsch berücksichtigen wir auf Nachfrage gerne.

Arbeitsmaterialien

Din A4 Block, Notizblock, Kugelschreiber, USB-Stick, Textmarker, Post-its

Teilnahmezertifikat

Nach Abschluss des Seminars erhalten Sie das Teilnahmezertifikat inkl. Inhaltsverzeichnis per E-Mail als PDF.


In Präsenz

Online
Teilnehmendenzahl

min. 1, max. 8 Personen

Garantierte Durchführung *

Ab 1 Teilnehmenden

Schulungszeiten
2 Tage, 09:00 - 16:00 Uhr
Ort der Schulung
GFU Schulungszentrum oder Virtual Classroom
GFU Schulungszentrum
Am Grauen Stein 27
51105 Köln-Deutz

oder online im Virtual Classroom oder europaweit bei Ihnen als Inhouse-Schulung

Um ein optimales Raumklima zu gewährleisten, haben wir das Schulungszentrum mit 17 hochmodernen Trotec TAC V+ Luftreinigern ausgestattet. Diese innovative Filtertechnologie (H14 zertifiziert nach DIN EN1822) sorgt dafür, dass die Raumluft mehrfach pro Stunde umgewälzt wird und Schadstoffe zu 99.995% im HEPA-Filter abgeschieden und infektiöse Aerosole abgetötet werden.

Zusätzlich sind alle Räume mit CO2-Ampeln ausgestattet, um jederzeit eine hervorragende Luftqualität sicherzustellen.

Räumlichkeiten

Helle und modern ausgestattete Räume mit perfekter Infrastruktur

Bequem aus dem Homeoffice von überall

All-Inclusive

Frühstück, Snacks und Getränke ganztägig, Mittagessen im eigenen Restaurant, täglich 6 Menüs, auch vegetarisch

Eine Auswahl unserer Frühstücks-Snacks und Nervennahrungs-Highlights senden wir Ihnen mit den Seminarunterlagen via DHL zu.
Barrierefreiheit

Das GFU-Schulungszentrum (Am Grauen Stein 27) ist barrierefrei

-

In Präsenz

Online
  • Eigener Shuttle-Service
  • Reservierte Parkplätze
  • Hotelreservierung
  • Technik-Sofort-Support

Buchungsmöglichkeiten

Online oder in Präsenz teilnehmen

Sie können sowohl Online als auch in Präsenz am Seminar teilnehmen. Klicken Sie bei Ihrer Buchung oder Anfrage einfach die entsprechende Option an.

Inhouse-/Firmenschulung
  • Lernumgebung in der Cloud
  • Inhalte werden auf Wunsch an die Anforderungen Ihres Teams angepasst.
Präsenz Online Hybrid
Individualschulung
  • Lernumgebung in der Cloud
  • 1 Teilnehmender = Fokus aufs Fachliche und maximaler Raum für individuelle Fragen.
Präsenz Online Hybrid

So haben GFU-Kunden gestimmt

Zu diesem Seminar wurden noch keine Bewertungen abgegeben.

FAQ für Inhouse Schulungen

Bei einer offenen Schulung stehen Ort und Termin vorab fest. Jeder Interessent kann eine offene Schulung buchen, daher treffen Teilnehmer aus verschiedenen Unternehmen aufeinander.

Inhouse Schulungen können auf Ihren individuellen Schulungsbedarf zugeschnitten werden. Sie bestimmen den Teilnehmerkreis, Termin und Schulungsort.

Bei einer Inhouse Schulung gehen wir auf die individuellen Bedürfnisse Ihres Unternehmens ein und decken den Schulungsbedarf direkt bei Ihnen im Unternehmen ab.

Das spart Zeit und Geld und sorgt für einen schnellen Wissenstransfer Ihrer Mitarbeiter.

Eine komplette Lernumgebung in der Cloud mit Remote Zugriff ist für uns selbstverständlich. Sie müssen sich um nichts kümmern. Lediglich ein funktionierender PC oder Notebook mit Internetanschluss sollte für jeden Teilnehmer am Schulungstag bereit stehen.

  • Kompetente Seminarberatung
  • Dozenten aus der Praxis
  • Auf Ihre Bedürfnisse zugeschnittener individueller Lernstoff
  • Sie können den Termin flexibel gestalten, so wie es für Sie am besten passt
  • Unsere Inhouse Schulungen können Europaweit durchgeführt werden
  • Der Fokus liegt auf Ihrem Schulungsbedarf, somit schonen Sie Ihr Budget
  • Wissenslücken Ihrer Mitarbeitet werden schnell geschlossen
aegallianzaxaElement 1deutsche-bankdeutsche-postlufthansamercedessonyzdf