Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Last PLNew to Visual Studio Code? Get it now.
Last PL

Last PL

Moon Presence

|
6 installs
| (0) | Free
Entirely offline HTML, CSS, and JavaScript tooling inside Oracle PL/SQL.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Last PL

HTML, CSS, and JavaScript tooling inside Oracle PL/SQL.

Last PL works entirely offline and adds highlighting, IntelliSense, diagnostics, Emmet, and formatting to embedded web code. It layers onto your existing PL/SQL grammar with no server, account, or build step.

Requirements

  • VS Code 1.101 or newer.
  • One PL/SQL grammar provider:
    • Oracle SQL Developer Extension for VS Code (oracle-sql), or
    • xyz.plsql-language (plsql).

If both providers claim the same files, disable one or configure files.associations. Last PL layers onto whichever provider owns the document.

Supported regions

PL/SQL construct Embedded language
HTP.*, HTF.*, OWA_UTIL.* strings HTML
APEX_JAVASCRIPT.ADD_INLINE_CODE / ADD_ONLOAD_CODE JavaScript
ADD_REQUIREJS_DEFINE expression argument JavaScript
ADD_LIBRARY.p_requirejs_js_expression JavaScript
APEX_CSS.ADD CSS
/*html*/, /*css*/, /*js*/ before a string Selected language

Names, paths, keys, and other non-code APEX arguments remain PL/SQL. Regular, national, paired q-quoted, symmetric, and Unicode-delimited literals are supported, including concatenated strings and multiline call heads.

htp.p('<main class="card">Hello</main>');

apex_css.add('.card { padding: 1rem; }');
apex_javascript.add_inline_code('console.log("ready");');

l_fragment := /*html*/ q'[<button type="button">Save</button>]';

Features

  • Accurate HTML/CSS/JavaScript highlighting without replacing the host PL/SQL grammar. JavaScript identifiers receive contextual semantic coloring, including inside nested <script> blocks, and bracket colors restart at the same local depth as a regular HTML script.
  • Completion, hover, definitions, references, signature help, document symbols, folding, linked tag editing, color previews, and selection expansion.
  • HTMLHint, the VS Code CSS language service, and ESLint or Acorn diagnostics, with squiggles mapped back to the original PL/SQL.
  • Format Document support for PL/SQL and embedded HTML/CSS/JavaScript, with string and q-quote safety checks.
  • Emmet, HTML tag auto-close, and a status-bar region counter.

Configuration

Settings use the plsqlWebEmbedded prefix. Common options include:

  • detect.{htp,owaUtil,taggedComments}
  • diagnostics.{html,css,js,jsLinter}
  • diagnostics.{eslintRules,eslintGlobals,apexPreset}
  • formatter.{plsql,embedded,js}
  • autoCloseTags
  • normalizeBracketColors

Workspace ESLint and Prettier configuration is supported. JavaScript ESLint configs execute only in trusted workspaces.

Commands

Command Purpose
PL/SQL: Show Embedded Regions List detected regions.
PL/SQL: Diagnose Setup Check the active language, host grammar, settings, and region count.
PL/SQL: Show Loaded Workspace ESLint Config Inspect resolved ESLint configuration.

Limitations

  • Detection is tokenizer-based, not a full PL/SQL parser. Strings nested inside ordinary helper calls such as DECODE(...) are intentionally skipped.
  • Bare string concatenations outside a recognized call need a language tag: /*html*/ '<a>' || value || '</a>'.
  • Complex multiline or mixed-form interpolation seams may have cosmetic token coloring differences; diagnostics and IntelliSense still map correctly.
  • Quoted call identifiers such as "HTP"."P"(...) and browser-only virtual workspaces are not supported.

Privacy

Works entirely offline. No telemetry, network service, or account is required. See CHANGELOG.md for release details.

Development

npm ci
npm run typecheck
npm run test:all
npm run test:integration
npm run package

License

MIT. Third-party notices are included in THIRD_PARTY_NOTICES.md.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft