Add syntax highlighting to WordPress code editors using CodeMirror.js
Add syntax highlighting in the Classic Post & Page HTML text editor, Gutenberg Code Editor, and Theme & Plugin editors using CodeMirror.js
[shortcodes/]
Ctrl+S
(Cmd+S
on Mac)F11
/Esc
hotkeysIf you would like to contribute to this plugin, view the github repo.
If you’re a regular user of this plugin, please consider taking a short User Experience Survey to provide feedback that will help shape the new version 3.0.
Yes!Partially… Since version 2.3.0, it works with the Gutenberg Code Editor, but only the Code Editor, not the Visual Editor. Press Ctrl+Shift+Alt+M
/ Cmd+Shift+Alt+M
to switch between the Visual Editor and the Code Editor.
It does not work with blocks in the Gutenberg Visual Editor. This means it does not highlight code in:
* The Edit as HTML section of every block
* The Custom HTML block
* The Shortcode block
See the last screenshot for a visual example.
It may work with other code related parts of Gutenberg in the future. Track the progress here.
Since WordPress version 5.0, Gutenberg is the default editor. If you want this plugin to work the way it used to, you’ll have to download the Classic Editor plugin.
Function: WINDOWS / MAC
Start searching:Ctrl-F
/ Cmd-F
Find next:Ctrl-G
/ Cmd-G
Find previous:Shift-Ctrl-G
/ Shift-Cmd-G
Replace:Shift-Ctrl-F
/ Cmd-Opt-F
Replace all:Shift-Ctrl-R
/ Shift-Cmd-Opt-F
Persistent search:Alt-F
(dialog doesn’t auto-close, Enter
to find next, Shift-Enter
to find previous)
Jump to line:Alt-G
WordPress has a feature called the ‘auto p’ filter which:
“Changes double line-breaks in the text into HTML paragraphs.”
For example, auto p will take some standard post content like this:
Some long text that has many lines. And paragraphs in it.
and turn it into something like this:
<p>Some long text<br/> that has many lines</p> <p>And paragraphs in it.</p>
Like your little brother, it thinks it’s helping, even if it isn’t.
What can I do about it?
* Disable auto p: There are several plugins you can use to disable auto p in the Classic Editor. I’d recommend Toggle wpautop.
* Show the p tags: The plugin TinyMCE Advanced has an Advanced Option to ‘Keep paragraph tags’. This option will still add the “auto p” tags but won’t strip them out of the visible code.
You can read more about this issues this may cause in this support thread.
The WordPress Visual Editor needs to reformat code in order to function correctly. This is not something that this plugin can fix. You can disable the Visual Editor entirely by going to: Users > Your Profile > Visual Editor: check ‘Disable the visual editor when writing’.
You may have the ‘Enable full-height editor and distraction-free functionality’ turned on. This is a native WordPress feature that changes the scrolling and fullscreen behavior of both the Code Editor and Visual Editor.
To Disable Full-height Editor: Go to ‘Screen Options’ (in the top right of the editor page), then uncheck ‘Enable full-height editor and distraction-free functionality’ in the Additional Settings section.
The fullscreen button on the top right of the editor will do one of two things depending on the ‘Enable full-height editor and distraction-free functionality’ setting in your ‘Screen Options’ (in the top right of the editor page):
* Full-height Editor Enabled: Toggles the ‘distraction free mode’.
* Full-height Editor Disabled: Toggles the ‘fullscreen mode’.
Keybindings:F11
will toggle fullscreen on and off, and esc
will close fullscreen.
Not really… It is partially supported in IE 11. Known bugs are tracked here, but won’t be fixed. Anything less that IE 10 isn’t even supported by Microsoft anymore. If you are using Internet Explorer you should get a better browser.
hesh.php
html-editor-syntax-highlighter.php
to hesh.php
caused the plugin to deactivate itself because the php file was missing. Reverting the name-change of hesh.php
will cause this all over again, but hey.$this->$surveyLink
to $this->surveyLink
smartIndent
because its annoying<W/>
..css
and .js
filef
typo<!--nextpage-->
func_that_returns_array()['index']
syntax is not allowed<select>
drop-down would not display due to ::active
state transform
propertyswitchEditors is undefined
<!--more-->
tags and their variantsshortcode.js
& wordpresspost.js
hesh.js
in an anonymous wrapper so it won’t pollute the global namespacehesh.js
in an async compliant wayBug fix:
* plugin does not work in new post/page.
Bug fix (thanks to collinprice):
* when user has the visual editor disabled this plugin does not show up.
Initial release.