Skip to content

Troubleshooting Common Problems

Vladimir Schneider edited this page Feb 6, 2019 · 15 revisions

Frequent Source of Problems

Out of date plugin version

The plugin is actively developed to fix issues, add features and to update for the evolving JetBrains API. If you are encountering errors or exceptions it is a good idea to make sure you have the latest plugin version. Doing IDE Check for Updates... will check for a new release version of the plugin.

Plugin EAP Update Channel

Bug fixes and new features are released to the Early Access Program chanel of the plugin. Frequently an issue will be fixed and released to the EAP channel weeks before the plugin is released.

To enable EAP update channel:

  1. Select "Early Access Program" in Check updates for:
  2. Then make the IDE check for updates by selecting IDE Check for Updates... from the menu.

Screen Shot Settings Update Channel

Multiple Markdown Plugins Installed

⚠️ Markdown plugins conflict with each other. If you have more than one markdown plugin installed then you need to make sure that only one is enabled at a time. The only exception to this is GFM which provides a preview rendered by chromium browser engine and markdown to HTML converted by GitHub. It does not provide any language based features that create the conflict between other markdown plugins.

Screen Shot Plugin Conflict

Markdown Documents Have Light Background Patches

This is caused by an incorrect parent scheme setting in the custom scheme. The custom scheme file can be found in the color subdirectory of the JetBrains product you are using and the file will have the name of your scheme and a .icls extension.

For a dark scheme the first line should have Darcula as the parent_scheme attribute: <scheme name="YourSchemeName" version="142" parent_scheme="Darcula">.

If it is Default then you need to change parent_scheme="Default" to parent_scheme="Darcula". Otherwise, the IDE uses the wrong default colors from the plugin default color map. This would also affect all custom language plugins, including bundled with the IDE, not just Markdown Navigator.

Example of a custom dark scheme with parent_scheme="Default" on the left and parent_scheme="Darcula" on the right:

Screen Shot Wrong Parent Scheme

IDE Crashes or Hangs After New Version of the Plugin Is Installed

This used to be caused by caches being corrupt and is not affecting the IDE until installing a new custom language plugin that requires re-indexing. Invalidate caches and restart. If the problem persists please open an issue in GitHub: GitHub Issues

If you are using JavaFX WebView preview browser and your JRE is an Oracle JRE older than 1.8.0u51 then it is quite possible that the combination is not stable. You should change the JRE to at least 1.8.0u51, which has shown to be the first stable version for use of JavaFX WebView preview browser for this plugin. Earlier versions of WebView have trouble with some image formats so your crashes can be content dependent.

JetBrains bundled JRE older than 1.8.0u40b105 have also shown some issues with stability when displaying certain image files.

JavaFX WebView HTML Preview Not Working

JavaFx WebView preview requires JDK 1.8.0u40 or later that includes jfxrt.jar in the JDK's lib/ext directory, which is its standard location.

If jfxrt.jar is not found or the plugin cannot create the new editor class due to errors, it will fall back to using the Swing preview browser: JEditorPane with HTMLEditorKit preview.

If you change the boot JDK, see Changing Boot JDK for instructions, and want the plugin to use the JavaFX preview, select the JavaFX as the Preview browser in Preferences on OS X and File/Settings on Windows and Linux, Languages & Frameworks > Markdown.

GitHub Links Do Not Work

In order for the links in the preview tab to resolve to corresponding files on GitHub the file must be under a git vcs root, the directory where target files are located must be part of the project's files and not marked as excluded.

Multiple vcs roots are supported. A file is considered under the vcs root that is above it in the directory hierarchy. Files with status UNKNOWN, IGNORED and ADDED are considered not to have remote counterparts.

For all files that don't have remote counterparts the links will resolve to local files. This includes files that were added but not yet committed.

Relative links from GitHub markdown documents in main the repository to wiki pages should be prefixed with ../../wiki because the documents in the root of the main repository are located at /blob/branch and wiki pages are in /wiki. The same applies to issues, pulls, graphs, pulse. Relative links will resolve to the same pages as they would on GitHub using the same relative links.

If you are clicking on a link that you expect to have a remote but a local file opens then the file does not resolve to a remote as far as the plugin is concerned. It could be because the remote origin has no URL that is an http: or https: protocol or it lacks a .git extension. Also the file should have been committed at least once so that it looses its ADDED status.

Links do not work and Images do not show on GitHub

There are a few reasons images may show in preview but not on GitHub:

  1. Image files were not committed to the repository. In this case the preview images will have a warning frame around them and links will show in warning (dark yellow/light brown) and links and image elements in text will have a warning annotation.

  2. Image link is not pointing to the raw file content. Browsers cannot display images which point to the default file page on GitHub. Image links have to point to the raw file content address for the image file.

    In this case the markdown text editor will show a warning annotation that the image link is not correct. Use the appropriate intention to change link to raw content.

  3. On case-insensitive file systems: Image file and link file name case are mismatched. This can happen if the original file was added to git and was subsequently renamed with only case changes without using the git mv command to rename the file in the git index.

    Since the file system is not case-sensitive the new file name will continue to update without issues and git will not be aware of the name change. However, when the repository is pushed to GitHub the file name stored in git and not the file system will be used.

    The plugin uses the file system name to resolve links. This will result in links and images referencing files which do not exist on GitHub since GitHub repositories are case sensitive.

    Resolving name case mismatch is simple with the use of git mv command to tell git that the file name has changed.

    I have been bitten by this problem several times and wasted enough time looking for a bug in the plugin, only to realize that it is an issue of file/git case mismatch. The last such time waster was enough to prompt me to create a plugin specifically to deal with this issue.

    Git File Case Fixer Plugin will check case-insensitive file systems for file mismatches in git and optionally correct the file case in git or the file system. This check can be done manually or as a Before Commit check for painless detection and correction of git/file system case mismatches.

Caret/Scroll Synchronization between text and preview does not work

Caret and scrolling synchronization only works in the JavaFX WebView preview browser.

The plugin does not synchronize the top of the text window with the top of the preview window because this type of synchronization is not very effective for actual caret position in the text. Markdown elements and their rendered HTML elements can have very different visual size.

Caret position is synchronized in preview and optionally, horizontally aligned with the text caret, based on the markdown element at caret position.

The options for synchronization are found under the preview options:

Settings Preview Source Synchronization

<detail> tags content is rendered below the tag

The issue is caused by the way the plugin implements source position by wrapping the elements in <div> tags. To get around that you either need to turn off scroll sync and show source selection or add &nbsp; before to make the <details> tag interpret as inline HTML, which has the benefit of allowing markdown rendering in the <summary> section.

The following works, including on GitHub.

&nbsp;<details id="todo"><summary>**To Do List**</summary>

#### Next Release To Do

* [ ] Add: status bar with information about selection: lines, code, comment and blank line
      count.
* [ ] Add: reserved word list exclusion for preserve on paste. If pasting over reserved word
      then don't make any changes to the pasted content.
* [ ] Add: Readme and Wiki Write up of Paste from History enhancements.
* [ ] Add: option and functionality to change duplicate lines action to only operate on a line
  once even if there are many carets present on that line.

&nbsp;</details>

 

To Do List

Next Release To Do

  • Add: status bar with information about selection: lines, code, comment and blank line count.
  • Add: reserved word list exclusion for preserve on paste. If pasting over reserved word then don't make any changes to the pasted content.
  • Add: Readme and Wiki Write up of Paste from History enhancements.
  • Add: option and functionality to change duplicate lines action to only operate on a line once even if there are many carets present on that line.

 

Code and Fenced Code in Preview use proportional fonts

The CSS for JavaFX WebView preview uses the following for fixed pitch font declarations. You can change this by adding your custom CSS Text to Languages & Frameworks > Markdown > Stylesheet in settings (preferences on OS X).

For JavaFX WebView preview browser:

var,
code,
kbd,
pre {
    font: 0.9em Consolas, "Liberation Mono", Menlo, Courier, monospace;
}

For Swing preview browser:

code,
span.code,
samp,
var,
span.var,
kbd,
span.kbd,
span.tt {
    font-family: Consolas, Inconsolata, "Liberation Mono", Menlo, Courier, Monospaced, monospace;
    font-size: 1em;
}

Wrap on Typing not working

Wrap on typing has a few settings that affect it:

Wrap on typing and soft wrapping can be mutually exclusive. The settings that control this are in Editor > Code Style > Markdown:

ScreenShot Style General

Wrap on typing drop-down selects the action to take for wrap on typing:
ScreenShot Style WrapOptions

Selecting default will use the IDE wrap on typing setting. The others allow to control Markdown settings separate from the global IDE setting.

The Disabled if soft wrap is enabled will disable wrap on typing if soft wraps is enabled. When disabled the toolbar button will reflect this disabled state and the pop-up on the toolbar button will list the conditions causing it to be disabled.

Automatic actions such as insertion/deletion of list items or table rows and columns is also in Languages & Frameworks > Markdown > Editor in the Smart Keys Enter and Backspace sections:

ScreenShot Style Tables

Full description for these settings can be found in the Document Format Settings

License Installation and Activation

To install the license you can paste the license code into the license box or load it from the license server by clicking the Load License from vladsch.com and entering the e-mail and name for the license in the dialog. Leave the password blank since no password is assigned to the license until you assign one after logging in to vladsch.com, in licenses under account settings:

Screen Shot License Fetch

The plugin uses the IDE proxy settings to communicate with the license server. Depending on how the proxy itself handles specific URL requests will affect the plugin communications.

If you are getting There was an error communicating with the license server consistently then there is an error trying to reach the license server from your network.

On some corporate networks the secure connection through a proxy causes the communications to fail. You can try turning off Use secure connection for license activation to see if it will work:

Screen Shot Main unlicensed

Clone this wiki locally