List all errors

You can see all errors in the current buffer in Flycheck’s error list:

../../_images/flycheck-error-list.png

The key C-c ! l pops up the error list:

C-c ! l
M-x flycheck-list-errors
M-x list-flycheck-errors

Pop up a list of errors in the current buffer.

The error list automatically updates itself after every syntax check and follows the current buffer: If you switch to different buffer or window it automatically shows the errors of the now current buffer. The buffer whose errors are shown in the error list is the source buffer.

Whenever the point is on an error in the source buffer the error list highlights these errors—the green line in the screenshot above.

Within the error list the following key bindings are available:

RET

Go to the current error in the source buffer

n

Jump to the next error

p

Jump to the previous error

e

Explain the error

f

Filter the error list by level

F

Remove the filter

S

Sort the error list by the column at point

g

Check the source buffer and update the error list

q

Quit the error list and hide its window

Filter the list

By the default the error list shows all errors but sometimes you’d like to hide warnings to focus only on real errors. The error list lets you hide all errors below a certain level with f. This key prompts for an error level and will remove all errors of lower levels from the list. The filter is permanent as long as the error list buffer stays alive or the filter is reset with F.

Sort the list

You can press S or click on the column headings to sort the error list by any of the following columns:

  • Line

  • Level

  • ID

  • Message and checker

Click twice or press S repeatedly to flip the sort order from ascending to descending or vice versa.

Tune error list display

By default the error list buffer pops up like any other buffer. Flycheck does not enforce special rules on how it’s displayed and where it’s located in the frame so essentially the error list pops up at arbitrary places wherever Emacs can find a window for it.

However you can tell Emacs to obey certain rules when displaying buffers by customizing the built-in option display-buffer-alist. You can use this option to make the error list display like similar lists in contemporary IDEs like VisualStudio, Eclipse, etc. with the following code in your init file:

(add-to-list 'display-buffer-alist
             `(,(rx bos "*Flycheck errors*" eos)
              (display-buffer-reuse-window
               display-buffer-in-side-window)
              (side            . bottom)
              (reusable-frames . visible)
              (window-height   . 0.33)))

This display rule tells Emacs to always display the error list at the bottom side of the frame, occupying a third of the entire height of the frame.

See also

Shackle

An Emacs package which provides an alternative way to control buffer display