VS Code: Go To Definition & Signature Help

4D v19 R6 brought the support of external source code editors (e.g., Visual Studio Code), allowing them to handle 4D code and provide them with standard functionalities such as syntax highlighting using the Visual Studio Code extension.

4Dv19 R7 brings two new capabilities: Go To Definition and Signature Help.


And best of all — you don’t have to do anything in VS Code; all is automatic. Just follow 4D-Analyzer updates when requested by the extension.

Reminder

As these two capabilities need to reference project files, they run fine only if the opened 4DM file is placed in the project folder architecture.

Go To Definition

Like most developers, when you are reading or editing code, you often need to check the definition of a code element; with VS Code, you can do this by right-clicking on the code element. This opens a contextual menu containing a “Go to definition” menu item. Select this menu item; your cursor will be placed where the code element is defined. And if the code element is defined in another 4dm file, VS Code will automatically open the corresponding file before placing the cursor at the right place.
Code elements available for this feature are:

  • process variables
  • local variables
  • parameters
  • named parameters
  • project methods
  • user classes
  • user classes functions

 

In the example below, we did a right-click on a user class function and selected the Go to a definition menu item of the popup:

VS Code opened the corresponding user class file and placed the cursor at the beginning of the function:

blank

Signature Help

Another capability included in 4D v19 R7 is the Signature Help of code elements.
When you place your mouse cursor on a code element, VS Code will display a tooltip containing information about it depending on its type:

  • the grammar and a short description for 4D commands
  • the grammar and the first mark-down comment line for project methods
  • the grammar and a brief description of 4D native classes functions
  • the grammar for user classes functions (from host project or component)
  • the grammar and the comment placed on the declaration line for all variables

 

The screenshot below was taken when the mouse hovers a user class function. VS Code displays then a tooltip with function grammar:

blank

Much better, VS Code also displays a tooltip when typing these code elements (except for variables) so that it helps you when coding!
And the cherry on the cake, the edited parameter, is highlighted in the tooltip when you type a parameter!

The screenshot below was taken when typing the second parameter of a user class function. VS Code then displays a tooltip with function grammar and highlights the proper parameter:

blank

If you still need more information, drop us a comment on the 4D Forums.

Avatar
• Product Owner •Damien Fuzeau has joined the 4D Product team in February 2019. As a Product Owner, he is in charge of writing user stories, then translating them to functional specifications. His job also entails making sure that the feature implementations delivered are meeting the customer needs.Damien is graduated from the University of Nantes in software engineering. He spent more than 23 years in its former company, first as developer (discovering 4D in 1997), and later as engineering manager and software architect. This company is a 4D OEM partner and deployed 4D based business softwares for thousands users, on hundreds servers. So, Damien is used to 4D development and deployment in a multi-language context.