Как скрыть частных участников класса? - PullRequest
9 голосов
/ 27 января 2012

Я давно пользуюсь Visual Studio, и это раздражает меня каждый раз, когда я работаю с классами.Проблема в том, что когда я создаю объект класса, я склонен видеть, что приватные члены принадлежат этому классу, и я не хочу этого, потому что, если я создаю класс с 10+ приватной переменной, тогда это будет кошмар, должен быть способ скрыть частных пользователей, если есть способ, не могли бы вы поделиться им со мной?Спасибо:)

РЕДАКТИРОВАТЬ:

Вот изображение, которое поможет вам понять, о чем я говорю,

дляНапример, здесь у меня есть 2 приватные переменные класса LinkedList (curSize и head). Я не смогу изменить их из main, поэтому нет смысла их видеть (не так ли?). Как я могу скрыть их, не изменяя мой код?есть ли для этого настройка в Visual Studio?

Ответы [ 3 ]

6 голосов
/ 19 ноября 2012

Это может быть не самый лучший ответ и не очень хороший ответ, но он выполняет свою работу, и если вы можете жить с небольшим изменением синтаксиса, то он определенно сработает.Одна уловка, которую я узнал из наблюдений std классов, таких как std::vector, состоит в том, что они обозначают приватные члены префиксом _, таким образом, заставляя все приватные члены достигать самой нижней части intellisense.Он не удаляет их из списка, но переместит их все в самый низ, чтобы они не мешали вам при прокрутке списка.Вот пример:

class SomeClass{
public:
   int myPublicMemeber;
private:
   int _myPrivateMember;
};
4 голосов
/ 27 января 2012

К сожалению, это невозможно в текущей версии Visual Studio.В C ++ список IntelliSense не фильтруется доступностью или областью действия.Таким образом, частные члены все еще отображаются, даже если они на самом деле не доступны для вашего кода.Также нет настроек для настройки этого поведения.

Вам просто нужно положиться на значок замка, чтобы указать, что они закрыты и поэтому недоступны.Все эти маленькие значки в окне IntelliSense do имеют значение , знаете ли.

Но похоже, что эта функция может появитьсяв следующей версии Visual Studio (VS11). MSDN говорит: :

Список участников Улучшения .Раскрывающийся список Список участников появляется автоматически при вводе кода в редакторе кода.Результаты фильтруются, поэтому при вводе отображаются только релевантные элементы.Вы можете управлять типом логики фильтрации, используемой списком элементов, в диалоговом окне «Параметры» в текстовом редакторе, C / C ++, «Дополнительно».

Как бы глупо это ни было, я тоже очень рад этому.Наряду с другими интересными вещами, такими как лучшая подсветка синтаксиса и подсветка ссылок. Developer Preview уже выпущен, так что вы можете попробовать начать использовать его, если хотите, но он может быть не готов к прайм-тайм.И это, по общему признанию, своего рода паршивая причина для обновления ...

В качестве альтернативы, вы можете инвестировать в Visual Assist X , расширение, доступное для нескольких версий Visual Studio, которое добавляетмножество удобных функций в C ++ IDE и, соответственно, улучшает фильтрацию IntelliSense.Это не бесплатно, но довольно круто для разработчиков на C ++, и если бы я не был бедным / сломанным / дешевым, я бы определенно купил его сам.

4 голосов
/ 27 января 2012

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

class MyClass {

    #region Private Variables

    private int x;
    private int y;
    private int z;

    #endregion

}

Visual Studio будет отображать немного - рядом со строкой #region.Нажмите, чтобы скрыть переменные.

...