How to use this plug-in¶
To use this plug-in you first need to generate a tags database in the
directory of the current source file by pressing the Generate
button
in the toolbar. This will first generate a tags file, using the ctags
program, which is converted to a SQLite database directly after that.
This tags database is used by the plug-in.
Basic use¶
This plug-in has different ways to use:
Jump to Tag
tries to find the tag (function, variable, etc) under the cursor. If you want to jump to this tag simply press the assigned button (defaultAlt+Q
) or the button in the toolbar. If there is only one reference found, you will be taken to it. Otherwise a dialog is shown where you can select the right one.- The tree shows all (recognized) tags in a tree. You can double-click on a tag in the tree and you will be taken to it.
Jump Back
(defaultCtrl+Alt+Q
) will bring you back to the position where you were when you jumped to a tag.
Source files in a directory tree¶
Make sure you generate the database from the root directory of your project, that means with a file in that directory active. When you have generated the database and you open a file in a sub-directory NppTags will first look in the current directory for the tags database. If it cannot find one, it will go up a number of times to see if a database can be found there.
Do not try to generate a tags database from the root directory (like C:\
)
of your harddisk. Because of the ctags -R
flag it will search your
entire disk for source files, which is probably not what you want.
When you need to regenerate your existing database you can just click the button on the toolbar. The plug-in will know where the database is located.
Tree¶
Since ctags supports so many programming languages, it is impossible for me to add proper support for all these languages to the tree instantly.
There is a generic treebuilder that tries builds a basic tree for every language. For some languages there is a specific treebuilder that tries to build a tree as good as it can, although they are not perfect at this moment.
These languages have a specific treebuilder:
- C / C++
- C#
- Java
- reStructuredText
- SQL
If your programming language isn’t in the list and/or the tags for your programming language don’t show (properly) in the tree, contact me because it is probably not too difficult to add or improve support for other languages and/or types.
Note that this it only affects the tree, Jump to Tag
shouldn’t have
any problem. If Jump to Tag
does not work as expected,
contact me as well.