Fast: analyze ~100k LOC/s (lines of code per second) on Core i7
Incremental: can analyze changes in git and show only new reports. Indexing speed is ~1M LOC/s.
Experimental language server for VS Code and other editors that support language server protocol.
Default lints
NoVerify by default has the following checks:
Unreachable code
Array access to non-array type (beta)
Too few arguments when calling a function/method
Call to undefined function/method
Fetching of undefined constant/class property
Class not found
PHPDoc is incorrect
Undefined variable
Variable not always defined
Case without "break;"
Syntax error
Unused variable
Incorrect access to private/protected elements
Incorrect implementation of IteratorAggregate interface
Incorrect array definition, e.g. duplicate keys
Extension Settings
This extension contributes the following settings (default values):
{
// If true, the language server will provide build, vet errors and the extension will ignore the `buildOnSave`, `vetOnSave` settings.
"php-noverify.features.diagnostics": true,
// If true, the language server will provide clickable Godoc links for import statements.
"php-noverify.features.documentLink": true,
// Extra argumets for NoVerify language server
"php-noverify.noverifyExtraArgs": [],
// The path to the noverify executable.
"php-noverify.noverifyPath": "noverify",
// The path to php stubs. Default use internal.
"php-noverify.phpStubsPath": null,
// Traces the communication between VS Code and the NoVerify language server.
"php-noverify.trace.server": "off",
// Use the NoVerify language server for powering language features like code navigation, completion, formatting & diagnostics.
"php-noverify.useLanguageServer": true
}