Bug #14068 2008-06-22 18:37

kazeyoukai

#include'ing a global "using namespace" doesn't register

This issue comes primarily from using the OGRE library. The standard ExampleApplication.h looks like this:

ExampleApplication.h:

#ifndef __ExampleApplication_H__

#define __ExampleApplication_H__

#include "Ogre.h"

#include "OgreConfigFile.h"

#include "ExampleFrameListener.h"

#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE

#include <CoreFoundation/CoreFoundation.h>

/*some code...*/

using namespace Ogre;

/*lots more code...*/

#endif

Now, the default project template (and most tutorials and so forth) define a main.cpp as such:

main.cpp:

#include <ExampleApplication.h>

//Tutorial/sample code....

This should mean that the entire file should have all members of the Ogre workspace visible to it, as is indeed verified by successful compilation. However, CodeCompletions seems to not pick up on this. If one types:

Vector3::

Which ought to bring up members of the Ogre::Vector3 class, nothing happens. It doesn't even bring up suggestions for "Vector" once it's typed.

However, typing:

Ogre::Vector3::

Works in all aspects.

So, while it's a terrible style, CodeCompletion still ought to recognize a global "using" statement, even from a file which #include's one.

Category
Plugin::CodeCompletion
Group
 
Status
Closed
Close date
2010-10-15 13:18
Assigned to
loaden
loaden 2010-10-15 13:18

We can't solved this issue. It's so hard!