Difference between revisions of "Codetools/fr"

From Lazarus wiki
Jump to navigationJump to search
 
(One intermediate revision by one other user not shown)
Line 3: Line 3:
 
== Que sont les outils de code(codetools) ==
 
== Que sont les outils de code(codetools) ==
  
Le paquet "outils de code" est un paquet de Lazarus fournissant des outils pour analyser, explorer, éditer et refactoriser les sources en langage pascal.
+
Le paquet "outils de code" est un paquet de Lazarus fournissant des outils pour analyser, explorer, éditer et refactoriser les sources en langage Pascal.
Les outils de code sont un module par eux même et sont licenciés sous la licence GPL.  Il existe de nombreux exemples sur comment utiliser les outils de code dans vos propres programmes sous le répertoire components/codetools/examples.
+
Les outils de code sont un module par eux-mêmes et sont proposés sous la licence GPL.  Il existe de nombreux exemples sur comment utiliser les outils de code dans vos propres programmes dans le répertoire components/codetools/examples.
  
 
svn:
 
svn:
*Lazarus: http://svn.freepascal.org/svn/lazarus/trunk
+
*Lazarus : http://svn.freepascal.org/svn/lazarus/trunk
*Seulement les outils de code: http://svn.freepascal.org/svn/lazarus/trunk/components/codetools
+
*Seulement les outils de code : http://svn.freepascal.org/svn/lazarus/trunk/components/codetools
  
 
== Utilisation des outils de code sans l'IDE ==
 
== Utilisation des outils de code sans l'IDE ==
  
Vous pouvez utiliser les outils de code sans l'IDE.  Ceci peut être utilisé pour tester un nouvel outil.  Un exemple simple est
+
Vous pouvez utiliser les outils de code sans l'IDE.  Ceci peut être utile pour tester un nouvel outil.  Un exemple simple est proposé avec
 
   <lazarusdir>/components/codetools/examples/methodjumping.lpi
 
   <lazarusdir>/components/codetools/examples/methodjumping.lpi
  
Pour tester trouvez la déclaration, Les outils de code ont la nécessité d'analyser les sources. Notamment les sources RTL et FCL.   
+
Pour tester et trouver les déclarations, les outils de code ont besoin d'analyser les sources, notamment les sources RTL et FCL.   
Les exemples utilisent les variables d'environnement suivantes:
+
Les exemples utilisent les variables d'environnement suivantes :
  
*FPCDIR: path to the FPC sources, the default is ''~/freepascal/fpc''.  
+
*FPCDIR : chemin des sources FPC, par défaut ''~/freepascal/fpc''.  
*PP: path to the compiler executable (/usr/bin/fpc or /usr/bin/ppc386 or C:\lazarus\ppc386.exe). The codetools need to ask the compiler for the settings. The default is to search for 'fpc' via the PATH variable.
+
*PP : chemin de l'exécutable du compilateur (/usr/bin/fpc ou /usr/bin/ppc386 ou C:\lazarus\ppc386.exe). Les codetools ont besoin de demander au compilateurs les paramètres d'exécution. Par défaut, la recherche s'effectue grâce à 'fpc' ''via'' la variable PATH.
*FPCTARGETOS: tell the codetools to scan for another operating system (cross compiling). For example: linux, freebsd, darwin, win32, win64, wince
+
*FPCTARGETOS : indique aux codetools de travailler pour un autre système d'exploitation (compilation transversale). Par exemple : linux, freebsd, darwin, win32, win64, wince.
*FPCTARGETCPU: when scanning for another CPU. For example: i386, powerpc, x86_64, arm, sparc
+
*FPCTARGETCPU : lors d'un travail avec un autre CPU. Par exemple : i386, powerpc, x86_64, arm, sparc.
*LAZARUSDIR: path of the lazarus sources. Only needed if you want to scan them.
+
*LAZARUSDIR: chemin des sources de Lazarus. Utile seulement si vous travaillez avec elles.
  
 
FPC is a very complex project with lots of search paths, include files and macros. The codetools need to know all these paths and macros in order to parse this jungle. To setup all this easily the codetools contain predefined templates for FPC, Lazarus, Delphi and Kylix source directories.  
 
FPC is a very complex project with lots of search paths, include files and macros. The codetools need to know all these paths and macros in order to parse this jungle. To setup all this easily the codetools contain predefined templates for FPC, Lazarus, Delphi and Kylix source directories.  
Line 48: Line 48:
 
         work in sub procedure as well
 
         work in sub procedure as well
 
       * inserting code with the codetools
 
       * inserting code with the codetools
 +
 +
 +
{{AutoCategory}}

Latest revision as of 11:19, 5 December 2017

Deutsch (de) English (en) français (fr) русский (ru)

Que sont les outils de code(codetools)

Le paquet "outils de code" est un paquet de Lazarus fournissant des outils pour analyser, explorer, éditer et refactoriser les sources en langage Pascal. Les outils de code sont un module par eux-mêmes et sont proposés sous la licence GPL. Il existe de nombreux exemples sur comment utiliser les outils de code dans vos propres programmes dans le répertoire components/codetools/examples.

svn:

Utilisation des outils de code sans l'IDE

Vous pouvez utiliser les outils de code sans l'IDE. Ceci peut être utile pour tester un nouvel outil. Un exemple simple est proposé avec

 <lazarusdir>/components/codetools/examples/methodjumping.lpi

Pour tester et trouver les déclarations, les outils de code ont besoin d'analyser les sources, notamment les sources RTL et FCL. Les exemples utilisent les variables d'environnement suivantes :

  • FPCDIR : chemin des sources FPC, par défaut ~/freepascal/fpc.
  • PP : chemin de l'exécutable du compilateur (/usr/bin/fpc ou /usr/bin/ppc386 ou C:\lazarus\ppc386.exe). Les codetools ont besoin de demander au compilateurs les paramètres d'exécution. Par défaut, la recherche s'effectue grâce à 'fpc' via la variable PATH.
  • FPCTARGETOS : indique aux codetools de travailler pour un autre système d'exploitation (compilation transversale). Par exemple : linux, freebsd, darwin, win32, win64, wince.
  • FPCTARGETCPU : lors d'un travail avec un autre CPU. Par exemple : i386, powerpc, x86_64, arm, sparc.
  • LAZARUSDIR: chemin des sources de Lazarus. Utile seulement si vous travaillez avec elles.

FPC is a very complex project with lots of search paths, include files and macros. The codetools need to know all these paths and macros in order to parse this jungle. To setup all this easily the codetools contain predefined templates for FPC, Lazarus, Delphi and Kylix source directories. See for a find declaration example

 <lazarusdir>/components/codetools/examples/finddeclaration.lpi

Because the FPC sources contain multiple versions of some units, and the FPC sources changes often, the codetools does not use a fixed path table, but instead scan first the whole FPC directory structure and try to guess, what source is the right for the current TargetOS and TargetCPU. This scan may take a while depending on your disk speed. All examples save the result in codetools.config, so that on next start the scan is skipped.

Whenever the FPC sources have moved or a unit is renamed, just delete the file codetools.config. The Lazarus IDE has its own config file and does the rescan, whenever the compiler executable has changed or the user forces a 'Environment > Rescan FPC source directory'.

Using the codetools in the IDE with the IDEIntf

See <lazarusdir>/examples/idequickfix/quickfixexample.lpk package. It demonstrates:

  • How to write an IDE package.
 When You install it will register a Quick Fix item.
  • How to write Quick Fix item for compiler messages 'Parameter "Sender" not used'
  • How to use the codetools to
     * parsing a unit
     * conversion of Filename,Line,Column to codetools source position
     * finding a codetools node at a cursor position
     * finding a procedure node and the begin..end node
     * creating a nice insertion position for a statement at the beginning of
       the begin..end block
     * getting the indentation of a line, so that the new line will
       work in sub procedure as well
     * inserting code with the codetools