IntelliSense for Synergy files

This topic describes aspects of IntelliSense that are specific to Synergy files. For general information on IntelliSense features, see Microsoft documentation (e.g., docs.microsoft.com/en-us/visualstudio/ide/using-intellisense). This topic includes the following sections:

 

Synergy DBL Integration for Visual Studio (SDI) supports IntelliSense for Synergy source files—i.e., files with extensions that Visual Studio recognizes as Synergy compile or content extensions, such as .dbl and .def. For more information on these extensions and IntelliSense options, see IntelliSense, text editor options.

You can limit IntelliSense information to reflect a specific version of Synergy DBL by setting the "IntelliSense language version" option. See Build page, Project Designer for more information.

Documentation comments (which are marked by ;;;) enable IntelliSense to display information about your Synergy .NET code (information on classes, parameters, and so forth). See Documentation comments for more information.

Video

For more information on documentation comments and IntelliSense, see the Synergex YouTube video Using XML Documentation Comments to Improve IntelliSense.

Determining the context and availability of IntelliSense

In most cases, the navigation bar for the Visual Studio text editor indicates the context (solution, project, method, etc.) that will be used for IntelliSense, as illustrated in figure 1 below. If there is no navigation bar, IntelliSense is not available for the active source file in the text editor. For information on conditions that could prevent IntelliSense from working for a Synergy source file, see IntelliSense requirements and troubleshooting below.

1. The Visual Studio navigation bar.

ELB and OLB information

IntelliSense displays information for routines in an ELB or OLB only if the project for that ELB or OLB is referenced. If the .elb or .olb file itself is referenced, the routines in that library will not be available to IntelliSense. See Referencing ELBs and OLBs for more information.

DBL$ and SYS$ routine information

If a traditional Synergy file for OpenVMS includes DBL$ or SYS$ routines, IntelliSense for those routines will be available only if the Synergy project that contains the file references the VmsCompatibility library. See Developing a traditional Synergy application for more information.

Prototype-only references

If your project includes a prototype-only reference, the project drop-down in the navigation bar will have two project selections when the referenced file is the active file in the Visual Studio text editor. IntelliSense for local entities (e.g., local variables) will be available only if the project that contains the referenced file is selected in this drop-down list. (If the project with the prototype-only reference is selected, change this setting to the referenced project.)

Include files, content files, and external source files

There are some limitations to information available to IntelliSense for included files, content files in the current solution, and external source files.

For an include file,

When you edit a Synergy content file that is not .INCLUDEd, but is part of the solution, symbols global to the project are available to IntelliSense.

When you edit an external Synergy source file that is not .INCLUDEd, IntelliSense has access to all global symbols for all projects in the solution.

IntelliSense requirements and troubleshooting

For IntelliSense to be available for a Synergy source file,

The DBL Background pane of the Visual Studio Output window logs IntelliSense information. This is generally for Synergy/DE Developer Support, but it may have information that could help you troubleshoot IntelliSense issues. For example, this window may display information on internal SDI or Visual Studio errors that prevent IntelliSense from working. See SDI features for more information.