Close phpstorm if running. Disconnect internet. Then run the file. Open phpstorm again. If nothing goes wrong you will see the magic. Worst case: If phpstorm still shows 'License Expired', at first uninstall and then apply the above technique. Drag and drop the universal agent file “jetbrains-agent.zip” onto the “Welcome to PhpStorm” window, and click ‘Restart‘ (this is to install it as a plugin, ignore any error) Wait a few seconds, select “Activation code“, click ‘Install for PhpStorm‘, and click ‘Yes‘ Done; Universal for 2019.3.x.
|Code Analysis. Inspection||Bug||IDEA-230363||Freeze in StreamApiMigrationInspection when StringBuilder-append-loop is followed by append to another StringBuilder|
|Core. Licensing||Usability||IDEA-230372||Trim spaces in credentials fields|
|Core. Navigation and Search||Bug||IDEA-225211||2019.3 EAP unable to find file with 'Content Root Path'|
|Lang. XML||Bug||IDEA-210737||XSD Generator crashes IDEA|
|Bug||IDEA-208897||Validation XML against XSD using attributeGroup in included file|
|Bug||IDEA-229461||Help Resolving XML Catalog URIs|
|Lang. YAML||Bug||IDEA-229869||prometheus.yml -> Required: null, Actual: null|
|Tools. Terminal||Bug||IDEA-230321||When opening link from IDE Terminal extra characters (e.g. s, ms, 5ms) are added intermittently to the link|
|User Interface. Find, Replace, Usages||Bug||IDEA-231072||intellij idea incorrect processing of regex: “regular expression matches empty string”|
|User Interface. Keyboard Input||Bug||IDEA-228089||Cannot use FCITX since Clion 2019.3|
|Version Control. Git||Bug||IDEA-230806||Git installation is not detected on Windows if not in the PATH|
|Bug||IDEA-230378||Trying to resolve conflicts between unrelated histories fails|
|Version Control. Log||Performance||IDEA-219710||IntelliJ 2019.2 high cpu usage (with git) at idle.|
|Version Control. Subversion||Bug||IDEA-226333||SVN (possibly other VCS too?) version control in an infinite refresh loop|
|DB Diagram||Bug||DBE-9903||DB Diagram shows constraint differently in 2019.3 version|
|DB Introspection||Bug||DBE-9980||Auto sync is not working if create schema and objects from console|
|Bug||DBE-9897||Wrong parameter names for Oracle system procedure|
|Data Views||Bug||DBE-10017||Hidden but their names are not crossed out in structure view|
|SQL Completion||Performance||DBE-9844||Huge freeze during autocomplete database table names in joins|
|SQL General||Bug||DBE-10031||Everything is red|
|Bug||DBE-10030||SQL Dialect missing: OracleSqlPlus|
|File Watchers||Bug||WEB-43079||Extremely wide File Watcher dialog (if Unit File Support plugin is enabled)|
|HTML||Bug||WEB-43422||'Insert closing tag on tag completion' can't be unchecked & saved|
|Bug||WEB-43146||No completion for `function` keyword after `new Classname` without semicolon|
|Performance||WEB-43493||IDE Freeze in 2019.3.2|
|Bug||WEB-42213||No completion of custom directives in component with splited template and script|
|Bug||WEB-43354||WebStorm can't recognize Quasar components as of version 1.7.4 (1.7.3. works)|
|Bug||WEB-38949||'Closing Tag' suggestion box incorrectly suggests tags which have already been properly closed in JSX files|
|Bug||WEB-40644||Missing usage of private members in Vue components|
|Bug||WEB-42269||Vue: Vuetify VLayout justify-center attribute reports 'Wrong attribute value'|
|Performance||WEB-43017||Slow scroll in new version 2019.3|
|Linters||Bug||WEB-43396||Support Prettier with Yarn PnP >= 2.0.0-rc23|
|Bug||WEB-43384||Support ESLint with Yarn PnP >= 2.0.0-rc23|
|Node.js||Bug||WEB-43298||Can't install packages with yarn 2.0.0-rc22|
|TypeScript||Bug||WEB-43090||TS non-null assertions should be affected by type guards (currently are not)|
|Bug||WEB-40117||TypeScript - cannot auto-complete 'readonly' in generic type|
|Bug||WEB-43352||TypeScript: mapping between '.ts' and '.d.ts' files works incorrectly for variables|
|Bug||WEB-43236||Properties in class constructor shouldn't resolve to lib.dom.d.ts|
|Bug||WEB-43069||Type guard is incorrectly evaluated for a destructuring variable with default value|
|Bug||WEB-43178||False warning 'Unused assignment' on Optional Chaining|
|Unit Tests||Bug||WEB-43584||Unable to run single Karma test with karma-jasmine >= 3.1.0|
Set the PHP language level in the status bar
Set any PHP version for the project without modifying
composer.json. This can be helpful, for example, to see how compatible the codebase is with a newer PHP version before actually switching to it.
Locate PHP settings more easily
To make it easier to find and change PHP-related settings, we’ve moved this section to the top level Settings / Preferences PHP.
Preview PHP and HTML files in the editor
In the Editor, there is a new icon in the top-right corner that opens a tab for previewing files inside of PhpStorm. It works with HTML and PHP files.
PhpStorm uses a local PHP interpreter that is specified in the project settings under Settings/Preferences PHP. Docker and other remote interpreters are not supported.
You can turn on the preview icon by enabling at least one browser under Preferences Tools Web Browsers and checking the For HTML files checkbox.
You can also use the shortcut Alt+F2 to open a preview tab.
Use table prefixes in SQL queries
Many content management systems and frameworks allow you to specify a table prefix, which is useful when using the same database for multiple applications.
In previous versions, PhpStorm would lose database integration in such cases because SQL queries contained markers for prefixes.
Now it is possible to specify prefixes via the .phpstorm.meta.php file. Learn more about meta files and how to specify SQL prefixes in the help article.
Inspections and quick-fixes
Boolean expression can be simplified
If a boolean expression contains
false literals, PhpStorm can help simplify it. Use an Alt+Enter quick fix to remove redundancies and improve readability.
Strict comparison of operands with incompatible types
The operator for strict comparison will always result in
false if one operand type is not the same as the other.
PhpStorm will highlight such cases, as they can potentially be a source of bugs. PhpStorm takes into account all type-inferred information, and will help you find issues in less obvious cases.
PHP 8: Replace assignment in the function call with named argument
It used to be common practice to add a variable assignment in a function call to mimic a parameter name.
With PHP 8, use Alt+Enter to replace the assignment with a real named argument.
Replace `isset` with coalesce
This code snippet
isset($a) ? $a : $b; is exactly the same as
$a ?? $b, so PhpStorm will suggest an Alt+Enter quick-fix to replace it.
Simplify `if` blocks with the common body
else blocks may become redundant after changes that make their bodies the same. PhpStorm will offer either to extract common parts or to merge blocks.
Invert `if` statement
Press Alt-Enter on any
if and choose Invert `if` statement from the menu. This will change the condition to its opposite and make the necessary code adjustments to preserve the logic. If you are a fan of the early return practice, this action will help you refactor your code.
Unnecessary leading ‘’ in ‘use’ statement
In some cases, the leading backslash is redundant for namespaces. PhpStorm helps determine where it can be removed.
`foreach` variable overwrites already defined variables
Variables for key and value in a foreach loop can clash with the names of other variables or parameters. PhpStorm highlights all of the places where errors could occur.
Unnecessary curly braces syntax for variables
PhpStorm highlights when the curly braces in the context of string interpolation are redundant and can be safely removed to make the code cleaner.
Change parameter type based on a default value
If the declared type does not match the type of a value, you can quickly update the type using Alt+Enter. Or with PHP 8, PhpStorm will offer to use a union type.
Replace `isset` with `! null`
isset() function is only effective for arrays and variables. In all other cases, it makes sense to verify whether the operand is not
null. Use Alt+Enter to replace
isset() checks with
Highlight unsafe http:// links
http:// protocol usages in strings and offers an Alt-Enter quick-fix to change them to
https://. You can also add URLs to the ignore list with a quick-fix.
Suspicious name combination
PhpStorm highlights some typical misusages of parameter names or return values, for example
$y. This could be a potential bug or at least very confusing for those who read the code.
Phpstorm 2019.3 Crack
Configure pre-commit inspections
You can now choose a code inspection profile before committing changes to the VCS. Click the gear icon to show commit options, then tick the Analyze code checkbox, click Configure, and choose the desired profile. Profiles can be created in Preferences/Settings Editor Inspections.
Synthetic scope for better refactoring
In PHP, loop constructs like
catch blocks do not have isolated scopes. This can be inconvenient if you want to rename a variable only inside a block.
In PhpStorm 2021.1, we have introduced a synthetic scope for such blocks, so the rename refactoring (Shift+F6) will be more intuitive.
Better automatic language injection
PhpStorm 2021.1 analyzes how variables are used and injects language references automatically.
For example, if a variable is used in a
preg_* function, PhpStorm knows it’s a pattern and highlights RegExp.
Extensions in `suggest` section of composer.json
PhpStorm now considers extensions in both
PhpStorm will warn you when an extension is registered in
composer.json as suggested but is used without checks, like
function_exists(). You can use a quick-fix to move extensions to
In this release, our main focus was stability and quality. In total, we fixed 2246 issues submitted to our issue tracker by users and JetBrains team members. Here are just a few of the most interesting ones:
- Debugging WSL 2 projects in Docker is now possible.
- Quality tools now properly resolve paths with docker-compose in exec mode.
- Large files (more than 5k lines) are handled correctly.
- We’ve significantly improved performance in projects with many aliases.
Code With Me
Code With Me is a JetBrains tool for collaborative development and pair programming. We initially introduced it in PhpStorm 2020.3, and this release delivers a number of significant improvements.
Set the needed level of access to your project and share the link with your guests. Peers do not even need to have their own IDEs installed to collaborate, and the platform features embedded audio and video calls, along with chat messaging.
For businesses that require extra security, Code With Me on-premises can be installed and securely run on a company’s own private network.
Support for SSL
You can now define SSL settings in the HTTP client by clicking Add environment file and selecting Private. The IDE will automatically create a file where you can add your SSL configurations:
There is a new eye icon that contains options for the way the body is displayed. You can switch modes between Text / JSON / HTML / XML, you can enable line numbers, and there is a new button to quickly Copy Response Body to Clipboard.
Maximize tabs in split view
Split the editor by dragging a tab to the corners of the IDE window. Then double-click the tab to maximize the editor area for it. Double-click it again to restore it to its original size.
Use the JSONPath query language to search through JSON documents. New actions are available under Edit Find Evaluate JSONPath.
JSON Lines format support
PhpStorm now supports the newline-delimited JSON Lines format used for working with structured data and logs. The IDE will recognize .jsonl, .jslines, .ldjson, and .ndjson file types.
It is now possible to adjust font variations and a fallback font. Find the new options under Typography Settings in Settings / Preferences Editor Fonts.
All the new features and improvements from WebStorm 2021.1 are also available in PhpStorm 2021.1, either out of the box or with free plugins from the plugin repository.
Improved support for Stylelint
You can now fix problems in CSS with Stylelint in just a few clicks. Hover over a problem in your file or place the caret on it and press Alt+Enter, then select Stylelint: Fix current file.
Additionally, you can now specify a path to the configuration file under Settings / Preferences Languages & Frameworks Style Sheets Stylelint.
Check the specificity of your selectors
When working with style sheets, you can now check the specificity of your selectors – just hover over a selector that you want to check. Alternatively, focus on a selector and press F1/Ctrl+Q to see this information in the Documentation popup.
GitHub pull request improvements
To create a new pull request, click on the + icon or go to Git GitHub Create Pull Request.
The new dialog includes everything you might need:
- Select base and head branches from a list that includes all the branches available.
- Review changed files in the Files tab.
- Edit PR title and description, appoint reviewers and assignees, and add labels.
- Create draft pull requests.
Take a look at What’s new in DataGrip 2021.1 – all these features are available in PhpStorm, too. Here are just a couple of them.
UI for grants
The Modify user window, which you can invoke on a user in the database explorer with Cmd/Ctrl+F6, now has a UI for adding grants to objects.
This is available for PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server, and Sybase.
Context live templates
This is our solution for anyone wanting to generate simple statements straight from the database explorer. When you right-click on an object in the explorer, the list that appears will contain special live template items.
Learn more about how to create your own context live templates.