On 28/08/12 10:05, ext Konstantin Tokarev wrote: > 28.08.2012, 11:56, "Christian Kandeler" <[email protected]>: >> However, most of the time that is not the case, such as in >> this example: >> QStringList rc(QLatin1String(".svn")); >> #ifdef Q_OS_WIN >> rc.push_back(QLatin1String("_svn")); >> #endif >> return rc; >> The code would compile on any platform, but we hide it from the compiler >> and Qt Creator's code model on all of them except Windows. This means >> that if, for instance, you are developing on Linux and you are using >> Creator's refactoring support to rename the rc variable in the above >> example, Creator will miss the occurrence inside the #ifdef'ed block, as >> that one is not part of the code model. > > I think this issues is a fault of Qt Creator. While I understand that it may > be > impossible to parse disabled block completely in some cases (not in this one > btw), it would be very desirable to support basic things like code navigation > and > variable renaming for disabled blocks too.
This is probably not doable in the general case. For instance, variables with the same name might not actually be the "same" due to competing declarations etc; presumably the scenarios can get arbitrarily complex there. I'm pretty sure the code model people can name all kinds of "interesting" effects. Christian _______________________________________________ Qt-creator mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/qt-creator
