APEXlang Language Services
When you open an APEXlang file in the editor, SQL Developer for VS Code provides language features to help you author, validate, and navigate APEXlang content.
While editing APEXlang files, SQL Developer for VS Code displays a light bulb icon
in the editor margin when a Quick Fix or other code action is available. Click the light bulb or press Ctrl+I to view and apply suggested fixes, such as correcting common issues or refactoring content.
Syntax Highlighting
APEXlang syntax is color-coded based on your editor theme and preferences.

Description of the illustration apex_syntax_highlight.png
Outline View
The structure of the current APEXlang document is displayed in the Outline view. This view enables you to quickly navigate to components and properties within the file.

Description of the illustration apex_outline_view.png
Hover
Provides documentation for properties and property values.

Description of the illustration apex_hover.png
Diagnostics
Any syntax errors or warnings reported for a document are shown:
-
inline using diagnostic underlines
-
in the Problems panel

Description of the illustration apex_diagnostic.png
Code Completion
Code completion (CTRL+SPACE) in APEXlang suggests content that can be inserted at the current cursor location. Suggestions include property names, valid property values, references, and snippets.

Description of the illustration apex_ui_code_completion.png
Code completion includes the following categories:
-
Property values in List of Values (LOVs) and references to other components
When completion is invoked immediately after a
propertyName, valid values are suggested. Where available, documentation is displayed for the suggested values. Suggestions can include values from static LOVs and plugin LOVs, as well as references to other components. -
Property names in existing and new groups
When the cursor is not positioned to the right of a
propertyName, completion suggests properties that can be inserted in the current context or in relevant groups. If the required group does not exist, it is created with the property inserted. If the group exists elsewhere in the document, the property is inserted into the existing group and the editor scrolls as needed to make the insertion visible. -
New child component snippets
When the cursor is not positioned to the right of a
propertyName, completion can also offer snippets for inserting new child components.
Embedded Language Support
APEXlang can contain embedded fragments of other languages, such as CSS, SQL, and PL/SQL. When the embedded text block is annotated with the language, SQL Developer for VS Code highlights the fragment using that languageās syntax rules.
For embedded SQL and PL/SQL, completion is provided by Oracle SQL support, including database objects such as tables and columns when a connection is attached.

Description of the illustration apex_embedded_language_support_css.png
For embedded SQL and PL/SQL, completion is delegated to Oracle SQL support. When a database connection is attached, completion can include database objects such as tables and columns (for example, while editing a SELECT statement).

Description of the illustration apex_embedded_language_support.png
Navigation and Refactoring
SQL Developer for VS Code provides navigation and refactoring actions for APEXlang components and references.
-
Go to Definition: Enables navigation from a component reference (typically of the form @component-id) to the referenced component using the context menu or Ctrl+Click.

-
Find All References/Usages: Shows all references to a selected component or reference across the project.

-
Rename Symbol: Renames a component identifier and updates its references using the context menu.

Quick Fixes
Quick fixes are offered for common issues detected while editing.

Description of the illustration apex_quick_fixes.png
For example:
-
Page number and alias inconsistencies between a page file name and its contents (page files typically follow the convention p<numeric page id>-<page alias>.apx).
-
Invalid casing where a property requires a specific case (lower or upper).
Refactor Inline and Out-of-Line Embedded Language Source
Properties that contain multiline embedded language text can be stored either inline in the APEXlang file or out-of-line in a separate file.
-
Out-of-line content is indicated by using the same property name with a File suffix, with the value set to the file path/location.

-
Refactor actions are available to extract inline content out to a file and to inline file-based content back into the document.
