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-integration
Composer package to provide the integration files when a newphpCodeSniffer.autoloadPHPCSIntegration
option is enabled.
- BREAKING: The
phpCodeSniffer.specialOptions.phpcsIntegrationPathOverride
option 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.specialOptions
option to allow for supporting narrow use-cases without needing to add options that most users will not need.phpCodeSniffer.specialOptions.phpcsIntegrationPathOverride
option 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.dist
and.phpcs.xml.dist
configuration files. - Detection of filesystem root when traversing paths on Windows.
Automatic
option forphpCodeSniffer.standard
that 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.windows
options for platform-specific executables.- Support for execution on Windows without the use of WSL.
- BREAKING: Even if
phpCodeSniffer.autoExecutable
is enabled, the working directory given to PHPCS should always be the workspace root.
phpCodeSniffer.executable
has been deprecated in favor of platform-specific executable options.
- Gracefully handle errors caused by an invalid PHPCS executable setting.
phpCodeSniffer.executable
has been deprecated in favor of using platform-specific executables.
- Use glob patterns to exclude files and folders from linting using the
phpCodeSniffer.exclude
option.
- Document formatting with no changes clears diagnostics.
- Document selection formatting only works on the first character of the diagnostic.
phpCodeSniffer.ignorePatterns
has been deprecated in favor of using glob patterns over regular expressions.
phpCodeSniffer.executable
options with spaces throwing errors.
- Broken PHPCS integration due to inconsistent class loading behavior.
- Linter's execution action can be set by the
phpCodeSniffer.lintAction
option. - Command
phpCodeSniffer.cancelProcessing
to 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.ignorePatterns
option.
- "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
Logger
correctly.
- Automatically attempt to find a
bin/phpcs
file in a vendor folder whenphpCodeSniffer.autoExecutable
is 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.