Injected SQL statements
Temporarily inject a language
Place the cursor inside a string literal, tag, or attribute, in which you want to inject a language and press Alt+Enter (or use the intention action icon ).
Select Inject language or reference and choose the language you want to inject.
Open a code fragment in the dedicated editor section
Position the caret within the injected code piece and press Alt+Enter (or use the intention action icon ).
Select Edit <language ID> Fragment.
PhpStorm will open a dedicated editor section for editing the code with the injected language. This editor provides full code assistance, including code completion, inspections, intentions and code style actions.
Place the caret at the code fragment and press Alt+Enter (or use the intention action icon ).
Select Uninject language or reference.
Configuring sprintf Format References
You can have PhpStorm recognize sprintf format references in injected SQL strings:
Open the Settings / Preferences dialog by pressing Ctrl+Alt+S or by choosing for Windows and Linux or for macOS. Expand the Tools node, and then click User Parameters under Database.
Select the Enable in console and SQL files and Enable in string literals with SQL injection checkboxes.
- In the Parameter Patterns list:
%\w+pattern. PhpStorm expands a hidden area with the configuration settings for the pattern.
Select the In scripts and In literals checkboxes.
Click the <Language> link and select PHP in the list.
Configure injection rules
You can configure language injection rules on the Editor | Language Injections page of the Settings/Preferences Ctrl+Alt+S.
All pre-defined injection rules are configured for the Built-in scope. In other words, they are global (and therefore available in all PhpStorm projects). Custom rules can be configured for the IDE or for one project only. To change the scope of custom injections, use the Move to Project/IDE Scope icon .
To configure custom injection rules, click the Add icon to add a new rule, or copy a predefined rule and change its settings.