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,其他就是做了熔断处理等. 对技术一向充满热情的我,必须先来拥 ...
随机推荐
- Mysql锁和死锁分析
在MySQL中,行级锁并不是直接锁记录,而是锁索引.索引分为主键索引和非主键索引两种,如果一条sql语句操作了主键索引,MySQL就会锁定这条主键索引;如果一条语句操作了非主键索引,MySQL会先锁定 ...
- django之初建项目
一.项目预览 1.在创建项目之前,必须先进入虚拟环境,因为我们的包安装在我们的虚拟环境中,不在我们的中环境中 >>> ./venv/Scripts/activate 2.创建一个项目 ...
- docker RPM包安装
1. 下载 docker RPM包 docker 使用的系统是 Centos 7.6 基础设施服务器 # wget https://download.docker.com/linux/centos/ ...
- Ubuntu 16.04.5部署Django环境
1.安装python环境 使用如下命令安装的是3.5.x版本 sudo apt-get install python3-pip 如果使用下面的命令,会安装2.x版本的python sudo apt-g ...
- Think 框架漏洞利用
下午有点闲,又没有女朋友陪,该干嘛呢??? 对了,做安全的是不需要女朋友的,哈哈哈哈哈 废话不多说,本机搭建环境: 首先nmap扫描一下,哦哈,有点东西. 开的端口有点多,这个时候有点窃喜,开的端口太 ...
- 量化投资学习笔记37——《Python机器学习应用》课程笔记10
用KNN算法来进行数字识别,还是用sklearn自带的digits数据集. coding:utf-8 KNN算法实现手写识别 from sklearn import neighbors from sk ...
- 原生js实现replace方法
今天看到有人提问js的replace方法怎么实现的,自己就试了试js手册里的String对象的介绍replace大概是这样: string.replace(regexp, replacement) 第 ...
- 桌面运维之Windows快捷键,每一个工程师都是“快捷键”的工程师!
1.win快捷键 首先教大家win7新增的3D效果: Win + Tab 快速切换已打开的程序(和Alt+tab一样的效果) Win + Home 将所有使用中窗口以外的窗口最小化 Win + Spa ...
- H5系列一、静态页面总结
1.img父标签设置高度,如果容器没有设置高度的话,图片会默认把容器底部撑大几像素 -- 大概3px,给容器设置高度. 2.input标记换行后默认有一个间隙,设置float属性.input标记默认还 ...
- 【01】openLayers 第一个地图
效果: 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...