This is a plugin to show slides and code examples directly from IntelliJ IDEs.
It can be useful if large part of your presentation is based on code examples, so instead of copy-pasting code into Keynote or PowerPoint slides you can show both slides and code in IDE.
- Code examples stay up-to-date.
- You can run and modify code examples live to show how they work.
- Smooth transition between slides and code examples.
- Create
slides.txtin IDE project with code examples. - Save presentation slides as images to some folder in IDE project folder (e.g. in Keynote in the main menu
File -> Export To -> Images...). Note that ideally, images should be in the same resolution as the projector/screen you're going to present on (e.g. in Keynote click onDocumentin the main toolbar and chooseSlide Sizewith custom slide size; note thatWidescreen (16:9)corresponds to1920×1080 pxaka Full HD which seems to be the most common resolution at conferences at the moment). You can also changeslides.presenter.zoom.factorin IDE Registry to scale slides, but unscaled images usually look better. - Edit
slides.txtso that it contains paths to slides image files and code examples (see format description below). Note that you can useSave Allaction to make plugin reloadslides.txt. - (Optional) use presentation mode
View -> Enter Presentation Mode - Use
Next SlideandPrevious Slideactions. It's recommended to change default shortcuts to something more convenient (e.g. I useF12,F11; the only reason for defaults shortcutsalt-shift-F12,alt-shift-F11is that they don't conflict with other actions). - Always check your presentation in advance on the actual setup.
- Empty lines and lines starting with
--or#are ignored. - Each line contains a path to a file with unix-style path separator
/which can be an absolute path or path relative to the project root. - Paths can include special syntax
{{next N}}whereNis the amount of times the line will be repeated with incremented counter. E.g.slides/slides.{{next 2}}.pngwill be expanded into two linesslides/slides.000.pngandslides/slides.001.png.
For example:
# Some comment
/absolute/path/intro.png
-- More slides
slides/slides.{{next 2}}.png
src/code.js
src/more-code.js
slides/slides.{{next 2}}.png
For real-world example see slides.txt in coroutines-explained repository.
Admittedly, this plugin is just a hack. Please create/upvote issues if you have any problems.