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

From KDE Wiki Sandbox
(Importing a new version from external source)
(Importing a new version from external source)
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.  
il se souviendra que <code>my_ride</code> à la dernière ligne est une variable de type <code>Car</code> et vous proposera de compléter <code>ge</code> en <code>get_color()</code> puisque c'est l'unique fonction membre de la classe <code>Car</code> qui commence ainsi. Au lieu de continuer à écrire, vous appuyez juste sur <keycap>Enter</keycap> pour obtenir le mot en entier; ceci vous permet d'épargner de la frappe, d'éviter les erreurs et de ne pas avoir à retenir les noms exact des centaines de milliers de fonctions et de classes qui composent les projets importants.  


As a second example, assume you have code like this:
As a second example, assume you have code like this:

Revision as of 16:39, 6 July 2011

Qu'est-ce que KDevelop?

KDevelop est environnement de développement intégré (EDI) moderne pour le C++ (et d'autres languages) qui est l'une des nombreuses applications KDE. Ainsi, il fonctionne sur Linux(même si vous utilisez un autre bureau, tel que GNOME) mais il est aussi disponible sur la plupart des autres variantes Unix et sur Windows.

KDevelop offrent toutes les commodités des EDI modernes. Pour les projets larges et les applications, sa fonctionnalité la plus importante est que KDevelop comprend le C++: il parse l'intégralité des sources et retient quelles classes ont quelles fonctions membres, où les variables sont définies, quels sont leurs types, et plein d'autre chose sur votre code. Par exemple, imaginons qu'un des fichiers d'en-tête de votre projet declare une classe

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

et que plus loin dans votre programme vous avez

Car my_ride;
// ...do something with this variable...
std::string color = my_ride.ge

il se souviendra que my_ride à la dernière ligne est une variable de type Car et vous proposera de compléter ge en get_color() puisque c'est l'unique fonction membre de la classe Car qui commence ainsi. Au lieu de continuer à écrire, vous appuyez juste sur Enter pour obtenir le mot en entier; ceci vous permet d'épargner de la frappe, d'éviter les erreurs et de ne pas avoir à retenir les noms exact des centaines de milliers de fonctions et de classes qui composent les projets importants.

As a second example, assume you have code like this:

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.