VS Code & PHP:包含文件中的变量没有自动完成?

VS Code & PHP: No Autocomplete for variables from included files?

我刚刚加入了 Visual Studio 代码行列,但遇到了我的第一个交易破坏者:我无法让它自动完成我在包含的 [=48= 中设置的变量] 文件,我将在其中设置变量,例如:

$some_var = 'something';

然后在另一个文件中我将包含:

<?php
include 'config.php';

// etc.......

然后,在这个文件中我应该可以开始输入 $som 并按下 TAB 或 ENTER 并且 $some_var 将完成(可能需要输入更多字母或 select 什么我其实想要其他人是否匹配前几个字符...)

有了这个编辑器,我被吹走了,这不是开箱即用的东西!?真的让我想知道我是否遗漏了什么……显然它阻止了 errors/typos……更不用说打字节省的时间了。

无论如何,这是我所做的:

在欢迎屏幕上有 "what I do" 的常用选项 我使用了 php 和 javascript 选项;没有快捷键

然后我开始安装其他几个在 youtuber 看来很有前途的扩展,并且在某个时候注意到了这个问题...

我卸载了所有扩展,只选择了 PHP 选项,没有骰子。

然后我开始添加几个 "PHP ________" 扩展,包括; IntelliSense、Intelephense、Autocomplete 等...一个一个地卸载,如果它不起作用,以防万一发生冲突 - 仍然没有运气(显然)。

我想念什么伙计们!?我还没有看到其他人问过这个问题...我希望我只是把它过于复杂化并且我忽略了一些简单的事情...

谢谢。


物有所值:

如果我在浏览器中打开测试文件并回显包含的变量,它们就在那里。

我是 运行 Mint xfce,LAMP:

php -v
PHP 7.2.15-0ubuntu0.18.04.1 (cli) (built: Feb  8 2019 14:54:22) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.15-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

我的 settings.json 有一些我 added/tried 沿途定制的东西:

// PHP TROUBLESHOOTINGS:
//"files.associations": {"*.php": "html"},
"files.autoGuessEncoding": true,
"files.defaultLanguage": "php",
"php.suggest.basic": true,

"editor.quickSuggestions": {
    "other": true,
    "comments": true,
    "strings": true
},

好的,所以我断断续续地研究了一段时间...

我找到了一个扩展程序 "PHP Tools for VS Code, by DEVSENSE" 它以某种方式使此功能起作用...但是它是一个付费扩展程序,设置 179 美元,之后每年 98 美元(个人为 79 美元,然后续订 49 美元) .

但是,这告诉我 可能 使用 VS Code...

我已经使用 Dreamweaver 十多年了,并且已经习惯了这个功能 - 但我已经转向 Linux,Adobe 不太适合...此外,我讨厌为我购买的软件定期计费的想法——如果他们做出了新的和令人惊奇的东西,我会买它……但据我估计,DW 已经有几年没有任何创新了;所以我很高兴解雇 Adob​​e(并找到了 VS Code - 这非常棒)。

无论如何,我猜是什么让我厌烦;我的基本文本编辑器 "Xed"(与 XFCE 一起安装)具有这种能力,还有 Vi(和衍生产品)、Geany 和 Bluefish……显然还有 phpstorm 之类的……可能还有很多我没有的'试过了。

底线;真的看起来像是应该开箱即用的基本功能......以及 VS Code 的所有其他真正疯狂的功能,我很震惊没有一种简单的方法来实现它(扩展或其他);我希望合适的人看到这一点并为此做点什么 ;)

我不想在这里显得忘恩负义,这个 VS Code 计划及其周围的社区真的很棒 - 我将继续使用它,至少在中期......

我的 "band-aid fix":我刚刚根据我在配置文件中拥有的十几个最常见的变量创建了一些用户片段,例如:

"$username": {
    "prefix": "$usr",
    "body": [
        "\$username"
    ],
    "description": "inserts the PHP $username variable"
}

感谢您的关注...并忍受我的咆哮 - 如果您有任何其他想法,请随意。

P.S。我确实在 Intellisense - Crane 上看到他们在发布 v0.3.7 时有一个注释,它说 "Fix issue with including file on Linux"...但是,显然不是? ;) 我什至不能 100% 确定该修复是否解决了我的问题,但看到它很有趣。