<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[mein Visual Studio (Projekt?) spinnt! [public&#x2F;private, Intellisense]]]></title><description><![CDATA[<p>Hallo allerseits!</p>
<p>Ich habe im Moment folgende, ziemlich unangenehme Probleme:</p>
<p>Probleme mit Intellisense: *(Ich habe bereits die .ncb Datei gelöscht, nutzte nichts...)*1. In der aktuellen Version meines Projektes funktioniert Intellisense nicht für neu hinzugefügte Klassen.<br />
z.B.:</p>
<pre><code class="language-cpp">CNeueKlasse neueklasse, *nk= &amp;neueklasse; //CNeueKlasse ist natürlich nicht leer und verfügt über public Member
nk-&gt; //hier sollte normalerweise das Intellisensemenü aufpoppen, tut es aber nicht! :(
neueklasse. //hier auch :(
</code></pre>
<p>Bei &quot;alten&quot; Klassen ist alles kein Problem.</p>
<ol>
<li>Allgemein dauert der &quot;updating Intellisense&quot; (Statusleiste) Vorgang immer recht lang und Visual Studio (bzw. der Prozess devenv.exe) benötigt volle CPU Last.</li>
<li>Noch schlimmer ist das Phänomen aus 2. beim Hinzufügen von Klassen: Das dauert knapp Minutenlang und Visual Studio (bzw. der Prozess devenv.exe) benötigen über die ganze Zeit nicht nur volle CPU Last, sondern verlangen auch mehrere 100 MB Arbeitsspeicher.</li>
</ol>
<p>Diese Probleme kamen von einem Tag auf den anderen.<br />
An diesem Tag führte ich zwei wesentliche Änderungen am Projekt durch:</p>
<ol>
<li>Die Einführung zahlreicher namespaces, damit globale Variablen nicht so nackt da rum liegen.</li>
<li>Ich begann mir abzugewöhnen, nur mit access = public für Member zu arbeiten und versuchte, einige Varaiblen und Funktionen als private anzulegen.</li>
</ol>
<p>zu (a):<br />
Die Einführung der namespaces sah stets etwa so aus:<br />
Aus</p>
<pre><code class="language-cpp">//beispiel.cpp
...
int test;
....
</code></pre>
<p>wurde</p>
<pre><code class="language-cpp">//beispiel.cpp
...
namespace ns_beispiel
{
    int test;
}
using namespace ns_beispiel;
....
</code></pre>
<p>und das für einige Dateien (knapp unter 20).</p>
<p>Habe ich da etwas falsch oder ungünstig gemacht, woran Visual Studio sich jetzt verschluckt? Wäre es besser, die namespaces anders (z.B. zentral) zu deklarieren?</p>
<p>zu (b)<br />
Der Add Member Wizard macht Mist bei Variablen mit dem Zugriffsrecht &quot;private&quot; <em>(Und zwar nicht nur bei meinem aktuellen Projekt, sondern auch bei neuen Testprojekten)</em>:</p>
<pre><code class="language-cpp">class CTestklasse
{
public:
	CTestklasse(void);
public:
	~CTestklasse(void);

public:
	int publictest;
	int privatetest; //das sollte eigentlich private sein!
public:
	int publictest2;
};
</code></pre>
<p>Die Variable int privatetest fügt ich mit dem Zugriffsrecht private hinzu. Und tatsächlich wurde das sonst immer verwendete &quot;public&quot; weggelassen. Aber natürlich reicht das ja hier nicht, weil oben drüber das &quot;public:&quot; von int publictest steht! (Auch in den Properties von &quot;privatetest&quot; erkennt VS den access als &quot;public&quot;)<br />
Ist es mit Visual Studio 2005 etwa nicht möglich, automatisch private Member hinzuzufügen?</p>
<p>Jedenfalls fügte ich daher einige private von Hand ein, z.B.:</p>
<pre><code class="language-cpp">class CTestklasse
{
public:
	CTestklasse(void);
public:
	~CTestklasse(void);

public:
	int publictest;
private:
	int privatetest;
public:
	int publictest2;
};
</code></pre>
<p>Ist das etwas, woran sich Intellisense verschlucken könnte?</p>
<p>Also nochmal allgemein meine Frage:<br />
**<br />
Hat jemand eine Idee (oder Erfahrungen), woran diese Probleme liegen könnten und wie ich sie wieder loswerde?**</p>
<p>Danke und Gruß,<br />
Dong</p>
<p>übrigens: Eine Testversion von Whole Tomatos Visual Assistent habe ich übrigens auch schon ausprobiert, das brachte keine Äanderung.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/157093/mein-visual-studio-projekt-spinnt-public-private-intellisense</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Jul 2026 23:09:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/157093.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 23 Aug 2006 09:08:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to mein Visual Studio (Projekt?) spinnt! [public&#x2F;private, Intellisense] on Wed, 23 Aug 2006 09:08:24 GMT]]></title><description><![CDATA[<p>Hallo allerseits!</p>
<p>Ich habe im Moment folgende, ziemlich unangenehme Probleme:</p>
<p>Probleme mit Intellisense: *(Ich habe bereits die .ncb Datei gelöscht, nutzte nichts...)*1. In der aktuellen Version meines Projektes funktioniert Intellisense nicht für neu hinzugefügte Klassen.<br />
z.B.:</p>
<pre><code class="language-cpp">CNeueKlasse neueklasse, *nk= &amp;neueklasse; //CNeueKlasse ist natürlich nicht leer und verfügt über public Member
nk-&gt; //hier sollte normalerweise das Intellisensemenü aufpoppen, tut es aber nicht! :(
neueklasse. //hier auch :(
</code></pre>
<p>Bei &quot;alten&quot; Klassen ist alles kein Problem.</p>
<ol>
<li>Allgemein dauert der &quot;updating Intellisense&quot; (Statusleiste) Vorgang immer recht lang und Visual Studio (bzw. der Prozess devenv.exe) benötigt volle CPU Last.</li>
<li>Noch schlimmer ist das Phänomen aus 2. beim Hinzufügen von Klassen: Das dauert knapp Minutenlang und Visual Studio (bzw. der Prozess devenv.exe) benötigen über die ganze Zeit nicht nur volle CPU Last, sondern verlangen auch mehrere 100 MB Arbeitsspeicher.</li>
</ol>
<p>Diese Probleme kamen von einem Tag auf den anderen.<br />
An diesem Tag führte ich zwei wesentliche Änderungen am Projekt durch:</p>
<ol>
<li>Die Einführung zahlreicher namespaces, damit globale Variablen nicht so nackt da rum liegen.</li>
<li>Ich begann mir abzugewöhnen, nur mit access = public für Member zu arbeiten und versuchte, einige Varaiblen und Funktionen als private anzulegen.</li>
</ol>
<p>zu (a):<br />
Die Einführung der namespaces sah stets etwa so aus:<br />
Aus</p>
<pre><code class="language-cpp">//beispiel.cpp
...
int test;
....
</code></pre>
<p>wurde</p>
<pre><code class="language-cpp">//beispiel.cpp
...
namespace ns_beispiel
{
    int test;
}
using namespace ns_beispiel;
....
</code></pre>
<p>und das für einige Dateien (knapp unter 20).</p>
<p>Habe ich da etwas falsch oder ungünstig gemacht, woran Visual Studio sich jetzt verschluckt? Wäre es besser, die namespaces anders (z.B. zentral) zu deklarieren?</p>
<p>zu (b)<br />
Der Add Member Wizard macht Mist bei Variablen mit dem Zugriffsrecht &quot;private&quot; <em>(Und zwar nicht nur bei meinem aktuellen Projekt, sondern auch bei neuen Testprojekten)</em>:</p>
<pre><code class="language-cpp">class CTestklasse
{
public:
	CTestklasse(void);
public:
	~CTestklasse(void);

public:
	int publictest;
	int privatetest; //das sollte eigentlich private sein!
public:
	int publictest2;
};
</code></pre>
<p>Die Variable int privatetest fügt ich mit dem Zugriffsrecht private hinzu. Und tatsächlich wurde das sonst immer verwendete &quot;public&quot; weggelassen. Aber natürlich reicht das ja hier nicht, weil oben drüber das &quot;public:&quot; von int publictest steht! (Auch in den Properties von &quot;privatetest&quot; erkennt VS den access als &quot;public&quot;)<br />
Ist es mit Visual Studio 2005 etwa nicht möglich, automatisch private Member hinzuzufügen?</p>
<p>Jedenfalls fügte ich daher einige private von Hand ein, z.B.:</p>
<pre><code class="language-cpp">class CTestklasse
{
public:
	CTestklasse(void);
public:
	~CTestklasse(void);

public:
	int publictest;
private:
	int privatetest;
public:
	int publictest2;
};
</code></pre>
<p>Ist das etwas, woran sich Intellisense verschlucken könnte?</p>
<p>Also nochmal allgemein meine Frage:<br />
**<br />
Hat jemand eine Idee (oder Erfahrungen), woran diese Probleme liegen könnten und wie ich sie wieder loswerde?**</p>
<p>Danke und Gruß,<br />
Dong</p>
<p>übrigens: Eine Testversion von Whole Tomatos Visual Assistent habe ich übrigens auch schon ausprobiert, das brachte keine Äanderung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122632</guid><dc:creator><![CDATA[dong]]></dc:creator><pubDate>Wed, 23 Aug 2006 09:08:24 GMT</pubDate></item><item><title><![CDATA[Reply to mein Visual Studio (Projekt?) spinnt! [public&#x2F;private, Intellisense] on Wed, 23 Aug 2006 09:13:26 GMT]]></title><description><![CDATA[<p>Könnte vielleicht sein, dass die *.opt - Datei inzwischen zu gross ist...<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39072.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39072.html</a> (hier unter P.S. erwähnt).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122635</guid><dc:creator><![CDATA[isabeau]]></dc:creator><pubDate>Wed, 23 Aug 2006 09:13:26 GMT</pubDate></item><item><title><![CDATA[Reply to mein Visual Studio (Projekt?) spinnt! [public&#x2F;private, Intellisense] on Wed, 23 Aug 2006 12:34:13 GMT]]></title><description><![CDATA[<p>isabeau schrieb:</p>
<blockquote>
<p>Könnte vielleicht sein, dass die *.opt - Datei inzwischen zu gross ist...<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39072.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39072.html</a> (hier unter P.S. erwähnt).</p>
</blockquote>
<p>Ich habe gar keine .opt Datei...<br />
...aber mittlerweile sitze ich an einem anderen Rechner und habe zum einfacheren Transport nur die *.cpp, *.h, *.rc und die *.sln in ein Archiv gepackt, nach dem Auspacken funktionierte zumindest Intellisense wieder auf dem anderen Rechner. (Mal gespannt, wie das ist, wenn ich wieder zu Hause bin...)</p>
<p>Das Problem mit der Unfähigkeit von Visual Studio, Membervariablen als &quot;private&quot; anzulege, habe ich hier (auf dem anderen Rechner) allerdings auch.</p>
<p>Gruß,<br />
Dong</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122829</guid><dc:creator><![CDATA[dong]]></dc:creator><pubDate>Wed, 23 Aug 2006 12:34:13 GMT</pubDate></item><item><title><![CDATA[Reply to mein Visual Studio (Projekt?) spinnt! [public&#x2F;private, Intellisense] on Thu, 24 Aug 2006 18:14:44 GMT]]></title><description><![CDATA[<p>So, ich konnte das Problem jetzt besser nachvollziehen und reproduzierbar gestalten:</p>
<p>Das private/public Problem und das Intellisense Problem haben nämlich tatsächlich miteinander zu tun!</p>
<p>Und zwar folgendermaßen:</p>
<ol>
<li>Wie erwähnt ist der &quot;Add Member Variable Wizard&quot; von meinem Visual Studio 2005 nicht in der Lage, richtig eine Variable mit dem Zugriffsrecht &quot;private&quot; zu einer Klasse hinzuzufügen. Das Ergebnis eines derartigen Versuchs sieht im Header so aus:</li>
</ol>
<pre><code class="language-cpp">class CTestklasse
{
public:
	CTestklasse(void);
public:
	~CTestklasse(void);
public:
	int publictest;
	int privatetest;
}
</code></pre>
<p>also kurz gesagt: Das Schlüsselwort &quot;private&quot; fehlt. <em>(Ja, ich weiß, dass ist zwar in Klassen default, aber darüber steht eben ein &quot;public&quot;, daher ist auch &quot;privatetest&quot; public.)</em></p>
<ol>
<li>Eine Membervariable wird erst &quot;private&quot;, wenn man das bei den &quot;Properties&quot; oder von Hand ändert:</li>
</ol>
<pre><code class="language-cpp">class CTestklasse
{
public:
	CTestklasse(void);
public:
	~CTestklasse(void);
public:
	int publictest;
	int privatetest;
public:
	int publictest2;
private:
	int privatetest2;
};
</code></pre>
<ol>
<li><strong>Alle Variablen, die danach (nach einer &quot;richtigen&quot; private Variable) hinzugefügt werden, werden von Intellisense (und der Virtual Assist Trial Version) nicht mehr erkannt.</strong><br />
Man vergleiche:<br />
<a href="http://img178.imageshack.us/img178/7679/privatepublicproblemag0.png" rel="nofollow">Intellisense Screenshot (23kB)</a> <em>[publictest3 fehlt bei Intellisense!]</em> mit dem Header:</li>
</ol>
<pre><code class="language-cpp">class CTestklasse
{
public:
	CTestklasse(void);
public:
	~CTestklasse(void);
public:
	void buhfunktion(void);
public:
	int publictest;
	int privatetest;
public:
	int publictest2;
private:
	int privatetest2;
public:
	int publictest3;
};
</code></pre>
<p>[edit]Update: Wenn hingegen alle public Variablen vor der ersten private Variable stehen, geht Intellisense wohl. (*Daumen drück dass das so bleibt...*)[/edit]</p>
<p>Trotzdem nervig, dass das nicht von Anfang an richtig geht.<br />
Hat jemand eine Idee?</p>
<p>Danke und Gruß,<br />
Dong</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1124047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1124047</guid><dc:creator><![CDATA[dong]]></dc:creator><pubDate>Thu, 24 Aug 2006 18:14:44 GMT</pubDate></item><item><title><![CDATA[Reply to mein Visual Studio (Projekt?) spinnt! [public&#x2F;private, Intellisense] on Thu, 24 Aug 2006 21:46:57 GMT]]></title><description><![CDATA[<p>Ich kann nur eins sagen, dass Intellisense im VC8 ist sehr gut für C# aber für C++ nicht unbedingt zu gebrauchen. Das die Aktualisierung der DB für das Intellisense quasie das System lahmlegt ist bekannt und es gibt auch einen Hotfix dafür.</p>
<p>Ansonsten kann ich dir nur Visual Assist empfehlen. Es gibt nix besseres.</p>
<p>Gruss</p>
<p>PS. <a href="http://www.wholetomato.com" rel="nofollow">wholetomato</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1124115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1124115</guid><dc:creator><![CDATA[BEamer]]></dc:creator><pubDate>Thu, 24 Aug 2006 21:46:57 GMT</pubDate></item><item><title><![CDATA[Reply to mein Visual Studio (Projekt?) spinnt! [public&#x2F;private, Intellisense] on Fri, 25 Aug 2006 06:34:58 GMT]]></title><description><![CDATA[<p>BEamer schrieb:</p>
<blockquote>
<p>Ansonsten kann ich dir nur Visual Assist empfehlen. Es gibt nix besseres.</p>
</blockquote>
<p>Genau. Jedesmal, wenn ich mich an ein Visual Studio ohne VA setze, fühle ich mich irgendwie amputiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1124204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1124204</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Fri, 25 Aug 2006 06:34:58 GMT</pubDate></item><item><title><![CDATA[Reply to mein Visual Studio (Projekt?) spinnt! [public&#x2F;private, Intellisense] on Fri, 25 Aug 2006 07:21:10 GMT]]></title><description><![CDATA[<p>@BEamer &amp; jencas:</p>
<p>dong (im obersten Beitrag) schrieb:</p>
<blockquote>
<p>übrigens: Eine Testversion von Whole Tomatos Visual Assistent habe ich übrigens auch schon ausprobiert, das brachte keine Änderung.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> OK, ich gebe zu, das Programm heißt &quot;Visual Assist&quot; und nicht &quot;Visual Assistent&quot;, wie ich ursprünglich schrieb.</p>
<p>Aber ansonsten habt Ihr recht: Visual Assist ist schon genial, gefällt mir bereits nach kurzer Zeit sehr gut! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Aber trotzdem lag das Problem wie gesagt nicht in der Frage ob natives Intellisense oder Visual Assist, sondern wohl eher darin, dass der &quot;Add Member Wizard&quot; Header produziert, die zum Teil falsch und zum Teil für Intellisense/Visual Assist schlicht unverständlich sind. Komisch...</p>
<p>(Konntet Ihr das auch schon so beobachten? Hinzufügen einer <em>public</em>, einer <em>private</em> und dann wieder einer <em>public</em> Variablen führt wie oben beschrieben zu:</p>
<pre><code class="language-cpp">class CTestklasse
{
public:
    CTestklasse(void);
public:
    ~CTestklasse(void);
public:
    int publictest;
    int privatetest;
public:
    int publictest2;
};
</code></pre>
<p>statt:</p>
<pre><code class="language-cpp">class CTestklasse
{
public:
    CTestklasse(void);
public:
    ~CTestklasse(void);
public:
    int publictest;
    int publictest2;
private:
    int privatetest;
};
</code></pre>
<p>oder:</p>
<pre><code class="language-cpp">class CTestklasse
{
    int privatetest;
public:
    CTestklasse(void);
    ~CTestklasse(void);
    int publictest;
    int publictest2;
};
</code></pre>
<p>Wenn ja: Wie umgeht Ihr das Problem?)</p>
<p>Gruß,<br />
Dong</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1124226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1124226</guid><dc:creator><![CDATA[dong]]></dc:creator><pubDate>Fri, 25 Aug 2006 07:21:10 GMT</pubDate></item></channel></rss>