前言

此文主要介绍如何使用vscode开发PHP,开发体验可以说和php死桃木不相上下(虽然我没用过php死桃木)

PHP扩展组合

一、卡巴斯基组合

注:php debug这个扩展没什么好说的,主要介绍下PHP IntelliSense这个扩展,可能被吐糟的太多了原作者已经将扩展从市场移除了,目前市场上能搜到的这个是其他人单独发布的。

而且这个扩展由于发布的早,也是最先支持php的,导致新手很容易去安装这个,但由于体验不好可能就抛弃vscode来开发php了

优点:免费,适合小型项目 

缺点:小项目使用可能会有一点卡,大项目可以卡到怀疑人生。

二、美中不足组合

注:PHP Intelephense 刚发布时是不收费的,也用了一段时间响应都很快,就是不够智能没法和专业ide媲美。后期作者重新维护开始部分功能收费,自己也付费体验了下功能上还是有很大的提升空间

优点:部分功能免费,性能好,满足基本开发

缺点:部分实用的功能收费,系统函数智能提示不支持中文,功能不够完善。

三、专业扩展不用组合

注:此扩展已经集成了xdebug调试功能,所以不用单独安装php-debug扩展。

优点:功能完善,代码跳转、中文智能提示,可以媲美专业IDE

缺点:免费试用15天,按年付费订阅。依赖.net环境

总结一下: 新手或者业余开发人员在针对较小的项目时,前两种可以体验试下能否满足使用。如果不想花钱又要开发大一点的项目用第二种组合也可以凑合使用。

还有就是下面重点要说的利用修改源代码方式免费使用第三种组合。


破解步骤

  • start

  • 安装扩展:PHP Tools for VS Code

  • 安装完成后,根据扩展提示申请一个免费15天的秘钥(不知道现在还有没有),

    申请不到可以使用这个已经过期的秘钥:9A67311816caZfsGXE6TxeS4NyN2UkaQC (网上找的)

  • 执行命令:ctrl+shift+p -> 输入 : php -> 选择下面出现的PHP Tools: Activate extension

  • 将秘钥输入进去,如果提示过期不用管

  • 修改扩展源代码:找到扩展安装目录,一般是在系统用户目录下:

    C:\Users\admin\.vscode\extensions\devsense.phptools-vscode-1.5.8280\out\src\extension.js

    版本不同这个文件夹也会有所不同:devsense.phptools-vscode 根据这个自己匹配就行了

  • 打开文件后搜索 Date>new关键词,将时间判断改为 return false;

    修改前:

    修改后:

  • 由于扩展更新都会重新覆盖此文件,所以每次更新后要重复此步骤,然后重启vscode

  • 输入快捷键:ctrl+shift+u 打开输入面板,选择:PHP

  • 正常情况应该可以看到下图,正在下载扩展所依赖的.net运行时,如果你没有FQ的情况下,可能半天也下载不好。就算FQ能下载成功,后期每次扩展更新都要重新下载一次。

  • 解决下载运行时的方法是:自己安装.net5.0 sdk到系统上,就不用单独下载了。

    下载地址:.NET 5.0

    选择对应的版本安装:

  • 安装完成之后重启下vscode,正常情况下输出面板应该是这样的:

  • 然后就能正常使用该扩展了。体验一下然后卸载PHP死桃木

  • 当前这种方法不太推荐,有条件的朋友还是付费使用,毕竟人家也需要维护,可能后期这种问题被修复后就彻底不能使用了。

  • end


开发进阶(win10及以上系统适用)

  • 通过上面的方式使用vscode开发PHP已经大大提升了开发效率,不过还有。。。

  • VScode + WSL2 + Ubuntu 20.04 LTS 加上这套组合就可以在windows环境下以最佳的方式开发swoole项目了。。

  • 注意:是wsl2,wsl1体验太差。。,具体安装方式就不在这里介绍了。


最后

如果还有什么疑问或者建议,可以多多交流,原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。

好了,本文到此结束,希望本文对你有所帮助

vscode开发PHP攻略的更多相关文章

  1. VSCode插件开发全攻略(六)开发调试技巧

    更多文章请戳VSCode插件开发全攻略系列目录导航. 前言 在介绍完一些比较简单的内容点之后,我觉得有必要先和大家介绍一些开发中遇到的一些细节问题以及技巧,特别是后面一章节将要介绍WebView的知识 ...

  2. VSCode插件开发全攻略(七)WebView

    更多文章请戳VSCode插件开发全攻略系列目录导航. 什么是Webview 大家都知道,整个VSCode编辑器就是一张大的网页,其实,我们还可以在Visual Studio Code中创建完全自定义的 ...

  3. VSCode插件开发全攻略(三)package.json详解

    更多文章请戳VSCode插件开发全攻略系列目录导航. package.json 在详细介绍vscode插件开发细节之前,这里我们先详细介绍一下vscode插件的package.json写法,但是建议先 ...

  4. VSCode插件开发全攻略(二)HelloWord

    更多文章请戳VSCode插件开发全攻略系列目录导航. 写着前面 学习一门新的语言或者生态首先肯定是从HelloWord开始. 您可以直接克隆我放在GitHub上vscode-plugin-demo 的 ...

  5. VSCode插件开发全攻略(一)概览

    文章索引 VSCode插件开发全攻略(一)概览 VSCode插件开发全攻略(二)HelloWord VSCode插件开发全攻略(三)package.json详解 VSCode插件开发全攻略(四)命令. ...

  6. VSCode插件开发全攻略(九)常用API总结

    更多文章请戳VSCode插件开发全攻略系列目录导航. 本文提炼一些常见的API使用场景供参考,本文内容有待完善. 编辑器相关 修改当前激活编辑器内容 替换当前编辑器全部内容: vscode.windo ...

  7. VSCode插件开发全攻略(十)打包、发布、升级

    更多文章请戳VSCode插件开发全攻略系列目录导航. 发布方式 插件开发完了,如何发布出去分享给他人呢?主要有3种方法: 方法一:直接把文件夹发给别人,让别人找到vscode的插件存放目录并放进去,然 ...

  8. VSCode插件开发全攻略(八)代码片段、设置、自定义欢迎页

    更多文章请戳VSCode插件开发全攻略系列目录导航. 代码片段 代码片段,也叫snippets,相信大家都不陌生,就是输入一个很简单的单词然后一回车带出来很多代码.平时大家也可以直接在vscode中创 ...

  9. VSCode插件开发全攻略(五)跳转到定义、自动补全、悬停提示

    更多文章请戳VSCode插件开发全攻略系列目录导航. 跳转到定义 跳转到定义其实很简单,通过vscode.languages.registerDefinitionProvider注册一个provide ...

随机推荐

  1. 【LeetCode】237. Delete Node in a Linked List 解题报告 (Java&Python&C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 设置当前节点的值为下一个 日期 [LeetCode] ...

  2. 【LeetCode】633. Sum of Square Numbers 解题报告(python & Java & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 双指针 列表生成式 循环 日期 题目地址:https ...

  3. 【LeetCode】838. Push Dominoes 解题报告(Python)

    [LeetCode]838. Push Dominoes 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http:// ...

  4. '2'>'10'==true? JS是如何进行隐式类型转换的?

    前言 '2'>'10'返回的true,可能很多人都不是很能理解吧? 在js中,当运算符在运算时,如果两边数据不统一,CPU就无法计算,这时我们编译器会自动将运算符两边的数据做一个数据类型转换,转 ...

  5. 【嵌入式】arduino IDE串口监视器可以正常使用但其他软件发送串口指令没有反应的问题

    解决办法: 1.检查 波特率baudrate 是否一致 2.检查 数据位长度databits 是否一致 3.检查 停止位长度stopbits 是否一致 4.检查 奇偶校验位 是否一致 5.(特殊)是否 ...

  6. 【Java例题】3.3 正整数分解

    3.将一个正整数分解为连续多个正整数之和. 例如: 15=1+2+3+4+5 15=4+5+6 15=7+8 package chapter3; import java.util.*; public ...

  7. contrastive CAM

    目录 概 主要内容 一个有趣的应用 > Prabhushankar M., Kwon G., Temel D. and AlRegib G. Contrastive explanation in ...

  8. MADE: Masked Autoencoder for Distribution Estimation

    目录 概 主要内容 代码 Germain M., Gregor K., Murray I. and Larochelle H. MADE: Masked Autoencoder for Distrib ...

  9. 八、Uniapp+vue+腾讯IM+腾讯音视频开发仿微信的IM聊天APP,支持各类消息收发,音视频通话,附vue实现源码(已开源)-聊天输入框扩展面板的实现

    聊天输入框扩展面板的实现 1.项目引言 2.腾讯云后台配置TXIM 3.配置项目并实现IM登录 4.会话好友列表的实现 5.聊天输入框的实现 6.聊天界面容器的实现 7.聊天消息项的实现 8.聊天输入 ...

  10. ios离线打包报错Showing Recent Messages :-1: HBuilder has conflicting provisioning settings. HBuilder is automatically signed for development, but a conflicting code signing identity iPhone Distribution has

    1.解决方案找到项目工程文件右击->显示包内容->双击project.pbxproj->搜索distribution改写成Developer