Skip to content

Editor Settings

Vladimir Schneider edited this page Jan 27, 2019 · 5 revisions

Editor Settings are used to configure the markdown text editor

Screenshot Editor Settings

ℹ️ These settings were in Application Settings prior to version 2.8.0

Editor Settings

  • Vertical Text/Preview Split: enables editor/preview split vertical orientation, placing the preview panel horizontally below the editor.

  • Toggle Editor Layout Action: select which layout configurations to use for toggle action:

    • Text/Split Layout: will toggle between text only, split layout
    • Text/Preview Layout: will toggle between text only and preview only layouts.
  • Hide toolbar: enabling this will hide the Markdown document toolbar

  • Hide disabled toolbar buttons: enabling this will hide any toolbar buttons which are not enabled to save toolbar space.

  • Show Icon gutter area, controls icon gutter area, turn off to have more space

    • Show markdown references in gutter, when enabled, references in markdown text will show target icon in gutter area
      • emoji icons in line markers: when enabled will show emoji icons in the line markers gutter for the line containing the emoji
  • Show page content as documentation for URLs, when enabled show documentation (F1 by default) will load the URL content as the documentation for the link/URL. When not enabled will only load GitHub issue URLs and show issue comments as documentation.

  • GitHub issue completions insert: selects what is inserted on GitHub issue completion:

    • Text: #id, summary

    • Id Only: #id

    • Explicit Link: explicit link with #id, summary as link text and URL targeting the issue on GitHub.

    • Reference Link: reference link with #id, summary as reference text and URL targeting the issue on GitHub.

      ℹ️ To convert Explicit Link or Reference Link to Text you can use the Convert link to text intention.

  • Force reload max issues: defines the maximum number of issues to load from all task servers when reload is requested through triple invoke of GitHub Issue completions.

  • Soft wrap: selects soft wrap setting for markdown documents:

    • Default: markdown documents use IDE soft wrap setting
    • Disabled: markdown documents have soft wrap disabled
    • Enabled: markdown document have soft wrap enabled
    • at right margin: enables having the soft wrap applied at Markdown right margin setting. Default for the IDE is to wrap text at the window right edge.
  • Typing update delay (ms):: sets the delay for preview from typing modification. Higher value will make smoother typing response at an increase in delay for the preview.

  • Wrap only after space is typed: limits wrap on typing to only occur after typing a space, by default wrap on typing is now performed for all characters. Disable if wrap on typing causes unacceptable typing response.

  • Syntax Highlighting:: selects type of syntax highlighter for markdown documents:

    • Annotator: sets external annotator for syntax highlighting. This gives the best typing response at the cost of a slight delay for syntax highlighting.

    • Lexer: set the syntax annotation to be performed during file lexer processing. This setting results in fastest syntax highlighting updates at the cost of slower typing response.

    • None: syntax highlighting will be disabled for markdown documents.

    ℹ️ Markdown does not lend itself to being syntax highlighted with a lexer because its elements are highly context dependent. The plugin implementation overcomes this by always parsing the markdown source and using the parse tree to create lexemes for the "lexer" so the IDE works as is expected. There are limitations, mostly caused by IDE optimizations which re-parse only a portion of the file when it is edited. For most languages this works but for markdown can result in the wrong syntax highlighting being displayed as the file is edited. Therefore Annotator is the default and recommended syntax highlighting option to use.

    Read-only editors, opened for VCS revisions and repository versions of a file, do not have an annotation phase so can never syntax highlight the contents if Annotator syntax highlighting is selected. Version EAP 2.7.0.18 and later implement syntax highlighter substitution for read-only markdown editors to force their highlighting to always be using the Lexer option.

  • Full highlighter attributes, when selected combination of inline attributes will be created to allow for overlays in style. Turn off to reduce number of highlight attributes used by the plugin.

    ⚠️ Change of this setting requires IDE restart for which you will be prompted after closing the settings dialog.

  • Show breadcrumb text: enables showing bread crumbs for markdown documents with maximum of specified characters for the element.

  • Show heading anchor id: enables showing heading anchor id next to the element in the text editor.

Language Injections

  • In Fenced Code: enables automatically injecting language based on fenced code info string
  • In HTML Blocks: enables automatic injection of HTML in HTML blocks

Intentions and Annotations

  • Enable Annotations: enables error and warning annotations for markdown documents
  • Show 'Apply all ...' intentions on any element: enables showing all available Apply all ... actions in the document, regardless of whether they apply to the current element at caret position. Disabling, will only show Apply All ... actions that apply to the element at caret.
  • Use rename for spelling error intention, when enabled, spelling errors in referenceable elements will use rename refactoring instead of fix typo. Refactoring has the option of changing references while spelling typo does not.

Paste / Drag & Drop Settings

  • Replace Editor Drag and Drop Handler: in older IDEs enables replacing editor drag/drop handler. Newer IDEs do not require this override for drag/drop file handling to work.

  • Customize Paste Handler: enables custom paste handler.

    ⚠️ Latest IDE versions can cause exceptions in the IDE paste handler. Markdown Navigator plugin adds its custom handler to customize markdown specific paste actions. Any actions not specific to markdown or occurring in non-markdown documents are passed through to the IDE paste handler. If the IDE paste handler causes an exception, the IDE assumes it is a plugin issue. This setting was added to allow disabling the plugin custom paste handler to allow IDE caused exceptions to be properly recognized as an IDE problem.

    ⚠️ Change of this setting requires IDE restart for which you will be prompted after closing the settings dialog.

    Plugin versions 2.5.0 and later have detection of IDE caused exceptions and will offer you to disable paste handler customization to allow passing these exceptions to JetBrains.

    • Use clipboard text/html content: enables using mime text/html content when available. When disabled mime text/html content will be ignored and plain text version used instead.
      • Convert HTML content to Markdown: when enabled, pasting mime text/html content will be converted to markdown before pasting. Disable this options to paste text/html as HTML. Converting HTML to Markdown can always be done via the Convert HTML to Markdown intention on HTML elements.

      • HTML Options: button allows setting defaults to use for HTML to markdown conversion which allows stripping of some HTML tags instead converting them to markdown

      • Ask options on paste: will open the HTML Paste Options dialog when pasting HTML content into markdown document to allow adjusting options for each paste operation with HTML content is available.

        HTMLOptionsDialog

Smart Keys

  • remove prefix when joining lines: when enabled join lines action will remove the prefix from the next line, before joining. Prefixes include: block quotes, list items, numbered list items, definitions, etc.
  • Use asterisks (*) for italic text: when enabled asterisks * will be used for italic action, otherwise underscores _ will be used.
  • Toggle inline code like text style: when enabled, toggle code action will toggle code marking on/off like bold, italic and other text elements. When disabled this action will add additional nesting of back-quotes.
  • Toggle Style Punctuations: defines which punctuations at the end of a word to be excluded from being wrapped in the inline style markup. This affects only style toggle actions when no manual selection is provided and the caret is at the start or end of a space delimited word.

Smart Edit

When enabled typing the corresponding character will add one after the caret and remove them if a space is typed.

  • Asterisk (Bold/Italic) - will double *
  • Underscore (Bold/Italic) - will double _
  • Tilde (Strikeout/Subscript) - will double ~
  • Back tick (Inline Code) - will double back ticks `

Tab/Back Tab

  • Table Navigation: when enabled tab/backtab will move caret between table cells in a table
    • Select Text: when enabled tab/back-tab will select cell text
  • List Item Indentation: when enabled tab/backtab will indent/unindent list items.

Enter

  • Add table row when enabled will add an empty row when ENTER is used within a table
  • Add block quote prefix when enabled will add block quote prefix when ENTER is used on a block prefix line
  • Add list item if selected will add an empty item when ENTER key is used on a list item.
    • Removes empty list item when selected an empty list item will be removed when ENTER is used on item line.

Backspace

  • Deletes empty table

    • 'row' when enabled using BACKSPACE in an empty row or one that becomes empty after the BACKSPACE operation will delete the row
    • 'column' when enabled using BACKSPACE in an empty column or one that becomes empty after the BACKSPACE operation will delete the column

    ❗ Deleting a row has priority over deleting a column. If in a single BACKSPACE operation both the row and column are empty or become empty then the row will be deleted.

  • Remove empty list item when selected will remove the list item prefix when BACKSPACE is used right before or anywhere inside the item prefix marker.