VS代码和PHP:包含文件中的变量是否没有自动完成功能?

时间:2019-03-07 13:06:30

标签: php visual-studio-code vscode-settings

我刚刚跳入了Visual Studio Code的潮流,但遇到了第一个失败者:我无法将其自动完成在包含的“ config.php”文件中设置的变量的设置。会设置如下变量:

$some_var = 'something';

然后在另一个文件中添加:

<?php
include 'config.php';

// etc.......

然后,在此文件中,我应该能够开始键入$som并按TAB或ENTER键,$some_var就可以完成了(可能需要键入更多字母,或者如果其他字符匹配则选择我实际想要的内容)前几个字符...)

有了这个编辑器可以做的所有事情,我真是吹牛了,这不是开箱即用的东西吗??确实让我怀疑是否可能我遗漏了一些东西……显然,它可以防止错误/打字错误……更不用说只是键入代码而节省的时间了。

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

在欢迎屏幕上,有使用php和javascript选项的“我做什么”的常用选项;没有键绑定

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

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

因此,我开始添加几个“ PHP ________”扩展,包括; IntelliSense,Intelephense,自动完成等...如果无法正常工作,请逐个安装并卸载,以防万一发生冲突-(仍然很幸运)。

我在想什么家伙!?我没有看到其他人问过这个问题...希望我只是把它复杂化了,有一些简单的事情我却忽略了...

谢谢。


对于它的价值:

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

我正在使用LAMP运行Mint xfce:

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具有沿途添加/尝试过的一些自定义功能:

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

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

1 个答案:

答案 0 :(得分:0)

好吧,所以我一直在反复研究一下……

我找到了一个扩展名“ DEVSENSE的PHP工具,用于VS Code”,它以某种方式使此功能起作用...但是,这是一个付费扩展,设置为179美元,之后每年为98美元(对于个人,为79美元,然后续订$ 49)。

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

我使用Dreamweaver已有十多年了,并且已经习惯了此功能-但是我转而使用Linux,Adobe对Adobe的使用效果不佳...此外,我讨厌重复计费的想法对于我购买的软件-如果它们能制造出新颖而令人赞叹的产品,我会购买...但是据我估计,DW几年来一直没有任何创新。所以我很高兴开除Adobe(并发现了VS Code-非常棒)。

无论如何,我想是什么让我讨厌;我的基本文本编辑器“ Xed”(与XFCE一起安装)具有此功能,以及Vi(及其派生产品),Geany和Bluefish ...以及明显的phpstorm之类的...可能还有很多其他我没有的功能尝试过的。

底线;似乎确实应该立即使用的基本功能……以及VS Code的所有其他真正的INSANE功能,令我感到震惊的是,没有一种简单的方法可以实现它(扩展或其他方式);我希望合适的人看到这一点,并对此有所作为;)

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

我的“创可贴修复”:我刚刚根据我在配置文件中可能拥有的十几个最常见的变量创建了一些用户片段,例如:

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

感谢您的关注...并忍受我的怒吼-如果您有其他想法,请放心。

P.S。我确实在Intellisense上看到-Crane,他们在v0.3.7版本中有一条注释,上面写着“修复Linux中包含文件的问题” ...但是,显然不是吗? ;)我什至不能100%地确定该修复程序可以解决我的问题,但是很有趣。