首页 > 解决方案 > Visual Studio XML 格式 - 同一行问题中的第一个属性

问题描述

我想格式化 xml(最小化以删除格式)

<?xml version="1.0" encoding="UTF-8"?><ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:TipCalculator" x:Class="TipCalculator.MainPage" Padding="40"/>

我希望它像 Visual Studio Windows(下)一样格式化它,第一个属性位于元素的第一行,保持与第一个属性对齐。

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
             xmlns:local="clr-namespace:TipCalculator" 
             x:Class="TipCalculator.MainPage" 
             Padding="40"/>

不幸的是 Visual Studio Mac 没有相同的设置

所以我尝试了多种方法来编辑格式规则,例如下面的标记和标记对齐以及下一行选项,但最好的方法如下所示

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage
    xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:local="clr-namespace:TipCalculator"
    x:Class="TipCalculator.MainPage"
    Padding="40" />

此外,我尝试在 Visual Studio Code 中进行格式化,我发现使用提供的设置很难实现相同的行为。

截屏

我发现 Visual Studio for mac 确实支持 Sublime 和 Textmate 包。我试图找到一个,但找不到。

有没有一种方法可以像在 Windows 上的 Visual Studio 中一样实现相同的格式?

标签: xmlvisual-studioxamlvisual-studio-macxml-formatting

解决方案


没有任何 XML 序列化程序能够准确地为您提供所需的内容,而且很少有人会为您提供 VS 显然为您提供的详细控制级别,但在这种情况下,默认的 Saxon 序列化(带有 indent=yes)似乎给出了你在找什么:

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:TipCalculator"
             x:Class="TipCalculator.MainPage"
             Padding="40"/>

当然,这可能并不总是正确的。


推荐阅读