SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Plug-in-Entwicklung für die IntelliJ Platform
Yann Cébron (JetBrains)
IntelliJ - was??!
Verfügbare IDEs - JetBrains
In Entwicklung - JetBrains
C/C++
Q2/2015
DB/SQL
Q3/2015
IDEs - Third Party
IntelliJ goes Server
Summa summarum…
• 12 IDEs
• Plattformen: JVM, Web, Android, iOS, C/C++, Python,
Go, Database/SQL, Language DSL, …
• > 1200 Plugins http://plugins.jetbrains.com
IntelliJ Platform
IntelliJ Platform - High Level
• 2009
• Apache 2 License
• IDE/Developer Tooling

• keine Rich Client Platform (RCP)
IntelliJ Platform - Was ist drin?
• DI-Infrastruktur (PicoContainer)
• VirtualFileSystem
• PSI (Program Structure Interface)
• Editor
• Action-System
• UI Komponenten (Swing)
IntelliJ Platform - Was kann ich machen?
• Plugins
• Standalone-IDE
• „Core“ (z.B. Upsource, Kotlin Compiler)
Plugins
Plugins - Typologie
• Sprache
• Framework
• IDE-internes Tool
• Projekt-/Firmenspezifisch
Exkurs - Interessante Plugins
• BashSupport
• ANTLRv4
• XText

• Go
• DummyTextGenerator
• Erlang
Deployment
Kompatibilität
• JDK 6 (noch!)
• Target IDE(s)
• IDE-Version
Installation
• plugins.jetbrains.com
• Custom Plugin Server
• JAR/ZIP
Standalone IDEs
Standalone IDE
• Customizing
• Infrastruktur
• Builds: DIY
• Referenz: Android Studio
Wie? Wo? Was?
Unterstützung
• jetbrains.org
• Dokumentation
• Forum
• OSS Plugins

• „patch_welcome“
• IDEA Backlog
Tools
• GrammarKit
• PSIViewer

• -Didea.is.internal=true
Survival Strategies
10 Jahre Plugins
• Struts 1 (2004)
• Struts 2 (2007)
• Projektspezifisches XML-Tooling
• Spring-Framework
• Plugin DevKit
• Struts 2
• TeamCityProtect (JetBrains intern)
Lessons Learned
• Wo? >> Wie?
• *Manager
• RTFS
• Forum
• Ähnliche Plugins
Hector The Inspector
• WolfTheProblemSolver

• InjectedLanguageFormattingTest#

testFrankenstein2

• SymlinkHandlingTest#

testTransGenderRefresh

• Easter Eggs
Q&A
@yanncebron

Weitere ähnliche Inhalte

Ähnlich wie Plugin Entwicklung für IntelliJ-Platform

Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Gregor Biswanger
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & DominoUlrich Krause
 
B3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite ApplicationsB3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite ApplicationsAndreas Schulte
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsAndreas Schreiber
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computingWolfgang Weigend
 
Applikationsentwicklung für Android
Applikationsentwicklung für AndroidApplikationsentwicklung für Android
Applikationsentwicklung für AndroidThorsten Weiskopf
 
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)greenrobot
 
Django trifft Flutter
Django trifft FlutterDjango trifft Flutter
Django trifft Flutterroskakori
 
Mobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaMobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaYvette Teiken
 
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgSlides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgDNUG e.V.
 
Sii IT Nearshore - Sharepoint
Sii IT Nearshore - SharepointSii IT Nearshore - Sharepoint
Sii IT Nearshore - SharepointPiotr Bizukojć
 
Sii IT Nearshore - Sharepoint
Sii IT Nearshore - SharepointSii IT Nearshore - Sharepoint
Sii IT Nearshore - SharepointPiotr Bizukojć
 
Webservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenWebservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenAptly GmbH
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge UnternehmenBjoern Reinhold
 
Python-IDEs - PyDev und Eclipse
Python-IDEs - PyDev und EclipsePython-IDEs - PyDev und Eclipse
Python-IDEs - PyDev und EclipseThomas Koch
 
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzNode.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzKai Donato
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersUlrich Krause
 
Erstellung von mobilen cross-platform-Apps
Erstellung von mobilen cross-platform-AppsErstellung von mobilen cross-platform-Apps
Erstellung von mobilen cross-platform-AppsRalf Lütke
 

Ähnlich wie Plugin Entwicklung für IntelliJ-Platform (20)

Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & Domino
 
B3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite ApplicationsB3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite Applications
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
 
PHP auf IBM Plattformen
PHP auf IBM PlattformenPHP auf IBM Plattformen
PHP auf IBM Plattformen
 
PHPblue LOS!NRW
PHPblue LOS!NRWPHPblue LOS!NRW
PHPblue LOS!NRW
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computing
 
Applikationsentwicklung für Android
Applikationsentwicklung für AndroidApplikationsentwicklung für Android
Applikationsentwicklung für Android
 
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
 
Django trifft Flutter
Django trifft FlutterDjango trifft Flutter
Django trifft Flutter
 
Mobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaMobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache Cordova
 
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgSlides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
 
Sii IT Nearshore - Sharepoint
Sii IT Nearshore - SharepointSii IT Nearshore - Sharepoint
Sii IT Nearshore - Sharepoint
 
Sii IT Nearshore - Sharepoint
Sii IT Nearshore - SharepointSii IT Nearshore - Sharepoint
Sii IT Nearshore - Sharepoint
 
Webservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenWebservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbinden
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 
Python-IDEs - PyDev und Eclipse
Python-IDEs - PyDev und EclipsePython-IDEs - PyDev und Eclipse
Python-IDEs - PyDev und Eclipse
 
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzNode.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
 
Erstellung von mobilen cross-platform-Apps
Erstellung von mobilen cross-platform-AppsErstellung von mobilen cross-platform-Apps
Erstellung von mobilen cross-platform-Apps
 

Plugin Entwicklung für IntelliJ-Platform