Как заставить отступ C # условных директив? - PullRequest
12 голосов
/ 24 августа 2009

есть ли опция, как отключить #if, #endif и другие директивы не с отступом после Edit -> Advanced -> Format document в Visual Studio?

Спасибо!

Ответы [ 3 ]

7 голосов
/ 27 августа 2009

Посмотрите на StyleCop .

StyleCop анализирует исходный код C # для обеспечения соблюдения набора стилей и правил согласованности. Его можно запустить из Visual Studio или встроить в проект MSBuild. StyleCop также был интегрирован во многие сторонние инструменты разработки.

Вы даже можете добавить пользовательские правила: Создание пользовательских правил для Microsoft Source Analyzer

Надеюсь, это поможет.

2 голосов
/ 23 августа 2016

Вы можете спрятать его где-нибудь в статическом вспомогательном классе.

internal class Helper
{
    internal static bool IsDebugBuild
    {
        get
        {
#if DEBUG
            return true;
#endif
            return false;
        }
    }
}

Тогда вы можете просто использовать его, как показано ниже:

if (Helper.IsDebugBuild)
{
    ...
}
2 голосов
/ 26 августа 2009

Боюсь, в Visual Studio нет прямой настройки. В любом случае, дайте мне знать:)
В качестве альтернативы вы можете попробовать использовать внешний инструмент для форматирования вашего кода (например, AStyle ). Вы можете создать макрос в VS, который закроет текущий файл, запустит внешний инструмент для файла и снова откроет его (и, возможно, переместит курсор в предыдущую позицию), чтобы вы могли отформатировать код из Visual Студия.

Во всяком случае, я не уверен, стоит ли эта задача усилий ...

В противном случае вы могли бы написать свой собственный макрос для отступа директив препроцессора в текущем файле после того, как был отформатирован VS, даже без использования внешних инструментов (которые, вероятно, было бы довольно сложно настроить для чтобы получить точно такое же форматирование, как в VS).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...