Sign in Join
Wiki copytemporary

Codetools/fr: what changed

Revision 3 to 4. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11## Que sont les outils de code(codetools)
22
33Le 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.
44
55svn:
66
77- Lazarus : <http://svn.freepascal.org/svn/lazarus/trunk>
88- Seulement les outils de code : <http://svn.freepascal.org/svn/lazarus/trunk/components/codetools>
99
1010## Utilisation des outils de code sans l'IDE
1111
1212Vous pouvez utiliser les outils de code sans l'IDE. Ceci peut être utile pour tester un nouvel outil. Un exemple simple est proposé avec
1313
14-```
14+```text
1515 <lazarusdir>/components/codetools/examples/methodjumping.lpi
1616```
1717
1818Pour 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 :
1919
2020- FPCDIR : chemin des sources FPC, par défaut *~/freepascal/fpc*.
2121- 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.
2222- FPCTARGETOS : indique aux codetools de travailler pour un autre système d'exploitation (compilation transversale). Par exemple : linux, freebsd, darwin, win32, win64, wince.
2323- FPCTARGETCPU : lors d'un travail avec un autre CPU. Par exemple : i386, powerpc, x86_64, arm, sparc.
2424- LAZARUSDIR: chemin des sources de Lazarus. Utile seulement si vous travaillez avec elles.
2525
2626FPC 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
2727
28-```
28+```text
2929 <lazarusdir>/components/codetools/examples/finddeclaration.lpi
3030```
3131
3232Because 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.
3333
3434Whenever 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'.
3535
3636## Using the codetools in the IDE with the IDEIntf
3737
3838See \<lazarusdir\>/examples/idequickfix/quickfixexample.lpk package. It demonstrates:
3939
4040- How to write an IDE package.
4141
42-```
42+```text
4343 When You install it will register a Quick Fix item.
4444```
4545
4646- How to write Quick Fix item for compiler messages 'Parameter "Sender" not used'
4747- How to use the codetools to
4848
4949``` pascal
5050 * parsing a unit
5151 * conversion of Filename,Line,Column to codetools source position
5252 * finding a codetools node at a cursor position
5353 * finding a procedure node and the begin..end node
5454 * creating a nice insertion position for a statement at the beginning of
5555 the begin..end block
5656 * getting the indentation of a line, so that the new line will
5757 work in sub procedure as well
5858 * inserting code with the codetools
5959```
6060
6161---
6262*From the Free Pascal wiki, page "Codetools/fr", as it stood on 2017-12-05 after a change by Gillou58, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
6363Category: Français

Back to history