Trouble Shooting for all Plugins
Here you can find remedies for the common problem. Intellisense packaged in setup, so this should solve the problem for the most. But however sometimes the problem creep in. It may be because of a bug too, but do check here and if still it does not solve the problem, mail us.
1. Plug-ins may not be loaded.
You can check if the plugins are not loaded or not, but doing the following:
:echo b:intellisense
If this prints 0, then the plugin is not loaded.
To solve this, check the following:
1. Check if plugins are on. Sometime the plugins may be switched off. Add
:filetype plugin on
into your _vimrc file.
2. When you install the intellisense in the directory $VIMRUNTIME\Intellisense, the plugins are not loaded for some guys. It may happen if you give $VIMRUNTIME path value to VIM path, while installation. (Remember installation asks for VIM and VIMRUNTIME path. VIM path is typically C:\Vim and VIMRUNTIME path is C:\Vim\Vim61. So if you give C:\Vim\Vim61 to VIM, it may cause some problem.)
But you can manually load the plugins. The Vim Intellisense plugin is in $VIMRUNTIME\plugin\intellisense.vim. To load manually do the following:
:source $VIMRUNTIME\plugin\intellisense.vim
and then load the filetype specific plugin. If you work in java, it will be $VIMRUNTIME\ftplugin\java_vis.vim or if xml it will be $VIMRUNTIME\ftplugin\xml_vis.vim. To load java plugin do the following:
:source $VIMRUNTIME\ftplugin\java_vis.vim
Then test if intellisense works.
2. Intellisense for Java is not working.
For java plugin to work, you need Java SDK. If you don't have install one. Then do the following:
1. Check if javaft.jar is in CLASSPATH environment variable.
You can check from VIM:
:echo $CLASSPATH
This should print javaft.jar and check if the file is present at the intended place. If not add this file to CLASSPATH and then restart the system.
2. Check if path contains jvm.dll is present in PATH environment variable.
If not add that in PATH and then restart the system.
:echo $PATH
should list the path which contains the dll. This is usually %JAVAHOME%\jre\bin\classic or %JAVAHOME%\jre\bin\client or %JAVAHOME%\jre\bin\server.
If Java plugin does not work, you can also try if XML/HTML works. If that works, it is most likely that some problem in environment variables. If XML/HTML does not work, then plugins may not be loaded or some settings problem. Mail us with exact details, which will help us to make this tool better.
3. Intellisense for SQL is not working.
First verify the sqlft.dll exists in the $VIM_INTELLISENSE directory. There are two components for SQL plugin, static and dynamic content.
Static Lists
The static lists are created from the existing Vim SQL syntax files. The first time you open a SQL file the intellisense.vim plugin will create the following files in your $VIM_INTELLISENSE directory:These files are generated based on the entries within your SQL syntax file. The syntax file included in the Vim distribution is for Oracle. There are other SQL syntax files for other databases available at www.vim.org. For example:
- sqlall.txt
- sqlfunctions.txt
- sqlkeywords.txt
- sqloperators.txt
- sqloptions.txt
- sqlstatements.txt
- sqltypes.txt
If there are entries missing from the popups, simply edit your syntax\sql.vim syntax file and add the entries in the appropriate syntax groups. Delete the sql*.txt files from the $VIM_INTELLISENSE directory. Restart Vim and these files will be regenerated.
- sql.vim : Syntax file for Sybase Adaptive Server Anywhere
- http://www.vim.org/scripts/script.php?script_id=498
To test the static lists (using the default maps) edit a new SQL file and press CTRL-SPACE followed by the letter "a". A popup window should be displayed with all the static items from the syntax files listed in it. If this list is not displayed:
- Have the above text files have been created?
- Do the insert mappings exist? You can check by using the following Vim command :imap <C-Space>. You should see the following:
- i <C-Space><C-Space> @.<C-R>=IN_ShowVISDialog("GetColumnList")<CR>
- i <C-Space>. @.<C-R>=IN_ShowVISDialog("GetColumnList")<CR>
- i <C-Space>R @<C-R>=IN_ShowVISDialog("ResetAllColumnCache")<CR>
- i <C-Space>r @<C-R>=IN_ShowVISDialog("ResetColumnCache")<CR>
- i <C-Space>c @<C-R>=IN_ShowVISDialog("GetColumnList")<CR>
- i <C-Space>v @<C-R>=IN_ShowVISDialog("GetViewList")<CR>
- i <C-Space>p @<C-R>=IN_ShowVISDialog("GetProcedureList")<CR>
- i <C-Space>t @<C-R>=IN_ShowVISDialog("GetTableList")<CR>
- i <C-Space>a @<C-R>=IN_ShowVISDialog("GetAllList")<CR>
- i <C-Space>P @<C-R>=IN_ShowVISDialog("GetOptionList")<CR>
- i <C-Space>O @<C-R>=IN_ShowVISDialog("GetOperatorList")<CR>
- i <C-Space>T @<C-R>=IN_ShowVISDialog("GetTypeList")<CR>
- i <C-Space>k @<C-R>=IN_ShowVISDialog("GetKeywordList")<CR>
- i <C-Space>f @<C-R>=IN_ShowVISDialog("GetFunctionList")<CR>
- i <C-Space>s @<C-R>=IN_ShowVISDialog("GetStatementList")<CR>
Dynamic Lists
Dynamic lists are lists where the entries in the popup window are populated directly from the database instead of a static list. Examples of dynamic contents are:In order for the dynamic feature to be enabled you must have the dbext.vim (v2.10) plugin installed. After installing the dbext.vim plugin, please follow the tutorial that is provided in the documentation, :h dbext-tutorial
- List of tables
- List of stored procedures
- List of views
- List of columns for a given table
After creating a dbext profile which defines how and which database dbext should interact with, run the :DBListTable command. This will display a list of tables in the Result buffer. If this command works fine, the SQL Intellisense plugin should be able to provide dynamic content. If there are problems using dbext to connect and retrieve information from the database, run the following Vim commands:Try the :DBListTable command again. This will show you the command line dbext used to try to connect to the database. This is an example of the output when connecting to a Sybase Adaptive Server Anywhere database:
- :DBSetOption display_cmd_line=1
- :DBSetOption delete_temp_file=0
You can cut and paste the command from the Result buffer and try running it from a command prompt. Based on any errors reported from the command prompt (for example the binary is not in your $PATH), once you have corrected the problem, restart Vim again and try the same sequence of commands again.
- Last command:
- dbisql -nogui -onerror exit -c "uid=DBA;pwd=SQL;" read c:\windows\TEMP\VIC275.tmp
Debug Mode
Depending on the problem, sometimes it is necessary to see what the DLL, sqlft.dll, is doing behind the scenes. Additional debugging can be turned on for the DLL, by setting an environment variable:When the intellisense popups are used, additional debugging information is added to $TEMP\sqlft.tmp. The contents of the file will assist the author in determining where the problem may lie. To turn off debugging, remove the environment variable:
- SET INTELLISENSE_DEBUG=1
- gvim debug.sql
- SET INTELLISENSE_DEBUG=