Как остановить Visual Studio от переноса строк, когда XML автоматически генерируется для ссылок на службы - PullRequest
2 голосов
/ 30 июня 2011

Когда вы добавляете или обновляете ссылку на службу в проекте Visual Studio (ранее называвшемся «веб-ссылка»), 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>

Я ненавижу, как грязно это выглядит, и поэтому я обычно прохожу и вручную "исправляю" это, чтобы удалить все разрывы строк.

Итак, я выгляжу так:

<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 футами вертикальной прокрутки.

Я искал варианты, которые могли бы остановить это, но так и не нашел. Этим утром мне пришло в голову, что, возможно, я должен спросить об этом ТАК. Другие вопросы , такие как этот , касались аналогичных вопросов, но пока не нашли решения.

Ответы [ 2 ]

0 голосов
/ 29 апреля 2012

Отмена проверки параметров Автоформатирования в Инструменты> Параметры> XML> Форматирование может помочь.

0 голосов
/ 01 июля 2011

Я уверен, что вы можете сделать это. В Option / Text Editor / XML должна быть настройка, называемая интервалом атрибута. У меня точно противоположная настройка. Пока вы там, разверните настройки Wrap line и посмотрите на это.

...