Brace matching

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Brace matching, also known as bracket matching or parentheses matching, is a syntax highlighting feature of certain text editors and integrated development environments that highlights matching sets of braces (square brackets, curly brackets, or parentheses) in languages such as Java and C++ that use them. The purpose is to help the programmer navigate through the code and also spot any improper matching, which would cause the program to not compile or malfunction. If a closing brace is left out, for instance, the compiler will not know that the end of a block of code has been reached. Brace matching is particularly useful when many nested if statements, program loops, etc. are involved.


Vim's % command does brace matching,[1] and NetBeans has brace matching built-in.[2] Brace matching can also be a tool for code navigation. In Visual Studio[3] C++ 6.0, brace matching behavior was set to ignore braces found in comments. In VSC 7.0, its behavior was changed to compute commented braces.[4] IntelliJ IDEA's Ruby on Rails plugin also enables braces matching.[5] It has been proposed that Perl 5 be modified to facilitate braces matching.[6] The Microsoft Excel 2003 formula bar has parentheses matching. Its implementation shows all the pairs of parentheses as different colors, so it is possible to easily analyze them all at once.


In this example, the user has just typed the closing curly brace '}' defining a code block, and that brace and its corresponding opening brace are both highlighted.

for (int i = 0; i < 10; i++)


  1. ^ Norm Matloff's Text-Editor Web Page for Programming Students
  2. ^ "Overview (Editor Braces Matching)". Archived from the original on 2012-05-25. Retrieved 2008-03-09.
  3. ^ Automatic Brace Matching in Visual Studio
  4. ^ Feedback: braces matching behavior
  5. ^ "IntelliJ IDEA supports Ruby and Ruby on Rails | AjaxLine". Archived from the original on 2010-09-22. Retrieved 2008-03-09.
  6. ^ Brace-matching for Perl Regular Expressions - perl6