VScode+phpStudy搭建php代码调试环境
一、安装Visual Studio Code
官网:https://code.visualstudio.com/
下载安装包后,按照默认安装即可
安装中文语言环境
点击左侧工具栏的 extensions 或者使用快捷键 Ctrl+Shift+X ,输入chinese,点击 Install 安装中文简体,之后重起 vscode 即可
二、安装phpstudy
我比较喜欢老版本的,安装包如下:
链接:https://pan.baidu.com/s/1JJ8wkMqvXz0SGES2wU2Wng
提取码:vup6
新版本可以去官网下载
配置Xdebug
1、打开phpstudy,其他选项菜单->php扩展及设置->php扩展->勾选xdebug
2、修改php.ini,找到你使用的php版本目录下的php.ini,修改 [XDebug] 的内容
将 zend_extension 目录修改为你的 xdebug.dll (phpstudy自带) 的路径
然后在最后添加
xdebug.remote_enable = on
xdebug.remote_autostart = on

修改好后重启apache, 可以访问http://127.0.0.1/phpinfo.php来查看xdebug有没有配置成功

如果 phpinfo 信息里有 xdebug 就说明 php 的 xdebug 配置成功了。
三、配置VScode
指定使用的 php.exe 的路径
点击 文件->首选项->设置->扩展->搜索 php

然后打开 setting.json,添加并保存(下面是你自己的php路径)
"php.validate.executablePath": "D:/PHPTutorial/php/php-5.5.38/php.exe"

安装 php debug 插件
打开扩展 Extension 界面,搜索PHP Debug,点击install安装,在重启VScode 即可

四、配置 PHP Debug 并测试
这里我们新建一个php文件,并放到网站的根目录下
<?php
echo "hello";
$a=$_POST['a'];
?>
然后用vscode打开他所在的文件夹
注意:PHP Debug 必须通过打开文件夹中的文件才能调试,而且需要是可以访问的文件夹,直接在VScode中新建的文件是调试不了的。

然后切换到调试 Debug 界面,按 F5 选择PHP语言环境

然后点击创建 launch.json(这里它会通过默认配置生成,通常不需要需改)

注意:里面的远程端口要和php.ini中的设置一致
默认使用的是9000端口,如果端口冲突可以在 php.ini 的 xdebug 下添加如下代码:
xdebug.remote_port = 9001
然后选择Listen for XDebug,并点击绿色小箭头或按 F5 启动调试工具
接者在代码中下一个断点(点击行号前面的点即可)
最后在浏览器中访问我们下断点的页面,VScode就能够监听代码接收的内容并显示相关运行结果
这里可以看到代码运行停在了第3行,$a还没有被赋值,以及接收到的参数
关于vim插件,导致不能使用ctrl+c的问题
VScode 中默认加载了 VIM 插件
可以在文件->首选项->设置中->搜索 vim.us 将 vim.useCtrlKeys 选项前的勾去掉

配置以新窗口打开文件夹
文件>>首选项>>设置>>窗口>>新建窗口>>Open Folders In New Window>>on 这里设置为on即可


其他的插件
Code Runner
功能:直接在编辑器中运行代码,查看结果,非常方便,一键运行。
只需右键运行 run 即可
详细使用参考:
https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner
自定义执行程序的 PATH
{
"code-runner.executorMap": {
"javascript": "node",
"php": "C:\\php\\php.exe",
"python": "python",
"perl": "perl",
"ruby": "C:\\Ruby23-x64\\bin\\ruby.exe",
"go": "go run",
"html": "\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\"",
"java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
}
}
在setting.json里加入上面的常用配置
最好将"code-runner.runInTerminal"设置为true,这样就可以让程序在终端中执行,就不会出现无法在只读编辑器输入的情况了。
也就是将 "code-runner.runInTerminal": true, 添加到setting里

避免每次重复输出结果。可以在 vscode --文件–设置–首选项,找到 code run,勾上每次 清除上一次结果。

PHP IntelliSense
功能:
智能完善代码
标签关键字提示
工作区符号搜索
选中参数高亮
转到定义,函数跳转即查看
徘徊
找到所有符号
列精确的错误报告
安装和使用都需要php7.1以上环境,在setting里设置即可

使用的时候首先选定类或函数,然后右键转到定义,实现跳转
(或者ctrl + 左键 跳转到定义 ctrl + 右键 查看引用)

PHP Intelephense
与PHP IntelliSense的功能类似,但是不需要php7环境
Theme
用来设置 VScode 的主题,可以直接去插件商店选择一款好看的(PS:毕竟是常用软件嘛)
VScode+phpStudy搭建php代码调试环境的更多相关文章
- vscode加MinGw三步搭建c/c++调试环境
vscode加MinGw三步搭建c/c++调试环境 step1:安装vscode.MinGw 1.1 vscod常规安装:https://code.visualstudio.com/ 1.2 MinG ...
- Xcode搭建真机调试环境 图文实例
本文介绍的Xcode搭建真机调试环境 图文实例,图文并茂,使我们学习起来更方便些,我们先来看内容. AD: 2013云计算架构师峰会超低价抢票中 Xcode搭建真机调试环境 是本文要介绍的内容,不多说 ...
- 通过模拟器和ida搭建Android动态调试环境的问题
这几天在学Android的native层逆向.在按照教程用ida搭建动态调试环境时,第一步是把android_server 放到手机里执行,但是在手机里可以,在genymotion模拟器上就提示 no ...
- Go 开发环境搭建和代码调试
写这篇笔记的目的,主要是分享我在Go学习中遇到的坑.让后面的学习者能否参考有用的经验. 其中有一些小技巧,对初学者来说,可能会大大节约填坑的时间. 比如如何设置vscode的Go调试器,Go的语法高亮 ...
- 基于Visual Studio Code搭建Golang开发调试环境【非转载】
由于对Docker+kubernetes的使用及持续关注,要理解这个平台的原理,势必需要对golang有一定的理解,基于此开始利用业余时间学习go,基础语法看完之后,搭建开发环境肯定是第一步,虽然能g ...
- Windows下搭建FFmpeg开发调试环境
背景 如果你是一个FFmpeg的使用者,那么绝大部分情况下只需要在你的程序中引用FFmpeg的libav*相关的头文件,然后在编译阶段链接相关的库即可. 但是如果你想调试FFmpeg内部相关的逻辑,或 ...
- 用Qemu模拟vexpress-a9 (一) --- 搭建Linux kernel调试环境【转】
转自:http://www.cnblogs.com/pengdonglin137/p/5023342.html#_label2 阅读目录(Content) 环境介绍: 下载Linux内核 安装arm的 ...
- 用Qemu模拟vexpress-a9 (一) --- 搭建Linux kernel调试环境
参考: http://blog.csdn.net/linyt/article/details/42504975 环境介绍: Win7 64 + Vmware 11 + ubuntu14.04 32 u ...
- 基于Groovy搭建Ngrinder脚本调试环境
介绍 最近公司搭建了一套压力测试平台,引用的是开源的项目 Ngrinder,做了二次开发,在脚本管理方面,去掉官方的SVN,引用的是Git,其他就是做了熔断处理等. 对技术一向充满热情的我,必须先来拥 ...
随机推荐
- Gif截屏工具 - GifCam
如果你需要录制截屏并保存成gif图片格式,那么你一定不能错过GifCam这个神奇的小工具.它虽然只有600K,但功能不可小觑. GifCam (Gif相机) 是一款免费且非常优秀的视频录制/剪辑的GI ...
- epoll的原理和用法
设想一个场景,有100万用户同时与一个进程保持着TCP连接,而每一时刻只有几十个或几百个TCP连接是活跃的(接收到TCP包)也就是说,在每一时刻进程只需要处理这100万连接中的一小部分连接,那么,如何 ...
- Windows下python3登陆和操作linux服务器
一.环境准备 python3远程连接需要用到pycrytodome和paramiko库,其中后者依赖前者,所以按照顺序来安装 1. 安装pycrytodome 1 pip install pycryt ...
- 网络编程之C10K
网络编程之C10K 虽然在过去的十几年里C10K问题已经可以很好的解决,但学习网络编程时研究C10K问题仍然价值巨大,因为技术的发展都是有规律和线索可循的,了解C10K问题及其解决思路,通过举一反三, ...
- BeetleX之XRPC远程委托调用
BeetleX.XRPC是基于接口的远程通讯组件,它不紧可以把接口提供客户端调用,同样也支持服务端创建客户端的接口实例并主动调用客户端的方法.接口有着非常的规范性和约束性,但前提你是必须制定相应的接口 ...
- 容器内init进程方案
背景 进程标识符 (PID) 是Linux 内核为每个进程提供的唯一标识符.熟悉docker的同学都知道, 所有的进程 PID都属于某一个PID namespaces, 也就是说容器具有一组自己的 P ...
- 【python pip】一招解决pip下载过慢问题
目录 概述 壹:问题描述 贰:解决过程 一.问题分析 二.问题解决 方法一:下载时加入参数-i [镜像源地址] 方法二:设置源 三.国内镜像源地址 叁:作者有话 作者 概述 在我们经常使用pip安装插 ...
- 2020 webstorm 最新激活方式 有效期2021年11月 可用
MIIElT25XE-eyJsaWNlbnNlSWQiOiJPUVQzT0oyNVhFIiwibGljZW5zZWVOYW1lIjoi5rC45LmF5r+A5rS7IGlkZWEubWVkZW1pb ...
- [转] SQL Server 数据库性能优化
分析比较执行时间计划读取情况 1. 查看执行时间和cpu set statistics time on select * from Bus_DevHistoryData set statistics ...
- 部署prometheus监控kubernetes集群并存储到ceph
简介 Prometheus 最初是 SoundCloud 构建的开源系统监控和报警工具,是一个独立的开源项目,于2016年加入了 CNCF 基金会,作为继 Kubernetes 之后的第二个托管项目. ...