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

From KDE UserBase Wiki
(Created page with "und später in Ihrem Programm haben Sie dann")
(Created page with "Ein zweites Beispiel nimmt an, dass Sie den folgenden Quelltext haben:")
Line 25: Line 25:
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.  
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.  


As a second example, assume you have code like this:
Ein zweites Beispiel nimmt an, dass Sie den folgenden Quelltext haben:


<!--}}-->{{Input|<syntaxhighlight lang="cpp">
<!--}}-->{{Input|<syntaxhighlight lang="cpp">

Revision as of 15:51, 9 April 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 offers all amenities of modern IDEs. For large projects and applications, the most important feature is that KDevelop understands C++: it parses the entire source base and remembers which classes have which member functions, where variables are defined, what their types are, and many other things about your code. For example, let's say one of your project's header files declares a class

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

it will have remembered that my_ride in the last line is a variable of type Car and offer you to complete ge as get_color() since this is the only member function of the Car class that starts like this. Instead of continuing to type you just hit Enter 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.

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.