Niestety, działa to tylko dla wszystkiego, co TY, ale wciąż jest o czym pamiętać, jeśli używasz wielu własnych bibliotek.
Jedną z rzeczy, którą zrobiłem dla bibliotek, które tworzę, jest próba oszukania intellisense za pomocą #define. W mojej deklaracji klasy w pliku nagłówka dla biblioteki cokolwiek robię, ja otaczają całą część prywatna w przestrzeni #ifdef, na przykład
#ifdef MYCLASS_SHOW_PRIVATE_VARIABLES
private:
int hideThisVariable;
float noShow;
void HiddenIncrementFunction();
#endif
Następnie w sekcji kodu klasy gdzie muszę dostarczają definicje wszystkich metod na szczycie przed tym pliku z deklaracji klasy, dodaję
#define MYCLASS_SHOW_PRIVATE_VARIABLES
ten sposób prywatne członkowie są widoczne tylko dla metod wdrożyć do swojej klasy w pliku źródłowym. Wszyscy klienci korzystający z tej biblioteki nie będą mogli zobaczyć prywatnych zmiennych za pomocą pakietu intelliSense, o ile oczywiście nie zdefiniują one dyrektywy wstępnej procesora.
@Keoki Postaram się nieco mocniej :) – aligray
Czy próbujesz zapobiec temu, gdy klient używa Twojego kodu? Wątpię, by to było możliwe. Jeśli jest to ustawienie w MSVC, każdy, kto używa Twojego API, musi go włączyć. – RageD
@Keoki: Istnieją rozwiązania Intellisense innych firm, takie jak Visual Assist X, ale nie ma wbudowanego w Visual Studio. – ildjarn