ReSharper 2017.2 Help

Coding Assistance in XML

Most of ReSharper's coding assistance features are also supported in XML. You can find the detailed information on these features in the corresponding topics of the Coding Assistance section. In the main topic of the section, you can also find the feature matrix and check what exactly is supported in XML.

In this topic, you can find some examples of using coding assistance features in XML:

Examples of Context Actions

ReSharper provides a set of context actions that target XML code. You can find the full list of these actions in the Code Editing | XML | Context actions page of ReSharper options. If necessary, you can also disable some of the actions using this page.

As soon as a context action becomes available for the current caret position, ReSharper displays the corresponding action indicator ThemedIcon ContextAction Screen Gray to the left of the caret. Sometimes however, ReSharper provides several contextually available features for the current caret position. In this case, the action indicator corresponding to the action with the highest priority is shown, and all other actions only appear when you expand the action list by clicking on the action indicator or pressing Alt+Enter Context actions have the lowest priority, therefore, they often appear at the bottom of the action list:

Here are some examples of context actions for XML:

Convert text to CData
If your text inside a tag has XML symbols, it needs to be converted to CData in order not to break the structure of the document. Luckily, there is an appropriate context action.

ReSharper by Language XML Context Actions convert text 01

After applying the context action, your text is wrapped with [CDATA[]] and you can now use XML symbols.
ReSharper by Language XML Context Actions convert text 02

Remove tag and promote children
If you restructure your XML document and want to remove a level of nesting, use this context action.

ReSharper by Language XML Context Actions remove and promote 01

After applying the context action, the buttons tag is removed and all its child tags are promoted one level up.
ReSharper by Language XML Context Actions remove and promote 02

Collapse empty tag
If a tag doesn't contain any children or text, it can be converted to an empty tag. There is a context action for this purpose as well.

ReSharper by Language XML Context Actions collapse empty tag 01

After applying the context action, the MiddleName tag is converted to an empty tag.
ReSharper by Language XML Context Actions collapse empty tag 02

Rearrange code

Rearranging Code Elements is available in XML files. So you can move a tag up or down by pressing Ctrl+Shift+Alt+Up or Ctrl+Shift+Alt+Down. Consider the example below.

Coding Assistance Moving Code Elements move xml tags 01

The author tag can be moved down or out of its parent tag, or into some other tag.
Coding Assistance Moving Code Elements move xml tags 02

You can also move any attribute within a tag to the left or to the right.

Coding Assistance Moving Code Elements move xml tags 03

Place the caret at attribute name and press Ctrl+Shift+Alt+Left or Ctrl+Shift+Alt+Right depending on your goals.
Coding Assistance Moving Code Elements move xml tags 04

Last modified: 14 December 2017

See Also