FPDoc Editor

From Free Pascal wiki
Revision as of 14:21, 12 February 2008 by Tombo (talk | contribs) (LazDE - Lazarus Documentation Editor)



LazDoc is short for lazarus documentation system. LazDoc uses and extends the FPDoc system - the Free Pascal Documentation system. You can find information about FPDoc here Free Pascal documentation tool manual.

Lazarus extension for FPDoc:

FPDoc editor

This is an integrated editor/viewer for Lazarus.

LazDE - Lazarus Documentation Editor

The big brother of the FPDoc Editor is lazde the lazarus documentation editor. It is a standalone application which can be found in lazarus/doceditor/lazde.lpi.

Where is the FPDoc Editor?

The FPDoc Editor is integrated in the Lazarus IDE. It can be found under the View menu.


Using FPDoc editor is very simple.

1. Set the search path for FPDoc files:

  • for project: the Project | Project Options dialog, under the FPDoc editor tab page.
  • for package: the package Options dialog, under the IDE Integration editor tab page.
  • for LCL: the Environment | Environment options dialog, under the FPDoc editor tab page.

2. Open or select a file for which documentation exists.

3. Open the FPDoc Editor. You can find it under the menu View.

4. Place and move the cursor. After placing the cursor on the source editor, you will notice that the caption of the fpdoc editor form changes. The caption shows the source element selected and the filename of the documentation file. By selecting the appropriate page in the editor you can edit a specific documentation tag. Of course it is also possible to use it only as a viewer.

Future plans

The todo list currently contains the following items, in no particular order:

  • Extend the link editor to show packages and identifiers.
  • Add documentation tags "example" to LazDoc
  • Add documentation tags "topic" to LazDoc


  • Make LazDoc create new elements in documentation
  • Make LazDoc create new documentation files
  • Adding a small toolbar makes it possible to use the available makeup tags.
  • Make LazDoc work on keydown in sourceeditor
  • Add LazDoc to IDE settings (showing and position in IDE)
  • Make it work for fpc sources (rtl files already exist)
  • Add settings to environment menu
  • Make it work on project files also
  • Propose to expand documentation tags with: "todo" and "notes" (no need for that, as there are alternatives)
  • Reduce overhead even further
  • All source elements are interpreted by LazDoc using codetools
  • Find inherited entries. For example TControl.Align of TButton.Align.
  • Optimization: inherited Entries are parsed on idle.
  • Optimization: xml files are cached, and only parsed once or if they changed on disk
  • Add a HTML viewer. This is available by installing the turbopoweriprodsgn package.