Kdevelop4/Manual/Meet KDevelop/de: Difference between revisions

From KDE UserBase Wiki
(Deklaration definiert die Schnittstelle)
(Initiale Übersetzung)
Line 23: Line 23:
</syntaxhighlight>}}
</syntaxhighlight>}}


it will have remembered that <code>my_ride</code> in the last line is a variable of type <code>Car</code> and offer you to complete <code>ge</code> as <code>get_color()</code> since this is the only member function of the <code>Car</code> class that starts like this. Instead of continuing to type you just hit <keycap>Enter</keycap> to get the full word; this saves typing, avoids typos, and doesn't require you to remember the exact names of the hundreds or thousands of functions and classes that make up large projects.  
dann wird KDevelop sich gemerkt haben, dass <code>my_ride</code> in der letzten Zeile eine Variable des Typs <code>Car</code> ist. Demzufolge wird es Ihnen anbieten, <code>ge</code> als <code>get_Color()</code> zu vervollständigen, da dies die einzige Methode der Klasse <code>Car</code> ist, die so startet. Statt weiterzutippen, betätigen Sie einfach <keycap>Enter</keycap> um das vollständige Wort zu erhalten. Das spart Tippzeit, verhindert Tippfehler und führt dazu, dass es nicht mehr notwendig für Sie ist, alle Funktionen und Klassen in sehr großen Projekten zu merken.  


Ein zweites Beispiel nimmt an, dass Sie den folgenden Quelltext haben:
Ein zweites Beispiel nimmt an, dass Sie den folgenden Quelltext haben:

Revision as of 18:11, 6 May 2012

What is KDevelop?

KDevelop ist eine moderne integrierte Entwicklungsumgebung (IDE) für C++ (und andere Sprachen) und teil der zahlreichen KDE-Anwendungen. Als solche läuft es unter Linux (selbst wenn Sie einen der anderen Desktops wie Gnome verwenden) aber auch unter den meisten anderen Unix-Varianten und unter Windows.

KDevelop liefert alle Vorzüge moderner IDEs. Für große Projekte und Anwendungen ist die wichtigste Tatsache, dass KDevelop C++ versteht: Es durchsucht den gesamten Quelltext und merkt sich, welche Klasse welche Funktionen hat, wo Variablen definiert sind, was deren Typen sind und viele andere Dinge in Ihrem Quelltext. Nehmen wir zum Beispiel an, dass eine Header-Datei in Ihrem Projekt folgende Klasse deklariert

class Car {
  // ...
  public:
    std::string get_color () const;
};

und später in Ihrem Programm haben Sie dann

Car my_ride;
// ... mache etwas mit dieser Variable ...
std::string color = my_ride.ge

dann wird KDevelop sich gemerkt haben, dass my_ride in der letzten Zeile eine Variable des Typs Car ist. Demzufolge wird es Ihnen anbieten, ge als get_Color() zu vervollständigen, da dies die einzige Methode der Klasse Car ist, die so startet. Statt weiterzutippen, betätigen Sie einfach Enter um das vollständige Wort zu erhalten. Das spart Tippzeit, verhindert Tippfehler und führt dazu, dass es nicht mehr notwendig für Sie ist, alle Funktionen und Klassen in sehr großen Projekten zu merken.

Ein zweites Beispiel nimmt an, dass Sie den folgenden Quelltext haben:

double foo ()
{
  double var = my_func();
  return var * var;
}

double bar ()
{
  double var = my_func();
  return var * var * var;
}

If you hover the mouse over the symbol var in function bar you get the option to see all uses of this symbol. Clicking on it will only show you the uses of this variable in function bar because KDevelop understands that the variable var in function foo has nothing to do with it. Similarly, right clicking on the variable name allows you to rename the variable; doing so will only touch the variable in bar but not the one with the same name in foo.

But KDevelop is not just an intelligent code editor; there are other things KDevelop does well. Obviously, it highlights the source code in different colors; it has a customizable indenter; it has an integrated interface to the GNU debugger gdb; it can show you the documentation for a function if you hover the mouse over a use of this function; it can deal with different kinds of build environments and compilers (e.g. with make and cmake-based project), and many other neat things that are discussed in this manual.