Hide/fold/dim arbitrary lines of code by regex (e.g. to hide logging)

Viewed 123

There is a lot of logging in my C++ project. The logging is done via a log stream and the log lines have the following format:

APP_LOG_XXX() << ... ;

Those log lines blend with the rest of the code and make it harder to be read.

I want to somehow make these log lines appear in dimmed colors, or even better to hide/fold by a hotkey or click. There are a lot of log lines already, so wrapping them up in #pragma region would take much time (or would require writing a separate script). I wonder if there is an easier way.

(There is a very similar question on SO, but it's about Visual Studio, not Visual Studio Code).

1 Answers

You can use extension Highlight.

Set the color to a version close to your theme background color

Add to your settings.json

  "highlight.regexes": {
    "(APP_LOG_XXX\\(\\) <<[^;]+;)": {
      "regexFlags": "mg",
      "decorations": [
        { "color": "#f0f0f0" }
      ]
    }
  }

Or you can use the opacity decoration property instead. The following configuration will dim the text while preserving its current syntax highlighting:

  "highlight.regexes": {
    "(APP_LOG_XXX\\(\\) <<[^;]+;)": {
      "regexFlags": "mg",
      "decorations": [
        { "opacity": "0.4" }
      ]
    }
  }
Related