phpactor / vscode-phpactor

Phpactor VS Code Extension

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fix PSR namespace and class name

BladeMF opened this issue · comments

While the suggestion it gives is valid, when I execute the command it gives the following error:

[Error - 10:24:02 AM] Request workspace/executeCommand failed.
  Message: Exception [RuntimeException] There are no class name candidates
  Code: -32603 
#0 /root/phpactor/vendor/phpactor/code-transform/lib/Adapter/TolerantParser/ClassToFile/Transformer/ClassNameFixerTransformer.php(175): Phpactor\ClassFileConverter\Domain\ClassNameCandidates->best()
#1 /root/phpactor/vendor/phpactor/code-transform/lib/Adapter/TolerantParser/ClassToFile/Transformer/ClassNameFixerTransformer.php(45): Phpactor\CodeTransform\Adapter\TolerantParser\ClassToFile\Transformer\ClassNameFixerTransformer->determineClassFqn()
#2 /root/phpactor/vendor/phpactor/language-server-phpactor-extensions/lib/LanguageServerCodeTransform/LspCommand/TransformCommand.php(50): Phpactor\CodeTransform\Adapter\TolerantParser\ClassToFile\Transformer\ClassNameFixerTransformer->transform()
#3 /root/phpactor/vendor/phpactor/language-server/lib/Core/Command/CommandDispatcher.php(51): Phpactor\Extension\LanguageServerCodeTransform\LspCommand\TransformCommand->__invoke()
#4 /root/phpactor/vendor/phpactor/language-server/lib/Handler/Workspace/CommandHandler.php(40): Phpactor\LanguageServer\Core\Command\CommandDispatcher->dispatch()
#5 /root/phpactor/vendor/phpactor/language-server/lib/Core/Handler/HandlerMethodRunner.php(86): Phpactor\LanguageServer\Handler\Workspace\CommandHandler->executeCommand()
#6 [internal function]: Phpactor\LanguageServer\Core\Handler\HandlerMethodRunner->Phpactor\LanguageServer\Core\Handler\{closure}()
#7 /root/phpactor/vendor/amphp/amp/lib/Coroutine.php(67): Generator->current()
#8 /root/phpactor/vendor/amphp/amp/lib/functions.php(96): Amp\Coroutine->__construct()
#9 /root/phpactor/vendor/phpactor/language-server/lib/Core/Handler/HandlerMethodRunner.php(102): Amp\call()
#10 /root/phpactor/vendor/phpactor/language-server/lib/Middleware/HandlerMiddleware.php(38): Phpactor\LanguageServer\Core\Handler\HandlerMethodRunner->dispatch()
#11 /root/phpactor/vendor/phpactor/language-server/lib/Core/Middleware/RequestHandler.php(37): Phpactor\LanguageServer\Middleware\HandlerMiddleware->process()
#12 /root/phpactor/vendor/phpactor/language-server/lib/Middleware/ResponseHandlingMiddleware.php(35): Phpactor\LanguageServer\Core\Middleware\RequestHandler->handle()
#13 /root/phpactor/vendor/phpactor/language-server/lib/Core/Middleware/RequestHandler.php(37): Phpactor\LanguageServer\Middleware\ResponseHandlingMiddleware->process()
#14 /root/phpactor/vendor/phpactor/language-server/lib/Middleware/MethodAliasMiddleware.php(37): Phpactor\LanguageServer\Core\Middleware\RequestHandler->handle()
#15 /root/phpactor/vendor/phpactor/language-server/lib/Core/Middleware/RequestHandler.php(37): Phpactor\LanguageServer\Middleware\MethodAliasMiddleware->process()
#16 /root/phpactor/vendor/phpactor/language-server/lib/Middleware/CancellationMiddleware.php(49): Phpactor\LanguageServer\Core\Middleware\RequestHandler->handle()
#17 /root/phpactor/vendor/phpactor/language-server/lib/Core/Middleware/RequestHandler.php(37): Phpactor\LanguageServer\Middleware\CancellationMiddleware->process()
#18 /root/phpactor/vendor/phpactor/language-server/lib/Middleware/InitializeMiddleware.php(68): Phpactor\LanguageServer\Core\Middleware\RequestHandler->handle()
#19 /root/phpactor/vendor/phpactor/language-server/lib/Core/Middleware/RequestHandler.php(37): Phpactor\LanguageServer\Middleware\InitializeMiddleware->process()
#20 /root/phpactor/vendor/phpactor/language-server/lib/Middleware/ErrorHandlingMiddleware.php(39): Phpactor\LanguageServer\Core\Middleware\RequestHandler->handle()
#21 [internal function]: Phpactor\LanguageServer\Middleware\ErrorHandlingMiddleware->Phpactor\LanguageServer\Middleware\{closure}()
#22 /root/phpactor/vendor/amphp/amp/lib/Coroutine.php(67): Generator->current()
#23 /root/phpactor/vendor/amphp/amp/lib/functions.php(96): Amp\Coroutine->__construct()
#24 /root/phpactor/vendor/phpactor/language-server/lib/Middleware/ErrorHandlingMiddleware.php(64): Amp\call()
#25 /root/phpactor/vendor/phpactor/language-server/lib/Core/Middleware/RequestHandler.php(37): Phpactor\LanguageServer\Middleware\ErrorHandlingMiddleware->process()
#26 /root/phpactor/vendor/phpactor/language-server/lib/Core/Dispatcher/Dispatcher/MiddlewareDispatcher.php(29): Phpactor\LanguageServer\Core\Middleware\RequestHandler->handle()
#27 /root/phpactor/vendor/phpactor/language-server/lib/Core/Server/LanguageServer.php(204): Phpactor\LanguageServer\Core\Dispatcher\Dispatcher\MiddlewareDispatcher->dispatch()
#28 [internal function]: Phpactor\LanguageServer\Core\Server\LanguageServer->Phpactor\LanguageServer\Core\Server\{closure}()
#29 /root/phpactor/vendor/amphp/amp/lib/Coroutine.php(67): Generator->current()
#30 /root/phpactor/vendor/amphp/amp/lib/functions.php(96): Amp\Coroutine->__construct()
#31 /root/phpactor/vendor/amphp/amp/lib/functions.php(121): Amp\call()
#32 /root/phpactor/vendor/phpactor/language-server/lib/Core/Server/LanguageServer.php(221): Amp\asyncCall()
#33 /root/phpactor/vendor/phpactor/language-server/lib/Core/Server/LanguageServer.php(195): Phpactor\LanguageServer\Core\Server\LanguageServer->dispatchRequest()
#34 [internal function]: Phpactor\LanguageServer\Core\Server\LanguageServer->Phpactor\LanguageServer\Core\Server\{closure}()
#35 /root/phpactor/vendor/amphp/amp/lib/Coroutine.php(118): Generator->send()
#36 /root/phpactor/vendor/amphp/amp/lib/Internal/Placeholder.php(149): Amp\Coroutine->Amp\{closure}()
#37 /root/phpactor/vendor/amphp/amp/lib/Coroutine.php(123): Amp\Coroutine->resolve()
#38 /root/phpactor/vendor/amphp/amp/lib/Internal/Placeholder.php(149): Amp\Coroutine->Amp\{closure}()
#39 /root/phpactor/vendor/amphp/amp/lib/Deferred.php(52): class@anonymous->resolve()
#40 /root/phpactor/vendor/amphp/byte-stream/lib/ResourceInputStream.php(101): Amp\Deferred->resolve()
#41 /root/phpactor/vendor/amphp/amp/lib/Loop/NativeDriver.php(183): Amp\ByteStream\ResourceInputStream::Amp\ByteStream\{closure}()
#42 /root/phpactor/vendor/amphp/amp/lib/Loop/NativeDriver.php(96): Amp\Loop\NativeDriver->selectStreams()
#43 /root/phpactor/vendor/amphp/amp/lib/Loop/Driver.php(138): Amp\Loop\NativeDriver->dispatch()
#44 /root/phpactor/vendor/amphp/amp/lib/Loop/Driver.php(72): Amp\Loop\Driver->tick()
#45 /root/phpactor/vendor/amphp/amp/lib/Loop.php(95): Amp\Loop\Driver->run()
#46 /root/phpactor/vendor/phpactor/language-server/lib/Core/Server/LanguageServer.php(113): Amp\Loop::run()
#47 /root/phpactor/vendor/phpactor/language-server-extension/lib/LanguageServer/Command/StartCommand.php(59): Phpactor\LanguageServer\Core\Server\LanguageServer->run()
#48 /root/phpactor/vendor/symfony/console/Command/Command.php(255): Phpactor\Extension\LanguageServer\Command\StartCommand->execute()
#49 /root/phpactor/vendor/symfony/console/Application.php(1009): Symfony\Component\Console\Command\Command->run()
#50 /root/phpactor/vendor/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand()
#51 /root/phpactor/lib/Application.php(53): Symfony\Component\Console\Application->doRun()
#52 /root/phpactor/vendor/symfony/console/Application.php(149): Phpactor\Application->doRun()
#53 /root/phpactor/bin/phpactor(42): Symfony\Component\Console\Application->run()
#54 {main}

The project is a pretty small composer project with two classes and two tests. I had that error in my Symfony project as well..

Can you run the phpactor.dumpConfig command? this functionality requires composer, and you should ensure that project root has been correctly found and that vendor/composer exists.

[Info  - 11:32:16 AM] Config Dump
===========

File Paths
----------

project_id: test1-dd1530
project_root: /var/www/html/tests/test1
cache: /root/.cache/phpactor
config: /root/.config/phpactor
data: /root/.local/share/phpactor
application_root: /root/phpactor
project_config: /var/www/html/tests/test1/.phpactor

Config
------
{
    "container.extension_classes": [
        "Phpactor\\Extension\\Core\\CoreExtension",
        "Phpactor\\Extension\\ClassToFileExtra\\ClassToFileExtraExtension",
        "Phpactor\\Extension\\ClassToFile\\ClassToFileExtension",
        "Phpactor\\Extension\\ClassMover\\ClassMoverExtension",
        "Phpactor\\Extension\\CodeTransform\\CodeTransformExtension",
        "Phpactor\\Extension\\CodeTransformExtra\\CodeTransformExtraExtension",
        "Phpactor\\Extension\\CompletionExtra\\CompletionExtraExtension",
        "Phpactor\\Extension\\CompletionWorse\\CompletionWorseExtension",
        "Phpactor\\Extension\\Completion\\CompletionExtension",
        "Phpactor\\Extension\\CompletionRpc\\CompletionRpcExtension",
        "Phpactor\\Extension\\Navigation\\NavigationExtension",
        "Phpactor\\Extension\\ContextMenu\\ContextMenuExtension",
        "Phpactor\\Extension\\Rpc\\RpcExtension",
        "Phpactor\\Extension\\SourceCodeFilesystemExtra\\SourceCodeFilesystemExtraExtension",
        "Phpactor\\Extension\\SourceCodeFilesystem\\SourceCodeFilesystemExtension",
        "Phpactor\\Extension\\WorseReflection\\WorseReflectionExtension",
        "Phpactor\\Extension\\WorseReflectionExtra\\WorseReflectionExtraExtension",
        "Phpactor\\FilePathResolverExtension\\FilePathResolverExtension",
        "Phpactor\\Extension\\Logger\\LoggingExtension",
        "Phpactor\\Extension\\ComposerAutoloader\\ComposerAutoloaderExtension",
        "Phpactor\\Extension\\Console\\ConsoleExtension",
        "Phpactor\\Extension\\ExtensionManager\\ExtensionManagerExtension",
        "Phpactor\\Extension\\WorseReferenceFinder\\WorseReferenceFinderExtension",
        "Phpactor\\Extension\\ReferenceFinderRpc\\ReferenceFinderRpcExtension",
        "Phpactor\\Extension\\ReferenceFinder\\ReferenceFinderExtension",
        "Phpactor\\Extension\\Php\\PhpExtension",
        "Phpactor\\Extension\\LanguageServer\\LanguageServerExtension",
        "Phpactor\\Extension\\LanguageServerCompletion\\LanguageServerCompletionExtension",
        "Phpactor\\Extension\\LanguageServerReferenceFinder\\LanguageServerReferenceFinderExtension",
        "Phpactor\\Extension\\LanguageServerWorseReflection\\LanguageServerWorseReflectionExtension",
        "Phpactor\\Extension\\LanguageServerIndexer\\LanguageServerIndexerExtension",
        "Phpactor\\Extension\\LanguageServerHover\\LanguageServerHoverExtension",
        "Phpactor\\Extension\\LanguageServerBridge\\LanguageServerBridgeExtension",
        "Phpactor\\Extension\\LanguageServerCodeTransform\\LanguageServerCodeTransformExtension",
        "Phpactor\\Extension\\LanguageServerSymbolProvider\\LanguageServerSymbolProviderExtension",
        "Phpactor\\Extension\\LanguageServerSelectionRange\\LanguageServerSelectionRangeExtension",
        "Phpactor\\Indexer\\Extension\\IndexerExtension",
        "Phpactor\\Extension\\Debug\\DebugExtension"
    ],
    "console_dumper_default": "indented",
    "xdebug_disable": true,
    "command": "language-server",
    "class_to_file.project_root": "%project_root%",
    "class_to_file.brute_force_conversion": false,
    "code_transform.class_new.variants": [],
    "code_transform.template_paths": [
        "%project_config%\/templates",
        "%config%\/templates"
    ],
    "code_transform.indentation": "    ",
    "code_transform.refactor.generate_accessor.prefix": "",
    "code_transform.refactor.generate_accessor.upper_case_first": false,
    "completion_worse.completor.class.limit": 100,
    "completion_worse.disabled_completors": [
        "scf_class",
        "declared_class",
        "declared_function"
    ],
    "completion.dedupe": true,
    "completion.dedupe_match_short_description": true,
    "completion.limit": null,
    "navigator.destinations": [],
    "navigator.autocreate": [],
    "rpc.store_replay": false,
    "rpc.replay_path": "%cache%\/replay.json",
    "source_code_filesystem.project_root": "%project_root%",
    "worse_reflection.enable_cache": true,
    "worse_reflection.cache_lifetime": 5,
    "worse_reflection.enable_context_location": false,
    "worse_reflection.cache_dir": "%cache%\/worse-reflection",
    "worse_reflection.stub_dir": "%application_root%\/vendor\/jetbrains\/phpstorm-stubs",
    "file_path_resolver.project_root": "\/var\/www\/html\/tests\/test1",
    "file_path_resolver.app_name": "phpactor",
    "file_path_resolver.application_root": "\/root\/phpactor",
    "file_path_resolver.enable_cache": true,
    "file_path_resolver.enable_logging": true,
    "logging.enabled": false,
    "logging.fingers_crossed": false,
    "logging.path": "application.log",
    "logging.level": "warning",
    "logger.name": "logger",
    "logging.formatter": null,
    "composer.enable": true,
    "composer.autoloader_path": "%project_root%\/vendor\/autoload.php",
    "composer.autoload_deregister": true,
    "composer.class_maps_only": true,
    "console.verbosity": 32,
    "console.decorated": null,
    "extension_manager.extension_vendor_dir": "\/root\/phpactor\/lib\/..\/extensions",
    "extension_manager.vendor_dir": "\/root\/phpactor\/vendor",
    "extension_manager.config_path": "\/root\/phpactor\/lib\/..\/extensions\/extensions.json",
    "extension_manager.extension_list_path": "\/root\/phpactor\/lib\/..\/extensions\/extensions.php",
    "extension_manager.root_package_name": "phpactor-extensions",
    "extension_manager.minimum_stability": "stable",
    "extension_manager.repositories": [],
    "extension_manager.quiet": false,
    "worse_reference_finder.plain_text_break_chars": [
        " ",
        "\"",
        "'",
        "|",
        "%",
        "(",
        ")",
        "[",
        "]",
        ":",
        "\r\n",
        "\n",
        "\r"
    ],
    "php.version": null,
    "language_server.catch_errors": true,
    "language_server.enable_workspace": true,
    "language_server.session_parameters": {
        "language_server.method_alias_map": {
            "indexer\/reindex": "phpactor\/indexer\/reindex",
            "session\/dumpConfig": "phpactor\/debug\/config",
            "service\/running": "phpactor\/service\/running",
            "system\/status": "phpactor\/stats"
        },
        "worse_reflection.enable_context_location": false,
        "class_to_file.brute_force_conversion": false,
        "completion_worse.disabled_completors": [
            "scf_class",
            "declared_class",
            "declared_function"
        ]
    },
    "language_server.method_alias_map": {
        "indexer\/reindex": "phpactor\/indexer\/reindex",
        "session\/dumpConfig": "phpactor\/debug\/config",
        "service\/running": "phpactor\/service\/running",
        "system\/status": "phpactor\/stats"
    },
    "language_server.diagnostic_sleep_time": 1000,
    "language_server_completion.trim_leading_dollar": true,
    "language_server_reference_reference_finder.reference_timeout": 10,
    "language_server_code_transform.import_globals": false,
    "indexer.enabled_watchers": [
        "watchman",
        "inotify",
        "find",
        "php"
    ],
    "indexer.index_path": "%cache%\/index\/%project_id%",
    "indexer.include_patterns": [
        "\/**\/*.php"
    ],
    "indexer.exclude_patterns": [
        "\/vendor\/**\/Tests\/**\/*",
        "\/vendor\/**\/tests\/**\/*",
        "\/vendor\/composer\/**\/*"
    ],
    "indexer.stub_paths": [
        "\/root\/phpactor\/vendor\/jetbrains\/phpstorm-stubs"
    ],
    "indexer.poll_time": 5000,
    "indexer.buffer_time": 500,
    "indexer.project_root": "%project_root%",
    "indexer.reference_finder.deep": true,
    "indexer.implementation_finder.deep": true
}

and assuming you have /var/www/html/tests/test1/vendor/autoload.php exsists, do you have autoloading correctly setup in composer.json?

I think so:

{
    "name": "vladi/test1",
    "type": "project",
    "require": {},
    "require-dev": {
        "phpunit/phpunit": "^9",
        "symfony/var-dumper": "^5.2"
    },
    "autoload": {
        "psr-4": {
            "": "src/"
        }
    }
}

and /vendor/autoload.php

<?php

// autoload.php @generated by Composer

require_once __DIR__ . '/composer/autoload_real.php';

return ComposerAutoloaderInit844a8db196416f0324169c26ba618239::getLoader();