Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>++PHPNew to Visual Studio Code? Get it now.
++PHP

++PHP

Atatusoft

|
3 installs
| (0) | Free
Syntax highlighting and language intelligence for ++PHP.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

++PHP for Visual Studio Code

Checks License: Apache

Language support for ++PHP, a superset of PHP that compiles to PHP. Write .ppphp files with syntax highlighting, compiler diagnostics, deterministic type completion, and code navigation in Visual Studio Code.

Features

  • Syntax highlighting for PHP syntax and ++PHP constructs, with compiler-backed semantic highlighting.
  • Type completion and automatic imports from your project, Composer dependencies, configured stubs, and PHP built-ins. Existing imports and aliases are reused; new imports follow your chosen ordering.
  • Context-aware parent suggestions that distinguish inheritable classes from interfaces when writing extends and implements.
  • Live diagnostics that check unsaved edits after a short typing pause and refresh immediately on save.
  • Go to Definition for project types, functions, variables, parameters, and supported member-access chains.
  • Rename Symbol for classes, interfaces, traits, and enums, including matching declaration filenames when safe.
  • Import actions to shorten fully qualified types or choose an import for an unresolved type name.
  • Document outline and keyword hover to navigate declarations and learn about ++PHP constructs.

Completion uses known symbols, not generated guesses. The extension bundles its language server; the ++PHP compiler is installed separately in your project.

Quick start

  1. Install ++PHP by Atatusoft Ltd from the Extensions view in VS Code.

  2. Open your project folder and install the compiler using this extension release's compatible compiler installation instructions. For an existing checkout, run composer install in the integrated terminal to restore its locked dependencies instead.

  3. For a new ++PHP project, create its configuration:

    vendor/bin/ppphp init
    
  4. Open a .ppphp file. The extension starts automatically; the language mode should show ++PHP.

For PHP and Composer prerequisites and the complete build workflow, see the getting-started guide. For an existing checkout, run composer install to restore its dependencies instead of adding the compiler again.

For stable installation, updates, or migration from the former Composer package name, see the compiler installation guide.

The project-local compiler at vendor/bin/ppphp is discovered automatically. You can also use a compiler on PATH or configure an absolute path with ppphp.compiler.path. On Windows, PHP must be available to VS Code; PPPHP_PHP_PATH can identify the PHP executable when it is not on PATH.

Installing a release candidate

To use a compiler candidate, check the installed extension's version in the Extensions view and consult its compiler compatibility and candidate installation notes. Choose that release entry, not simply the newest compiler candidate. Compiler candidates do not change the extension's release channel.

Using the extension

Use VS Code's standard Go to Definition, Rename Symbol, and Quick Fix… actions from the editor's context menu. Import actions appear without requiring a diagnostic on the selected fully qualified type. If several types share an unresolved short name, choose the qualified name you intend to import.

Open the folder containing ppphp.json to give the tools the project's source and exclusion boundaries. Project-wide rename requires that configuration. The extension handles .ppphp files; keep your existing PHP tooling for ordinary .php files in mixed projects.

Live diagnostics report the compiler's own findings. Run vendor/bin/ppphp check for the complete saved-project check, including supplemental PHPStan analysis when configured. The extension does not build your application automatically.

Settings

Open VS Code Settings and search for ppphp. These settings can also be configured per workspace:

Setting Default Purpose
ppphp.compiler.path Empty Use an absolute compiler path instead of automatic discovery.
ppphp.compiler.memoryLimitMegabytes 512 PHP memory limit in MiB for each compiler process. Changes also restart live diagnostics workers.
ppphp.completion.importSorting alphabetic Order added imports alphabetically, by qualified-name length, or append them with none. Existing imports are preserved.
ppphp.diagnostics.compiler.enabled true Enable live compiler diagnostics.
ppphp.diagnostics.compiler.timeoutMilliseconds 10000 Limit the duration of a compiler diagnostic request.

The memory setting applies to editor-launched compiler calls, including diagnostics and navigation. It does not change php.ini or commands you run separately in a terminal. If you use a custom shell wrapper, point ppphp.compiler.path at its underlying PHP compiler script for this setting to apply.

For example, to order added imports by length:

{
  "ppphp.completion.importSorting": "length"
}

Troubleshooting

  • No highlighting or suggestions? Save the file with the .ppphp extension and check that its language mode is ++PHP. Do not associate these files with the ordinary PHP language mode.
  • Compiler unavailable? Confirm that vendor/bin/ppphp --version runs from the project terminal. Check ppphp.compiler.path and the PHP executable visible to VS Code.
  • Unsaved-buffer diagnostics unavailable? Check compiler compatibility and installation instructions first. Use composer update atatusoft/ppphp to update within your existing constraint; an exact older candidate pin must be changed using the matching release's installation command. If the project still requires the former package name, follow the migration steps instead. Do not treat a saved-file check as analysis of unsaved edits.
  • Need more detail? Open View → Output and select ++PHP Language Server. After changing the environment or installing tools, run Developer: Reload Window from the Command Palette.

The extension does not currently provide formatting, debugging, signature help, or rename for functions, methods, properties, and variables. It requires a desktop extension host that can run the compiler; browser-only workspaces are not supported.

Feedback and support

Report bugs or request features in the issue tracker. Include a small reproducible example, your operating system, the installed extension and compiler versions, and relevant output with private paths and source removed.

Language documentation · Source and contributing · Changelog · Report a security issue

Licensed under the Apache License.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft