JCEF Preview

JCEF preview allows the most advanced rich preview of AsciiDoc content.

This is available from IntelliJ 2020.2+ and plugin version 0.31.x.

Please update to IntelliJ 2020.2.4+ or 2020.3+ for best experience, as this fixes some limitation of earlier versions.

Why to use the JCEF preview

The JCEF preview provides better HTML preview and additional features like scroll-to-view and opening links in the browser. As the preview is based on an up-to-date Google Chrome rendering engine, it offers in-par rendering compared to modern browsers. This includes rendering of fonts and SVGs.

Limitations of the JCEF preview

The JCEF preview doesn’t support the IntelliJ proxy configuration yet. Therefore, remote images in the preview will not show if you are behind a proxy. See ‘Proxy issues with the JCEF preview’ for more information.

Once a JCEF preview is open in a project, it now and then brings the focus to the project when editing files in a different window in IntelliJ 2020.2. This is fixed in the 2020.2.4 and 2020.3 release. See JetBrains issue “JCEF: steals focus from a different frame” for more information.

On MacOS there is no copy-and-paste from the JCEF preview in IntelliJ 2020.2. This is fixed in IntelliJ 2020.3 (see issues IDEA-241604 and asciidoctor-intellij-plugin/#322). As a workaround, open the preview in the browser by clicking on your favorite browser symbol when hovering in the upper right corner of the editor and copy the contents from the browser window.

Benefits of the JCEF preview

JCEF preview is an embedded Chrome browser. After enabling the internal mode users can right-click on the preview and use “Open DevTools”. This opens a fully equipped Chrome developer tools window that allows users to inspect the HTML created in the preview and to view the JavaScript console of the preview.

When you can use JCEF preview

JCEF preview is only available from IntelliJ 2020.2+ and plugin version 0.31.x. It requires that the user runs on the pre-packaged JetBrains OpenJDK 11.

Selecting a different JetBrains JDK using the “Choose Runtime” plugin

This is recommended for Android Studio 4.2 that doesn’t ship with either JavaFX or JCEF support. You can watch this issue or this issue in Android Studio’s issue tracker for the progress.

JavaFX preview that used to work with Android Studio 4.0 will not work with Android Studio 4.2 as it doesn’t package the necessary classes in the IDE. Therefore, follow these steps to enable JCEF preview for Android Studio.

  • Install the plugin “Choose Runtime” as described in the JetBrains knowledge base “Selecting the JDK version the IDE will run under”.

  • Choose a runtime "jbrsdk-11_0_8-…​-x64-b944.34.tar.gz" or later and install it. The IDE will restart.

  • Go to the settings of the AsciiDoc plugin and check if the preview is set to “JCEF Browser”. Change it to “JCEF Browser” if this is not the case.