KDevelop4/TipsAndTricks/fr: Difference between revisions

From KDE UserBase Wiki
No edit summary
(Created page with "'''Libtool''' crée aussi des problèmes si vous essayez de déboguer des applications dont l'édition de liens requiert '''libtool''': le programme que vous voyez par exemple...")
Line 161: Line 161:
After the custom makefiles are in place (say in <tt>build</tt>-directory) one can add that to build list by clicking the {{Plus}} button on lower left corner '''Project selection''' while build directory is selected. This causes command '''make''' to be run when pressing <menuchoice>Build</menuchoice>. One can also directly run say '''make install''' on specific directory by right clicking the folder and selecting '''make install'''. This is nice if you have lots of projects in working set.  
After the custom makefiles are in place (say in <tt>build</tt>-directory) one can add that to build list by clicking the {{Plus}} button on lower left corner '''Project selection''' while build directory is selected. This causes command '''make''' to be run when pressing <menuchoice>Build</menuchoice>. One can also directly run say '''make install''' on specific directory by right clicking the folder and selecting '''make install'''. This is nice if you have lots of projects in working set.  


'''Libtool''' also causes problems if you try to debug application that has been linked with '''libtool''': the program that you see in for example <tt>src/bin/program</tt> is not the executable, but a script that handles the libraries.  
'''Libtool''' crée aussi des problèmes si vous essayez de déboguer des applications dont l'édition de liens requiert '''libtool''': le programme que vous voyez par exemple <tt>src/bin/program</tt> n'est pas l'exécutable, mais un script qui gère les bibliothèques.  


Problem is properly solved in console by running {{Input|1=libtool --mode=execute '''''<dst_binary>'''''}} but at least currently '''KDevelop4''' does not work good (at all) with other console than default. I have been stuck of using the real binary (found usually from  <tt>src/bin/.libs/<exec></tt>) that might use wrong libraries, so do '''make install''' before every run.
Problem is properly solved in console by running {{Input|1=libtool --mode=execute '''''<dst_binary>'''''}} but at least currently '''KDevelop4''' does not work good (at all) with other console than default. I have been stuck of using the real binary (found usually from  <tt>src/bin/.libs/<exec></tt>) that might use wrong libraries, so do '''make install''' before every run.

Revision as of 11:20, 30 July 2018

Other languages:

Trucs Et Astuces

Complétion de code

Alors que vous avez la complétion automatique de code, en faire la demande manuellement est souvent une très bonne idée. Appuyez sur Ctrl + Space et vous obtiendrez une liste détaillée de complétion de code. Naviguez avec les flèches (Haut/Bas) et appuyez (et laissez appuyer) Alt pour montrer la documentation de l'élement ciblé. Appuyez sur Entrer pour insérer l'élement.

Assistant de type C++

Supposons que vous ayez quelque chose de semblable à ceci:

#include <vector>
void myFunc(const std::vector<int>& v) {

}

Maintenant, vous voulez parcourir le contenu, au lieu d'écrire le type de l'itérateur, écrivez simplement:

  it = vector.begin();

Maintenant, attendez une seconde jusqu'à ce que l'assistant apparaîsse au bas de l'éditeur. Appuyez sur Alt + 1 pour exécuter l'assistant et vous vous retrouvez avec:

  std::vector< int >::iterator it = v.begin();

Bien, beaucoup de temps de gagné. Et cela devrait fonctionner avec la plupart/toutes des expressions, dès que le côté droit peut être évalué, vous devriez obtenir un assistant qui ajoute le type correct sur ​​le côté gauche.

Assistant de signature C++

Exemple de code:

class foo {
  int bar();
};

int foo::bar()
{
}

Maintenant essayez les choses suivantes et après chaque étape attendez un peu et appliquez l'assistant qui apparaît en bas de l"éditeur avec Alt + 1:

  1. ajoutez un paramètre, ex: int foo soit à la signature de la définition ou de la déclaration.
  2. faites une signature const
  3. changez le type de paramètre
  4. retirez le paramètre

De nouveau, un gain de temps très pratique!

Assistant de déclaration C++ absente

Exemple de code :

class foo {
  int bar();
};

foo::bar()
{
}

Maintenant écrivez ceci dans l'implementation de la barre :

  myVar = 1;

Vous devriez obtenir un assistant qui vous propose trois options :

  1. déclarer en local int myVar (voir l'assistant de type ci-dessus)
  2. déclarer public int myVar, ce qui ajoute la déclaration dans le corps de la classe
  3. déclarer private int myVar, pareil que ci-dessus mais dans la section privée.

Ceci fonctionne même pour les fonctions :

class foo {
};

int main() {
  foo f;

}

Maintenant écrivez ceci en-dessous foo f;:

  f.someFunction(1, true, "asdf");

L'assistant vous offre maintenant de déclarer cette fonction, avec laquelle vous terminerez :

class foo {
public:
  void someFunction( int arg1, bool arg2, const char* arg3 );
};

Sympa .


Aide pour la surcharge

Code d'exemple :

class A {
public:
  virtual A* foo(int something){}
};
class B : public A {

};

Dans le corps de la classe B pressez les touches Ctrl + Space pour réaliser la complétion du code. Vous devriez remarquer un élément pour surcharger foo(int quelquechose);. Puis exécutez le avec Entrée et vous devriez obtenir :

class B : public A {
public:
  virtual A* foo(int something);
};

Sympa .

Aide pour l'implémentation

Continuez là où nous nous sommes arrêté dans l' aide sur la surcharge :

class B : public A {
public:
  virtual A* foo(int something);
};

Amenez votre curseur sous le contexte de la classe, appelez la complétion de code avec Ctrl + Espace, vous devriez apercevoir un élément à implémenter B::foo(int quelque chose);. Exécutez le avec Entrée et vous devriez obtenir :

A* B::foo(int something)
{
  A::foo(something);
}

Génial .

Ouverture rapide

Ouverture rapide est probablement l'une des fonctions de KDevelop qui améliore la productivité :

  • Quick Open Files

Press Ctrl + Alt + O and type part of a filepath, press Enter and the selected file gets opened. The search is separated by forward slashes, i.e. you can write this: /a/.cpp and the list will only show paths that have a folder starting with a and files that end on .cpp. Try it out.

  • Ouverture rapide des classes

Ctrl + Alt + C et entrez (les parties) de l'identificateur de classe utilisé, pressez Retour et sautez à la déclaration de cette classe.

Assurez-vous aussi de voir les autres fonctions avancées présentes dans Quick Open.

Outline

Similar to quick open, pressing Ctrl + Alt + N gives you an outline of the current document with the ability to search for an identifier and quickly jump to its declaration.

Exploration du contexte

Survolez à l'aide de la souris l'utilisation, la déclaration ou la définition et vous obtiendrez une fenêtre contenant les informations. Vous pouvez aussi placer votre curseur et presser le bouton Alt (en le maintenant) pour afficher cette fenêtre sans utiliser la souris. Utilisez les flèches pour naviguer entre les liens dans la fenêtre, utilisez Entrée pour vous rendre à la destination d'un lien.

When inside a use, press Meta + Left or Meta + Right to jump to the previous/next use. Press Ctrl + . or Ctrl + , to jump to the declaration or definition of the symbol under the cursor. Alternatively click on a symbol with Ctrl button pressed to do the same.

Essayez aussi le menu Navigation et ses différents raccourcis. L'exploration du contexte est merveilleuse !

Comment travailler avec les autotools: automake, autoconf et libtool

KDevelop 4 does not support very well the autotools. I suggest using Konsole to run configure scripts to build makefile. The custom makefile support works quite well. I suggest using separate building folder (say project/build).

After the custom makefiles are in place (say in build-directory) one can add that to build list by clicking the button on lower left corner Project selection while build directory is selected. This causes command make to be run when pressing Build. One can also directly run say make install on specific directory by right clicking the folder and selecting make install. This is nice if you have lots of projects in working set.

Libtool crée aussi des problèmes si vous essayez de déboguer des applications dont l'édition de liens requiert libtool: le programme que vous voyez par exemple src/bin/program n'est pas l'exécutable, mais un script qui gère les bibliothèques.

Problem is properly solved in console by running

libtool --mode=execute <dst_binary>

but at least currently KDevelop4 does not work good (at all) with other console than default. I have been stuck of using the real binary (found usually from src/bin/.libs/<exec>) that might use wrong libraries, so do make install before every run.

Documentation des classes KDE

Using the Qt Documentation plugin you may integrate KDE documentation along with Qt documentation. Point your browser at KDE API Reference and download the desired .qch file (not all modules provide one). Then configure the Qt Documentation plugin by adding the downloaded files. That's it! Whenever you hover a KDE class you can see a link Show documentation for KFooClass which points to KFooClass documentation. Enjoy.