All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Improved the argument parsing for the PHPCS executable options.
- Composer package should not contain unnecessary files.
- Support using an
obliviousharmony/vscode-phpcs-integrationComposer package to provide the integration files when a newphpCodeSniffer.autoloadPHPCSIntegrationoption is enabled.
- BREAKING: The
phpCodeSniffer.specialOptions.phpcsIntegrationPathOverrideoption has been removed in favor of usingphpCodeSniffer.autoloadPHPCSIntegration. There is no reason to set a manual asset path since the Composer package accomplishes the same thing with an easier-to-use configuration path.
phpCodeSniffer.specialOptionsoption to allow for supporting narrow use-cases without needing to add options that most users will not need.phpCodeSniffer.specialOptions.phpcsIntegrationPathOverrideoption that allows for overriding the path to the directory containing the extension's PHPCS integration.
- All applicable configuration options should be able to be set at the folder level.
- Workers should still be freed when PHPCS does not run.
- Clear diagnostics when exceptions are thrown while updating them.
- Clear diagnostics on configuration changes.
- Excluded files should be ignored earlier to avoid errors.
- Avoid diagnostic conflicts between file changes and saving.
- Display messages for configuration errors.
- Detect
phpcs.xml.distand.phpcs.xml.distconfiguration files. - Detection of filesystem root when traversing paths on Windows.
Automaticoption forphpCodeSniffer.standardthat searches for a coding standard file (phpcs.xml,.phpcs.xml,phpcs.xml.dist,.phpcs.xml.dist). The search begins in the document's folder and traverses through parent folders until it reaches the workspace root.phpCodeSniffer.exec.linux,phpCodeSniffer.exec.osx, andphpCodeSniffer.exec.windowsoptions for platform-specific executables.- Support for execution on Windows without the use of WSL.
- BREAKING: Even if
phpCodeSniffer.autoExecutableis enabled, the working directory given to PHPCS should always be the workspace root.
phpCodeSniffer.executablehas been deprecated in favor of platform-specific executable options.
- Gracefully handle errors caused by an invalid PHPCS executable setting.
phpCodeSniffer.executablehas been deprecated in favor of using platform-specific executables.
- Use glob patterns to exclude files and folders from linting using the
phpCodeSniffer.excludeoption.
- Document formatting with no changes clears diagnostics.
- Document selection formatting only works on the first character of the diagnostic.
phpCodeSniffer.ignorePatternshas been deprecated in favor of using glob patterns over regular expressions.
phpCodeSniffer.executableoptions with spaces throwing errors.
- Broken PHPCS integration due to inconsistent class loading behavior.
- Linter's execution action can be set by the
phpCodeSniffer.lintActionoption. - Command
phpCodeSniffer.cancelProcessingto cancel all active processing.
- Maps and Sets should not be keyed by the Uri instance directly.
- Linter status should be cleared when a diagnostic is cancelled.
- Status bar indicator when PHPCS is generating diagnostics.
- Erroneous PHP output should not break PHPCS report parsing.
- Diagnostics should not be generated for Source Control git content.
- PHPCS reports throwing exceptions when parsing fails internally.
- Ignore diagnostics for files using the
phpCodeSniffer.ignorePatternsoption.
- "Ignore * for this line" action should be present for all diagnostics.
- Pass file path to PHPCS for use in sniffs.
- Handle Uri schemes other than
'file'.
- Only trigger diagnostic updates when changes have occurred.
- Dispose of
Loggercorrectly.
- Automatically attempt to find a
bin/phpcsfile in a vendor folder whenphpCodeSniffer.autoExecutableis enabled. - Display PHPCS errors to the user.
- Check document version before unnecessarily rebuilding diagnostics.
- Range formatting.
- Custom PHPCS report paths in package.
- "Default" standard option that allows PHPCS to decide which standard to use.
- Format Document and Format Document Selection support.
- Action to add ignore comment for problem to a line.
- Refactored the DocumentTracker and WorkspaceTracker into separate services and providers to increase performance.
- Fix unresolved promises caused by unhandled errors in workers.
- Custom PHPCS reports for diagnostic and code action resolution.
- Worker and WorkerPool for processing asynchronous requests to PHPCS.
- WorkspaceTracker for listening to document and configuration events.
- DocumentTracker for providing diagnostic and code action data to VS Code.