繁体   English   中英

为服务引用自动生成 XML 时如何阻止 Visual Studio 换行

[英]How to stop Visual Studio from wrapping lines when XML is auto-generated for service references

当您在 Visual Studio 项目中添加或更新服务引用(以前称为“Web 引用”)时,VS.NET 将在您的应用程序配置中自动生成所有 XML 绑定代码。

它往往看起来像这样:

<system.serviceModel>
  <bindings>
    <basicHttpBinding>
      <binding name="BasicHttpBinding_IUserService" closeTimeout="00:01:00"
        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
        allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
        maxBufferSize="6553600" maxBufferPoolSize="524288" maxReceivedMessageSize="6553600"
        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
        useDefaultWebProxy="true">
        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
          maxBytesPerRead="4096" maxNameTableCharCount="16384" />
        <security mode="None">
          <transport clientCredentialType="None" proxyCredentialType="None"
            realm="" />
          <message clientCredentialType="UserName" algorithmSuite="Default" />
        </security>
      </binding>
    </basicHttpBinding>
  </bindings>
  <client>
    <endpoint address="http://domain.com/services/user.svc"
      binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IUserService"
      contract="UserService.IUserService" name="BasicHttpBinding_IUserService" />
  </client>
</system.serviceModel>

我讨厌它看起来多么凌乱,所以我通常通过 go 并手动“修复”它以删除所有换行符。

所以我让它看起来像这样:

<system.serviceModel>
  <bindings>
    <basicHttpBinding>
      <binding name="BasicHttpBinding_IUserService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="6553600" maxBufferPoolSize="524288" maxReceivedMessageSize="6553600" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
        <security mode="None">
          <transport clientCredentialType="None" proxyCredentialType="None" realm="" />
          <message clientCredentialType="UserName" algorithmSuite="Default" />
        </security>
      </binding>
    </basicHttpBinding>
  </bindings>
  <client>
    <endpoint address="http://domain.com/services/user.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IUserService" contract="UserService.IUserService" name="BasicHttpBinding_IUserService" />
  </client>
</system.serviceModel>

这不仅仅是希望它看起来干净的问题。 我的一些客户项目有超过 20 个引用,因此它有助于防止配置没有 10 英尺的垂直滚动。

我一直在寻找可以阻止这种情况的选项,但从未找到任何选项。 今天早上,我突然想到也许我应该问一下。 其他 SO 问题, 例如这个问题,涉及类似的问题,但还没有解决方案。

在工具 > 选项 > XML > 格式化中取消选中自动格式化选项可能会有所帮助。

我很确定你可以做到这一点。 在选项/文本编辑器/XML 下应该有一个称为属性间距的设置。 我有完全相反的设置。 当您在那里时,展开 Wrap line 设置并查看该设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM