Your privacy
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
ErrorLens turbo-charges language diagnostic features by making diagnostics stand out more prominently, highlighting
the entire line wherever a diagnostic is generated by the language and also prints the message inline.
Features
- Highlight lines containing diagnostics
- Append diagnostic as text to the end of the line
- Show icons in gutter
- Show message in status bar
Commands (11)
Command | Description |
---|---|
errorLens.toggle | Error Lens: Toggle (Enable/Disable) Everything (toggle global setting errorLens.enabled ) |
errorLens.toggleError | Error Lens: Enable/Disable Errors in errorLens.enabledDiagnosticLevels setting. |
errorLens.toggleWarning | Error Lens: Enable/Disable Warnings in errorLens.enabledDiagnosticLevels setting. |
errorLens.toggleInfo | Error Lens: Enable/Disable Info in errorLens.enabledDiagnosticLevels setting. |
errorLens.toggleHint | Error Lens: Enable/Disable Hint in errorLens.enabledDiagnosticLevels setting. |
errorLens.copyProblemMessage | Error Lens: Copy problem message to the clipboard (at the active cursor). |
errorLens.copyProblemCode | Error Lens: Copy problem code to the clipboard (at the active cursor). |
errorLens.findLinterRuleDefinition | Error Lens: Search in local linter files (like .eslintrc.json ) for the rule definition. |
errorlens.toggleWorkspace | Error Lens: Exclude/Include current workspace by fs path. |
errorLens.searchForProblem | Error Lens: Open problem in default browser (controlled by errorLens.searchForProblemQuery setting). |
errorLens.disableLine | Error Lens: Add a comment to disable line for linter rule. |
Settings (55)
Error Lens extension settings start with
errorLens.
Setting | Default | Description |
---|---|---|
enabled | true | Controls all decorations and features (except commands). |
enabledInMergeConflict | true | Controls if decorations are shown if the editor has git merge conflict indicators <<<<<<< or ======= or >>>>>>> . |
fontFamily | «» | Font family of inline message. |
fontWeight | «normal» | Font weight of inline message. "normal" is alias for 400, "bold" is alias for 700). |
fontStyleItalic | false | When enabled — shows inline message in italic font style. |
fontSize | «» | Font size of inline message (CSS units). |
margin | «4ch» | Distance between the last word on the line and the start of inline message (CSS units). |
padding | «» | Padding of the inline message. Visible when #errorLens.messageBackgroundMode# is set to «message». |
borderRadius | «3px» | Border radius of the inline message. Visible when #errorLens.messageBackgroundMode# is set to «message». |
enabledDiagnosticLevels | [«error», «warning», «info»] | Customize which diagnostic levels(severity) to highlight. |
messageTemplate | «$message» | Template used for all inline messages. Whitespace between items is important. List of variables: — $message — diagnostic message text— $count — Number of diagnostics on the line— $severity — Severity prefix taken from #errorLens.severityText# — $source — Source of diagnostic e.g. «eslint»— $code — Code of the diagnostic |
messageMaxChars | 500 | Cut off inline message if it’s longer than this value. (Improves performance when the diagnostic message is long). Set to 0 to disable inline message. |
severityText | [«ERROR», «WARNING», «INFO», «HINT»] | Replaces $severity variable in #errorLens.messageTemplate# . |
messageEnabled | true | Controls whether inline message is shown or not (Including background highlight). |
messageBackgroundMode | «line» | Controls how inline message is highlighted in the editor (entire line / only message / none). |
editorHoverPartsEnabled | {«messageEnabled»:false, «sourceCodeEnabled»:false, «buttonsEnabled»:false} | Controls which parts of the editor hover tooltip to show. |
statusBarIconsEnabled | false | When enabled — shows highlighted error/warning icons in status bar. |
statusBarIconsPriority | -9000 | Move status bar icons left or right by adjasting the number priority. |
statusBarIconsAlignment | «left» | Choose on which side the icons status bar is on: left or right. |
statusBarIconsUseBackground | true | When enabled — highlights status bar icons with background, when disabled — with foreground. |
statusBarIconsAtZero | «removeBackground» | What to do when there are 0 errors/warnings — hide the item or strip its background color. |
statusBarMessageEnabled | false | When enabled — shows message in status bar. |
statusBarMessagePriority | -10000 | Move status bar message left or right by adjasting the number priority. |
statusBarMessageAlignment | «left» | Choose on which side the message status bar is on: left or right. |
statusBarColorsEnabled | false | When enabled — use message decoration foreground as color of Status Bar text. |
statusBarMessageType | «activeLine» | Pick what to show in Status Bar: closest message or only message for the active line. |
statusBarCommand | «goToProblem» | Pick command that activates on click for Status Bar. |
statusBarMessageTemplate | «» | Template for status bar message. Whitespace between items is important. List of variables: — $message — diagnostic message text— $count — Number of diagnostics on the line— $severity — Severity prefix taken from #errorLens.severityText# — $source — Source of diagnostic e.g. «eslint»— $code — Code of the diagnostic |
exclude | [] | Specify messages that should not be highlighted (RegExp). Strings passed to the RegExp constructor: new RegExp(EXCLUDE_ITEM, 'i'); |
excludeBySource | [] | Specify source or source(code) pair that should not be highlighted. Examples: ["eslint"] or ["eslint(padded-blocks)"] |
excludePatterns | [] | Exclude files by using glob pattern. Example ["**/*.{ts,js}"] |
excludeWorkspaces | [] | Exclude workspaces by path. |
disableLineComments | {…} | Used for errorLens.disableLine command that adds a comment disabling linter rule for a line. |
lintFilePaths | {…} | Specify where to search for linter rule definitions by diagnostic source (glob for local linter files). node_modules folder is excluded. |
searchForProblemQuery | «https://duckduckgo.com/?q=$message» | Pick query to open in default browser when searching for problem with errorLens.searchForProblem command. |
light | Specify color of decorations for when the light color theme is active. | |
delay | 0 | Delay (ms) before showing problem decorations (0 to disable). Minimum delay of 500 is enforced by the extension. New errors will be added with this delay; old errors that were fixed should disappear faster. |
onSave | false | When enabled — updates decorations only on document save (manual). |
onSaveTimeout | 1000 | Time period (ms) that used for showing decorations after the document save. |
enableOnDiffView | false | Enable decorations when viewing a diff view in the editor (e.g. Git diff). |
followCursor | «allLines» | Highlight only portion of the problems. |
followCursorMore | 0 | Augments #errorLens.followCursor# .Adds number of lines to top and bottom when #errorLens.followCursor# is set to activeLine .Adds number of closest problems when #errorLens.followCursor# is closestProblem |
gutterIconsEnabled | false | When enabled — shows gutter icons (In place of the debug breakpoint icon). |
gutterIconsFollowCursorOverride | true | When enabled and #errorLens.followCursor# setting is not allLines , then gutter icons would be rendered for all problems. But line decorations (background, message) only for active line. |
gutterIconSize | «100%» | Change gutter icon size. Examples: auto , contain , cover , 50% , 150% . |
gutterIconSet | «default» | Change gutter icon style. |
errorGutterIconPath | «» | Absolute path to error gutter icon. |
warningGutterIconPath | «» | Absolute path to warning gutter icon. |
infoGutterIconPath | «» | Absolute path to info gutter icon. |
errorGutterIconColor | «#e45454» | Error color of circle gutter icon set. |
warningGutterIconColor | «#ff942f» | Warning color of circle gutter icon set. |
infoGutterIconColor | «#00b7e4» | Info color of circle gutter icon set. |
removeLinebreaks | true | When enabled — replaces line breaks in inline diagnostic message with whitespaces. |
replaceLinebreaksSymbol | «⏎» | Symbol to replace linebreaks. Requires enabling #errorLens.removeLinebreaks# . |
scrollbarHackEnabled | false | When enabled — prevents showing horizontal scrollbar in editor (caused by inline decorations). |
Colors (26)
Can be specified in settings.json
(workbench.colorCustomizations
section)
Color | Dark | Light | HC | Description |
---|---|---|---|---|
errorLens.errorBackground | #e454541b |
#e4545420 |
#e454541b |
Background color of the entire line containing error. |
errorLens.errorMessageBackground | #e4545419 |
#e4545419 |
#e4545419 |
Background color of the error message. |
errorLens.errorBackgroundLight | #e4545420 |
#e4545420 |
#e4545420 |
Background color of the entire line containing error (Only in light themes). |
errorLens.errorForeground | #ff6464 |
#e45454 |
#ff6464 |
Text color used to highlight lines containing errors. |
errorLens.errorForegroundLight | #e45454 |
#e45454 |
#e45454 |
Text color used to highlight lines containing errors (Only in light themes). |
errorLens.warningBackground | #ff942f1b |
#ff942f20 |
#ff942f1b |
Background color used to highlight lines containing warnings. |
errorLens.warningMessageBackground | #ff942f19 |
#ff942f19 |
#ff942f19 |
Background color of the warning message. |
errorLens.warningBackgroundLight | #ff942f20 |
#ff942f20 |
#ff942f20 |
Background color used to highlight lines containing warnings (Only in light themes). |
errorLens.warningForeground | #fa973a |
#ff942f |
#fa973a |
Text color used to highlight lines containing warnings. |
errorLens.warningForegroundLight | #ff942f |
#ff942f |
#ff942f |
Text color used to highlight lines containing warnings (Only in light themes). |
errorLens.infoBackground | #00b7e420 |
#00b7e420 |
#00b7e420 |
Background color used to highlight lines containing info. |
errorLens.infoMessageBackground | #00b7e419 |
#00b7e419 |
#00b7e419 |
Background color of the info message. |
errorLens.infoBackgroundLight | #00b7e420 |
#00b7e420 |
#00b7e420 |
Background color used to highlight lines containing info (Only in light themes). |
errorLens.infoForeground | #00b7e4 |
#00b7e4 |
#00b7e4 |
Text color used to highlight lines containing info. |
errorLens.infoForegroundLight | #00b7e4 |
#00b7e4 |
#00b7e4 |
Text color used to highlight lines containing info (Only in light themes). |
errorLens.hintBackground | #17a2a220 |
#17a2a220 |
#17a2a220 |
Background color used to highlight lines containing hints. |
errorLens.hintMessageBackground | #17a2a219 |
#17a2a219 |
#17a2a219 |
Background color of the hint message. |
errorLens.hintBackgroundLight | #17a2a220 |
#17a2a220 |
#17a2a220 |
Background color used to highlight lines containing hints (Only in light themes). |
errorLens.hintForeground | #2faf64 |
#2faf64 |
#2faf64 |
Text color used to highlight lines containing hints. |
errorLens.hintForegroundLight | #2faf64 |
#2faf64 |
#2faf64 |
Text color used to highlight lines containing hints (Only in light themes). |
errorLens.statusBarIconErrorForeground | #ff6464 |
#e45454 |
#ff6464 |
Status bar icon item error color. Foreground is used when the errorLens.statusBarIconsUseBackground setting is disabled. |
errorLens.statusBarIconWarningForeground | #fa973a |
#ff942f |
#fa973a |
Status bar icon item error color. Foreground is used when the errorLens.statusBarIconsUseBackground setting is disabled. |
errorLens.statusBarErrorForeground | #ff6464 |
#e45454 |
#ff6464 |
Status bar item error color. |
errorLens.statusBarWarningForeground | #fa973a |
#ff942f |
#fa973a |
Status bar item warning color. |
errorLens.statusBarInfoForeground | #00b7e4 |
#00b7e4 |
#00b7e4 |
Status bar item info color. |
errorLens.statusBarHintForeground | #2faf64 |
#2faf64 |
#2faf64 |
Status bar item hint color. |
Line highlighting depends on the
"errorLens.messageBackgroundMode"
setting.
#fff0
— Completely transparent color.
Upstream issues
Please upvote the following VS Code issues:
- Api for editor insets
- Access theme’s colors programmatically
- When completing color keys in settings, fill in current value
- Inline text adornments break word wrapping
- OnClick event on Gutter
- Support hover decorations over the line numbers i.e. gutter
Добрый вечер!
Не всплывают подсказки, при наведение курсора на ошибки в коде. Предполагаемая ошибка подчёркивается, но подсказок нет, при наведение курсора. Так же нет подсказок при наведение на объекты или функции. Установлено расширение PHP Intelephense, но ничего не работает. Только когда я вызываю функцию с параметрами или передаю параметры в объект, я вижу, что редактор подсказывает мне, какие параметры я должен передать. Так же, подсказывает мне, когда я начинаю набирать магические методы, например __set()
. На этом помощь заканчивается, по моим ощущениям…
В принципе, возможно сделать, что бы это было похоже на phpStorm?) Например добавление гетреров и сетеров. Я когда не видел этих возможностей, мне жилось спокойней, но когда я увидел, я теперь хочу так же, в vs code ) Хотя бы подсказки ошибок … Я отчётливо понимаю, что PHP Intelephense, и встроенный php hints, должны работать по другому.
Вот мой setting.json файл:
{
"editor.tabSize": 2,
"editor.wordWrap": "on",
"editor.detectIndentation": false,
"editor.hover.enabled": false,
"editor.formatOnSave": true,
"vscodeGoogleTranslate.preferredLanguage": "English",
"terminal.integrated.tabs.enabled": true,
"diffEditor.wordWrap": "off",
"html.format.wrapLineLength": 250,
"git.autofetch": true,
"[json]": {
"editor.quickSuggestions": {
"strings": true
},
"editor.suggest.insertMode": "replace"
},
"terminal.integrated.defaultProfile.windows": "Git Bash",
"security.workspace.trust.untrustedFiles": "open",
"window.zoomLevel": -1,
"sync.gist": "",
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features"
},
"files.associations": {
"*.php": "php"
},
"php.suggest.basic": true,
"php.validate.enable": true,
"php.validate.executablePath": null,
"php.validate.run": "onSave",
"terminal.integrated.automationShell.linux": "Git Bash",
"editor.unicodeHighlight.invisibleCharacters": false,
"editor.unicodeHighlight.ambiguousCharacters": false,
"editor.unicodeHighlight.nonBasicASCII": false,
"emmet.includeLanguages": {
""css"": ""css"",
"php": "html"
},
}
I’m using VS Code with a number of different programming languages, which all have some form of problem validation provided via an extension. While these problem underlines are generally useful, I find them very annoying while I’m writing a particular piece of code, and only useful once I’m mostly done typing. I often think while writing code and I also tend to hit Ctrl+S very often, so there is no way that my IDE can «debounce» properly, as it wouldn’t be able to tell if I’m done writing code or not.
How can I disable all lints from being displayed, regardless of the programming language used, until I re-enable them (or restart Code or whatever)?
I’m not looking for a always-hidden solution that permanently changes my settings. More for something that I can toggle with a keyboard shortcut or similar.
While I am most interested in a solution that works regardless of where the lints come from, the two extensions that’d be responsible for most of my lints are rust-analyzer and Kotlin, but I also have clangd and TexLab installed and also use TypeScript whenever I can’t avoid it but currently I don’t have any extension for it installed.
@alexdima
these are mine settings
{ "breadcrumbs.filePath": "off", "breadcrumbs.symbolPath": "off", "editor.acceptSuggestionOnEnter": "smart", "editor.colorDecorators": false, "editor.cursorBlinking": "smooth", "editor.cursorStyle": "line-thin", "editor.detectIndentation": false, "editor.fontSize": 12, "editor.hover.enabled": false, "editor.minimap.renderCharacters": false, "editor.multiCursorModifier": "ctrlCmd", "editor.scrollBeyondLastLine": false, "editor.snippetSuggestions": "top", "editor.tabSize": 2, "editor.wordWrap": "on", "explorer.confirmDelete": false, "explorer.confirmDragAndDrop": false, "files.exclude": { "**/.git": true, "**/.svn": true, "**/.hg": true, "**/CVS": true, "**/.DS_Store": true, "**/node_modules": true, }, "files.insertFinalNewline": true, "files.trimFinalNewlines": true, "files.trimTrailingWhitespace": true, "html.format.wrapAttributes": "force-expand-multiline", "window.closeWhenEmpty": true, "window.restoreFullscreen": true, "window.titleBarStyle": "custom", "workbench.commandPalette.history": 0, "workbench.editor.tabSizing": "shrink", "workbench.settings.editor": "json", "workbench.settings.useSplitJSON": true, "workbench.startupEditor": "newUntitledFile", "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[html]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[javascriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "javascript.updateImportsOnFileMove.enabled": "always", "breadcrumbs.enabled": false, "editor.renderControlCharacters": false, "editor.renderWhitespace": "none", "[json]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[typescript]": { "editor.defaultFormatter": "vscode.typescript-language-features" }, "diffEditor.renderSideBySide": true, "javascript.validate.enable": false, "search.searchOnTypeDebouncePeriod": 500, "git.openDiffOnClick": false, "workbench.colorTheme": "GitHub Dark", "svg.preview.mode": "svg", "editor.codeActionsOnSave": { "source.fixAll.eslint": true } }
I haven’t touched them since the last update and highlighting stopped working.
--user-data-dir
with this highlighting works. soo, should I delete my settings and start over?