PyCharm 2024.2 Help

Code Style. HTML

Use this page to configure formatting options for HTML files. When you change these settings, the Preview pane shows how this will affect your code.

Tabs and Indents

Use tab character

  • If this checkbox is selected, tab characters are used:

    • On pressing the Tab key

    • For indentation

    • For reformatting code

  • If the checkbox is cleared, PyCharm uses spaces instead of tabs.

Smart tabs

An indentation consists of two parts. One part results from nesting code blocks, and the other part is determined by alignment.

  • If this checkbox is selected, the part that results from nesting contains both tabs and spaces (if necessary), while the part defined by alignment consists only of spaces.

  • If this checkbox is cleared, only tabs are used. This means that after reformatting a group of spaces that fits the specified tab size is automatically replaced with a tab, which may result in breaking fine alignment.

Tab size

In this field, specify the number of spaces that fits in a tab.

Indent

In this field, specify the number of spaces to be inserted for each indent level.

Continuation indent

In this field, specify the number of spaces to be inserted between the elements of an array, in expressions, method declarations, and method calls.

Keep indents on empty lines

If this checkbox is selected, PyCharm retains indents on empty lines as if they contained some code. If the checkbox is cleared, PyCharm deletes the tab characters and spaces on empty lines.

Other

Item

Description

Right Margin

Use these settings to specify a margin space required on the right side of an element. If you select Default option then a value of the right margin from the global settings will be used.

Wrap on typing

Use these settings to specify how the edited text is fitted in the specified Right margin.

You can select one the following options:

  • Default - in this case PyCharm uses the Wrap on typing option that is specified in the global settings.

  • Yes - in this case the value in the specified right margin is used.

  • No - in this case this option is switched off, and a line can exceed the number that is specified in the right margin.

Keep line breaks

Select this checkbox to have PyCharm honor line breaks when reviewing HTML files in the editor.

Keep line breaks in text

Select this checkbox to have PyCharm honor line breaks in attributes (for example, lengthy descriptions) when reviewing HTML files in the editor.

Keep blank lines

In this field, specify the minimum number of sequential blank lines to be retained after reformatting.

Wrap attributes

Use this drop-down list to determine how attribute lines should be wrapped. The available options are:

  • Do not wrap - if this option is selected, no special wrapping style is applied to the code.

  • Wrap if long - select this option to have lines going beyond the right margin wrapped with proper indentation.

  • Chop down if long - select this option to have elements in lists that go beyond the right margin wrapped to give one element per line with proper indentation.

  • Wrap always - select this option to have all elements in lists wrapped to give one element per line with proper indentation.

Wrap text

Select this checkbox to have long lines wrapped according to the code style settings.

Align attributes

Select this checkbox to have attributes in sequential lines aligned.

Align text

Select this checkbox to have PyCharm align the text that occupies several lines within a tag.

Keep white spaces

Select this checkbox to suppress replacing actual white spaces with tabs.

Spaces

In this area, define the use of spaces for attributes and tag names.

  • Around "=" in attribute - select this checkbox to have spaces added around the "=" symbol in attributes.

  • After tag name - select this checkbox to have spaces added after tag names.

  • In empty tag - select this checkbox to have spaces added in empty tags.

Insert new line before

This display field shows a list of tags before which a new line should be inserted. Use the button next to the field or press Shift+Enter to open the Insert New Line Before Tags dialog, where you can edit the list of tags.

Remove new line before

This display field shows a list of tags before which a break line should be removed. Use the button next to the field or press Shift+Enter to open the Remove Line Breaks Before Tags dialog, where you can edit the list of tags.

Do not indent children of

This display field shows a list of tags whose children should not be indented. Use the button next to the field or press Shift+Enter to open the Do Not Indent Children Of dialog, where you can edit the list of tags.

Or if tag size more than

In this field, specify the minimum length of a tag in lines starting from which its children are not indented.

Inline elements

This display field shows a list of tags that are presented in the source code in the same line with the other tags. If a tag is removed from the list, the editor automatically moves it to a new line when you add such tag to the source code. Use the button next to the field or press Shift+Enter to open the Inline Elements dialog, where you can edit the list of tags.

Keep white spaces inside

This display field shows a list of tags inside which you want the editor to preserve white spaces as is, without any changes. Use the button next to the field or press Shift+Enter to open the Keep Whitespaces Inside dialog, where you can edit the list of tags.

Don't break if inline content

This display field shows a list of tags that are not to be wrapped if their content is inlined. Use the button next to the field or press Shift+Enter to open the Don't Wrap If Inline Content Only dialog, where you can edit the list of tags.

Generated quote marks

Choose the style of the quote marks (double, single, or none) to be automatically inserted around HTML attributes on typing =.

This is important when HTML is inserted dynamically using JavaScript, and you want to consistently use double-quote pairs for JavaScript strings and single-quote pairs for HTML to prevent problems, for example, when copying and pasting.

Enforce on format

If this checkbox is selected, then on code reformatting the previously generated quote marks will be replaced (for example, double quotes with single quotes).

Arrangement

In this tab, define a set of rules to rearrange your HTML code according to your preferences.

Matching rules

Use this area to define elements order as a list of rules, where every rule has a set of matches such as modifier or type.

  • - use this button to add a rule. The empty rule area opens.

  • - use this button to remove the rule from the list.

  • - use this button to edit an existing rule. To see this button, navigate to the rule that you want to edit and click the button. In popup that opens, modify the rule fields.

  • - use these buttons to move the selected rule up or down.

Empty rule

Use this area to create a new matching rule or edit an existing one. You can select from the following filters:

  • Type - use this filter to choose tags or attributes for your rule. Note that clicking a type keyword twice negates the condition.

  • Name - use this field to specify entry names in the rule. This filter matches only entry names, such as tag names or attribute names. The filter supports regular expressions and uses a standard syntax. The match is performed against the entire name.

  • Namespace - use this field to specify the namespace in the rule. It lets you specify a rule that controls a namespace attribute position.

  • Order - use this drop-down list to select the sorting order for the rule. This option is useful when more than one element uses the same matching rule. In this case, selecting Keep order will keep the same order as was set before the rearrangement and selecting Order by Name will sort the elements with the same matching rule by their names.

icon_sort.png

This icon appears when you select Order by Name from the Order list. The icon indicates that the items in this rule are sorted alphabetically.

Code Generation

On this tab, configure the code style for generated code.

Comments

In this area, configure code style for generated comments.

  • Line comment at first column: select this checkbox to start line comments at the first column. When the checkbox is cleared, line comments are aligned in the code.

    Line comment at first column is cleared
    Line comment at first column is selected
  • Block comment at first column: by default, this checkbox is cleared and block comments are aligned in the code. Select the checkbox to start block comments at the first column.

    Block comment at first column is off
    Block comment at first column is on
  • Add spaces around block comments: select this checkbox to add leading and trailing spaces in block comments.

    By default, when you enclose a code fragment in a block comment, the text starts right after the opening <!-- characters without any spaces. Before the closing --> characters no space is inserted either. This default code style may conflict with some linters' rules, for example, ESLint.

    No space at block comment start added
    A space at block comment start added

Set from

The link appears in the upper-right corner of the page, when applicable. Click this link and choose the language to be used as the base for the current language code style.

To return to the initial set of code style settings and discard the changes, click Reset.

Last modified: 26 May 2024