diff options
| author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-16 16:06:07 -0600 |
|---|---|---|
| committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-16 16:06:07 -0600 |
| commit | 5fbf99bcc4d03f3001f42905d1217758c4aeac13 (patch) | |
| tree | b61aa3fd6d7b0e8302a8b11a18ef2cab5f404951 /doc/kdevelop/plugin-tools.docbook | |
| parent | 06c48bfff719dedfe6f271fe5a363453e4af6d31 (diff) | |
| download | tdevelop-5fbf99bcc4d03f3001f42905d1217758c4aeac13.tar.gz tdevelop-5fbf99bcc4d03f3001f42905d1217758c4aeac13.zip | |
Finish rename from prior commit
Diffstat (limited to 'doc/kdevelop/plugin-tools.docbook')
| -rw-r--r-- | doc/kdevelop/plugin-tools.docbook | 433 |
1 files changed, 0 insertions, 433 deletions
diff --git a/doc/kdevelop/plugin-tools.docbook b/doc/kdevelop/plugin-tools.docbook deleted file mode 100644 index 35e2c206..00000000 --- a/doc/kdevelop/plugin-tools.docbook +++ /dev/null @@ -1,433 +0,0 @@ -<appendix id="plugin-tools"> -<title>Plugin Tools</title> - -<indexterm zone="plugin-tools"> - <primary>plugins</primary></indexterm> - -<para> -&tdevelop; contains a large number of little tools that help you to perform -certain task. Most of them are realized as plugins. That means, if you do not -need a plugin, you can disable it.</para> -<para>That also means, if you are looking for a functionality that should be there -and isn't, then maybe it's implemented in a plugin and that plugin is disabled. -For example, in the file menu there is a Quick Open feature, but only if -it's enabled in the Project - Project Options dialog. -</para> - -<para>Technically, plugins are based on the KDevPlugin class defined in -lib/interfaces/kdevplugin.h. The following is taken from a comment from there.</para> - -<para> -KDevPlugin is the base class for all KDevelop plugins. -A plugin is a component which is loaded into KDevelop shell at startup or by request. -A plugin has a scope that can be either: -<itemizedlist> -<listitem><simpara>Core</simpara></listitem> -<listitem><simpara>Global</simpara></listitem> -<listitem><simpara>Project</simpara></listitem> -</itemizedlist> -</para> - -<para>Core plugins are global plugins which offer some important "core" functionality and thus -are not selectable by user in plugin configuration pages.</para> - -<para>Global plugins are plugins which require only shell to be loaded and do not operate on -KDevProject interface and/or do not use project wide information. -For example, the uimode plugin allows a developer to select which user interface they wish to use. -</para> - -<para>Project plugins require a project to be loaded and are usually loaded/unloaded along with the project. -If a plugin operates on project-related information then it is a project plugin. -The Automake Manager, for example, only needs to be active when an Automake based project is currently loaded. -</para> - -<para>As stated above, core plugins cannot be disabled. Global plugins can be -enabled/disabled in <menuchoice><guimenu>Settings</guimenu> -<guimenuitem>Configure KDevelop...</guimenuitem></menuchoice> -under <guibutton>Plugins</guibutton>. -Project plugins can be -enabled/disabled in <menuchoice><guimenu>Project</guimenu> -<guimenuitem>Project Options...</guimenuitem></menuchoice> -under <guibutton>Plugins</guibutton>. -Active plugins can have many effects on KDevelop. -Depending on their function, they may add extra menus, extra menu items, extra tool buttons, etc. -</para> - -<para>Plugins which are disabled do not clutter your menus and are not loaded -into memory. -</para> - - -<para>The following plugin list is generated by a small script -(listplugins.sh) written by Volker Paul. All plugins have a .desktop file -where information such as name and comments are written. -If in the following these comments are not very useful, -it is because the plugin authors made them this way.</para> -<para>The plugins are grouped by scope (Core, Global, Project).</para> - -<para>Scope: Core</para> -<itemizedlist> -<listitem><formalpara id="KDevAppWizard"> -<title>Application Wizard</title> -<para>Application Wizard</para></formalpara></listitem> -<listitem><formalpara id="KDevDiff"> -<title>Difference Viewer</title> -<para>Difference Viewer</para></formalpara></listitem> -<listitem><formalpara id="KDevFileCreate"> -<title>FileCreate</title> -<para>FileCreate</para></formalpara></listitem> -<listitem><formalpara id="KDevFullScreen"> -<title>FullScreen</title> -<para>FullScreen</para></formalpara></listitem> -<listitem><formalpara id="KDevTipOfDay"> -<title>Tip of the Day</title> -<para>Tip of the Day</para></formalpara></listitem> -<listitem><formalpara id="KDevUIChooser"> -<title>User-Interface Selection</title> -<para>Provides a dialog for UI-mode selection.</para></formalpara></listitem> -<listitem><formalpara id="KDevVCSManager"> -<title>VCSManager</title> -<para>Version Control System Manager </para></formalpara></listitem> -</itemizedlist> - -<para>Scope: Global</para> -<itemizedlist> -<listitem><formalpara id="KDevAbbrev"> -<title>Abbreviation Expansion</title> -<para>Provides support for customizable abbreviations - short words which expand into commonly needed code structures.</para></formalpara></listitem> -<listitem><formalpara id="KDevDocumentation"> -<title>Documentation</title> -<para>The Documentation plugin offers browsing and searching in local and online documentation with support for multiple documentation systems.</para></formalpara></listitem> -<listitem><formalpara id="KDevfilelist"> -<title>FileList</title> -<para>Provides a list of all currently open files. (Handy when the tab bar is not quite wide enough.)</para></formalpara></listitem> -<listitem><formalpara id="KDevFileSelector"> -<title>File Selector</title> -<para>Powerful network transparent file browser utility.</para></formalpara></listitem> -<listitem><formalpara> -<title>Shell Filtering and Insertion</title> -<para>Provides a way of manipulating editor text using commandline tools. Appears in the Tools menu.</para></formalpara></listitem> -<listitem><formalpara id="KDevGrepView"> -<title>Grep Frontend</title> -<para>Integrates "find|grep" in KDevelop - allows fast searching of multiple files using patterns or regular expressions.</para></formalpara></listitem> -<listitem><formalpara id="KDevKonsoleView"> -<title>Embedded Konsole</title> -<para>This plugin gives KDevelop an embedded konsole for quick and easy command line access.</para></formalpara></listitem> -<listitem><formalpara id="KDevOpenWith"> -<title>"Open with" Menu Addon</title> -<para>This plugin provides additional "open" alternatives for various context menus in KDevelop.</para></formalpara></listitem> -<listitem><formalpara id="KDevPartExplorer"> -<title>Part Explorer Tool</title> -<para>A Graphical tool for performing KTrader-like queries about registered services</para></formalpara></listitem> -<listitem><formalpara id="KDevRegexpTest"> -<title>Regular Expression Tester</title> -<para>Tool to design and test regular expressions against common regexp syntaxes.</para></formalpara></listitem> -<listitem><formalpara id="KDevReplace"> -<title>Replace Part</title> -<para>This plugin is an interactive projectwide "Search and Replace" tool. Search using string or regexp matching, and select the replacements to be made from a preview before the action is finalized. When loaded it appears in the Edit menu.</para></formalpara></listitem> -<listitem><formalpara id="KDevscripting"> -<title>Scripting</title> -<para>The Scripting plugin offers KScript based scripting of the KDevelop application</para></formalpara></listitem> -<listitem><formalpara id="Code_Snippets"> -<title>Code Snippets</title> -<para>This plugin allows you to store code snippets and add them to your code</para></formalpara></listitem> -<listitem><formalpara id="KDevTextTools"> -<title>Text Structure</title> -<para>Provides a structure overview and navigation for HTML and TEX files</para></formalpara></listitem> -<listitem><formalpara id="KDevTools"> -<title>Tools Menu Addition</title> -<para>This plugin provides an easy way to add external applications to the Tools menu and toolbar.</para></formalpara></listitem> -<listitem><formalpara id="KDevvalgrind"> -<title>Valgrind Frontend</title> -<para>Valgrind is a tool that helps you find memory management problems in programs. http://developer.kde.org/~sewardj/</para></formalpara></listitem> -</itemizedlist> - -<para>Scope: Project</para> -<itemizedlist> -<listitem><formalpara id="KDevannotation"> -<title>annotation Plugin</title> -<para>annotation Description</para></formalpara></listitem> -<listitem><formalpara id="KDevAStyle"> -<title>Source Code Formatter</title> -<para>A plugin for formatting of sourcecode according to a specified set of rules. When loaded it is found in the Tools menu.</para></formalpara></listitem> -<listitem><formalpara id="KDevBookmarks"> -<title>Bookmarks</title> -<para>Plugin that provides navigation and overview of active source bookmarks and persists them between sessions.</para></formalpara></listitem> -<listitem><formalpara id="KDevClassView"> -<title>Class View</title> -<para>This plugin displays a graphical view of all the classes in the project, complete with methods and attributes, and provides a way of direct source navigation.</para></formalpara></listitem> -<listitem><formalpara id="KDevcopyto"> -<title>CopyTo</title> -<para>Simple file uploader plugin. It does a file copy over any KIO supported protocol.</para></formalpara></listitem> -<listitem><formalpara id="KDevCTags2"> -<title>CTags Frontend</title> -<para>CTags is a source navigation tool with support for many languages. When loaded it provides a context menu for finding type declarations/definitions and also a query dialog. http://ctags.sourceforge.net/</para></formalpara></listitem> -<listitem><formalpara id="KDevdistpart"> -<title>Final Packaging Support</title> -<para>Aids in building and publishing the final project. Only RPM package format is supported for now.</para></formalpara></listitem> -<listitem><formalpara id="KDevDoxygen"> -<title>Doxygen Support</title> -<para>The doxygen plugin provides a way to specify and control generation of documentation for a project, based on source code content. You need to have doxygen installed to be able to use this. For more info goto http://www.doxygen.org</para></formalpara></listitem> -<listitem><formalpara id="KDevQuickOpen"> -<title>QuickOpen</title> -<para>Provides an efficient way of finding/opening files, classes and methods in a large project. Appears in the File and Tools menus when loaded.</para></formalpara></listitem> -<listitem><formalpara id="KDevSecurity"> -<title>Security Checker</title> -<para>Code security checker</para></formalpara></listitem> -</itemizedlist> -<para>So far the generated plugin list.</para> - - -<table id="table-project-parts"> -<title>Project Management Plugins in &tdevelop;</title> -<tgroup cols="2"><tbody> -<row> - <entry>antproject</entry> - <entry>ANT Project Manager (&Java; applications)</entry> -</row> -<row> - <entry>autoproject</entry> - <entry>Automake Project Manager</entry> -</row> -<row> - <entry>customproject</entry> - <entry>Custom Project Manager</entry> -</row> -<row> - <entry>trollproject</entry> - <entry>QMake based Project Manager</entry> -</row> -</tbody></tgroup> -</table> -<para>The above plugins are currently (May 2005) empty. Maybe -project management support will be implemented as plugins -in the future.</para> - - -<table> -<title>Language Support Plugins in &tdevelop;</title> -<tgroup cols="2"> -<tbody> -<row><entry>cppsupport</entry><entry>Support for C/C++</entry></row> -<row><entry>fortransupport</entry><entry>Support for Fortran</entry></row> -<row><entry>javasupport</entry><entry>Support for &Java;</entry></row> -<row><entry>perlsupport</entry><entry>Support for Perl</entry></row> -<row><entry>phpsupport</entry><entry>Support for PHP</entry></row> -<row><entry>pythonsupport</entry><entry>Support for Python</entry></row> -</tbody></tgroup> -</table> - - -<para>In the following, some of the plugins will be discussed in detail.</para> - -<itemizedlist> -<listitem> -<formalpara> -<title>The <command>abbrev</command> Plugin</title> -<indexterm zone="plugin-tools"><primary><command>abbrev</command></primary></indexterm> - -<para> -This plugin expands abbreviations into frequently used code snippets. It is -activated by pressing <keycombo><keycap>Ctrl</keycap> -<keycap>Space</keycap></keycombo>. For example, when you enter -<literal>"ife"</literal> into a C++ in the editor and press -<keycombo><keycap>Ctrl</keycap><keycap>Space</keycap></keycombo>, you obtain -an <literal>if-else</literal> code template and save some key strokes. The set -of supported abbreviations depends on the programming language of the edited -file. For example, for PHP you will obviously be interested in other code -templates than for &Java;. -</para> -</formalpara> - -<para> -The set of code templates is configurable. If the plugin is enabled, you can see -which ones are available in the <menuchoice><guimenu>Settings</guimenu> -<guimenuitem>Configure KDevelop...</guimenuitem></menuchoice> -dialog under <guibutton>Abbreviations</guibutton>. -</para> -</listitem> - -<listitem> -<formalpara id="KDevFilter"> -<title>The <command>filter</command> Plugin</title> -<indexterm zone="plugin-tools"><primary><command>filter</command></primary></indexterm> - -<para> -This offers two features. If you select <menuchoice><guimenu>Tools</guimenu> -<guimenuitem>Execute command</guimenuitem></menuchoice>, you can enter a shell -command. The output of this command is inserted into the editor buffer when -you hit the <guibutton>Start</guibutton> button. -</para> -</formalpara> - -<para> -A related feature is available under -<menuchoice><guimenu>Tools</guimenu><guimenuitem>Filter selection through -command...</guimenuitem></menuchoice>. In order to use this, you must -select a text area in the editor. If you now enter a shell command and hit -the <guibutton>Start</guibutton> button, the command is started and the -selection used as the standard input for it. The standard output of the -command is then inserted into the editor, replacing the selection. -</para> - -<para> -For example, if you write documentation, you frequently have to refer -to menu items. To do this correctly for e.g. the Copy command in the -Edit menu, you have to write: -<programlisting><menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice></programlisting> -This is cumbersome, so you'd rather just write "Edit - Copy" -and let the computer do the tagging. -Here is how you can do it. -You write a little shell script called mef you put e.g. in your home's bin directory: -<programlisting>sed s/"^\(.*\) - \(.*\)\$"/"<menuchoice><guimenu>\1<\/guimenu><guimenuitem>\2<\/guimenuitem><\/menuchoice>"/</programlisting> -Don't forget to make it executable. -That's all. Now, in your documentation .docbook source, you write "Edit - Copy". -You select this text you just wrote, choose -<menuchoice><guimenu>Tools</guimenu><guimenuitem>Filter selection through -command...</guimenuitem></menuchoice> and call ~/bin/mef. -Instantly "Edit - Copy" is replaced by -<programlisting><menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice></programlisting> -</para> - - -</listitem> - -<listitem> -<formalpara> -<title>The &doxygen; Plugin</title> -<indexterm zone="plugin-tools"><primary>&doxygen;</primary></indexterm> -<indexterm zone="plugin-tools"><primary>documentation tool</primary></indexterm> -<indexterm zone="plugin-tools"><primary>API documentation</primary></indexterm> - -<para> -This one helps you to use the &doxygen; API documentation tool -(<ulink url="http://www.doxygen.org"/>). You can select -<menuchoice><guimenu>Project</guimenu> -<guimenuitem>Run Doxygen</guimenuitem></menuchoice> to generate API -documentation for your current project, based on the configuration given by -the file <filename>Doxyfile</filename> in your project directory. -</para> -</formalpara> - -<para> -Furthermore, you can configure &doxygen; in the -<menuchoice><guimenu>Project</guimenu> -<guimenuitem>Project options...</guimenuitem></menuchoice> dialog. This dialog -is very similar to the &doxywizard; tool. -</para> -</listitem> - -<listitem> -<formalpara> -<title>The &ctags; Plugin</title> -<indexterm zone="plugin-tools"><primary>&ctags;</primary></indexterm> - -<para> -Although the class browser gives you extensive insight into the symbols and -classes of your project, you may also want to use the ctags tool. In particular, -this one supports a lot more language than the class browser. -</para> -</formalpara> - -<para> -You activate this plugin under <menuchoice><guimenu>Tools</guimenu> -<guimenuitem>CTags...</guimenuitem></menuchoice>. When you start it the first -time, you will be asked to generate a search database first. When you accept -this, the &ctags; program will be started and will create a file named -<filename>tags</filename> in your project directory. This is a text file containing -all symbols of your source files. -</para> - -<para> -You can search in the symbol database in two ways: when the -<guilabel>Regular expression match</guilabel> box is checked, the text you -enter will be interpreted as a regular expression (POSIX flavor) and matched -with the existing symbols. For example, the text <literal>.*Widget</literal> -will search for all symbols ending with <literal>Widget</literal>. If the -box is not checked, the search will be verbatim. -</para> - -<para> -When searching, you will get a list of the matched symbols, accompanied with -the line numbers where they are defined. You jump to the respective point by -clicking on the list. -</para> - -<para> -For some languages, &ctags; distinguishes different kinds of symbols. For -example, Python has classes and functions. You can selectively search only -for classes by checking the respecting kinds in the dialog. -</para> - -<para> -The symbol database is normally not updated when your sources change. -Consequently, after a while the line numbers will not be correct anymore -and newly added classes and functions will be missing. Therefore you should -update the <filename>tags</filename> file in regular intervals by pressing -the button <guibutton>Regenerate</guibutton>. -</para> -</listitem> - -<listitem> -<formalpara> -<title>The <command>astyle</command> Plugin</title> -<indexterm zone="plugin-tools"><primary><command>astyle</command></primary></indexterm> -<indexterm zone="plugin-tools"><primary><application>Artistic Style</application></primary></indexterm> -<indexterm zone="plugin-tools"><primary>indentation</primary></indexterm> - -<para> -Astyle is a plugin for formatting of sourcecode according to a specified set of rules. -</para> -</formalpara> -</listitem> - -<listitem> -<formalpara> -<title>The <command>regexptest</command> Plugin</title> -<indexterm zone="plugin-tools"><primary><command>regexptest</command></primary></indexterm> -<indexterm zone="plugin-tools"><primary>debugging</primary><secondary>regular expressions</secondary></indexterm> -<indexterm zone="plugin-tools"><primary>regular expressions</primary><secondary>debugging</secondary></indexterm> - -<para> -Designing with regular expressions can be hard work. Often the first try at an -expression matches too many strings. In particular, when working with a -compiled language, the turnaround times when debugging a regular expression -can be awkward. The regexptest plugin allows you to directly explore the -changes in a regular expression. It is activated by choosing -<menuchoice><guimenu>Tools</guimenu> -<guimenuitem>Debug Regular Expression...</guimenuitem></menuchoice>. -</para> -</formalpara> - -<para> -In the flavor group box, you can choose the flavor of the regular expression -engine used. Currently supported is the flavor defined in the POSIX standard, -which is used by the &grep; program, and the extended POSIX syntax used by the -program &egrep;. -</para> - -<para> -When you enter an expression, you get immediate feedback about any syntax -errors in it. By entering a text under <guilabel>Test string</guilabel>, -you can see whether the expression matches this string. In particular, if -your regular expression includes groups, such as <literal>([a-z])</literal>, -the content of the matched subgroups will be shown in a list box. -</para> -</listitem> - -<!-- -<listitem> -<formalpara> -<title>The <command>konsole</command> Plugin</title> -<indexterm zone="plugin-tools"><primary><command>konsole</command></primary></indexterm> -<indexterm zone="plugin-tools"><primary>terminal</primary><secondary>embedded</secondary></indexterm> -<para></para> -</formalpara> -</listitem> ---> - -</itemizedlist> - -</appendix> <!-- plugin-tools --> - -<!-- ====================================================================== --> |
