Unter .NET kann man prüfen, ob das hier wahr ist:
System.Diagnostics.Debugger.IsAttached
Falls ja, befinden wir uns in der IDE. Ansonsten sind wir ein Kompilat (nein, kein Kombinat, das war etwas anderes…)