Как свернуть все блоки #ifdefs, которые не будут компилироваться в Visual Studio? - PullRequest
8 голосов
/ 16 июня 2010

Проблема заключается в следующем: в базе кода есть много файлов с несколькими блоками, скомпилированными условно для каждой целевой платформы с использованием директивы #iffined (...).Поскольку обычный программист работает в основном на одной из платформ, довольно сложно читать и перемещаться по коду с этими большими блоками неактивных блоков кода, даже если блоки кода выделены серым в редакторе Visual Studio 2005.

У кого-то есть идея функциональности для свертывания только тех блоков кода, которые не скомпилированы, но все еще присутствуют в исходном файле.

1 Ответ

4 голосов
/ 15 октября 2013

Насколько я знаю, вы не можете свернуть неактивные области препроцессора по умолчанию, и, кажется, нет расширения, обеспечивающего эту функциональность.

Тем не менее, вы можете изменить способ отображения неактивного текста препроцессора (по крайней мере, на VS2012), чтобы он был менее отвлекающим и чтобы код, который фактически скомпилирован, был легче читать.

Попробуйте эти настройки:

Tools > Options > Text Editor > C/C++ > Formatting:
Show Inactive Blocks : true
Disable Inactive Code Opacity : false
Inactive Code Opacity Percent: 30 

По умолчанию 65, но я считаю, 30 лучше работает, если вы используете темную тему.

Вы также можете дополнительно настроить цвета с помощью Редактор цветовых тем Visual Studio 2012 , чтобы еще больше повысить удобочитаемость (например, если вы предпочитаете, чтобы Sublime Text отображал ваш код)

...