怎么对容器里的 PHP 程序打断点 Debug?
1,快捷键巨多,而且还可以自定义。跟sublime 有一拼。这个自己去搞喽。也有快捷键提示的插件,自己去搜。
2,搜索方便。支持全项目 或 目录下 搜索,支持正则搜索 匹配大小写等。
3,支持ftp 写完了直接提交到外网 调试有木有 哈哈哈
4,支持svn 写完了直接提交有木有
5,自动语法检查 inspector code 会给出为定义变量 未定义方法等等一大堆错误。代码右侧会有颜色标记。一般会有红色 为语法错误,黄色为建议。一般当右上角为绿色小方块证明代码完美无缺,嘻嘻。
6,支持自动补全注释 和 语法提示。
7, 代码格式化。这是必须的啊。
8,有时候你改了文件名,phpstorm 会相应的改掉你引用文件名的代码。智能的不要不要的。
9,有代码地图的插件,自己去搜。https://plugins.jetbrains.com/plugin/7275?pr=phpStorm
10,appearance theme 选择dakura ,Editor color & fonts theme 选择 monokai ,暗黑的加上彩色的代码,眼睛很舒服。
11,自定义代码模板,设置里面叫live tenplates ,如定义 echo tab 补全 为<?php echo $XX ?>
想起来再补。觉得是最好用的编辑器了。
phpstorm作为phper的利器,功能强大,对提高编码效率功不可没。
快捷键什么的自己一艘一大堆,这里提几个常用的功能。(算不上奇技淫巧)
1.PhpStorm中如何使用database工具,详细操作方法
2.PhpStorm中如何使用Xdebug工具,入门级操作方法
3.PhpStorm中如何使用FTP功能 详细操作方法
4.PhpStorm中如何配置SVN,详细操作方法
以一当五了已经,先这么多吧。等等再上其他功能介绍。以一当十不是梦。
我开始。。。使用vscode了。。。因为贵。。。又找不到可以长期破解的。。又控制不住手贱非得更新最新版本
但是该说不说。。。主题是真多啊。。。在windows系统上 是真好看啊。。
终于。。。我又一次webstorm转vscode失败了。。。我再一次回到了jetbrains的怀抱了。。。绝望 T_T
emmmm 免费吧 hhhh
好吧 严肃一点 vscode在angular的一些补全代码上比webstorm更多一些 然后主题更好看一点
真的要说内存的话 我这边可能差不多 甚至是vscode占用内存更多一些 但是 vscode支持中文
虽然vscode的各方面都让我挺满意的 但我还是被webstorm养废了啊 哎西
Jetbrain的产品的优点你用过才知道,真tm爽,对提高生产力真的有用,一股iOS的苹果味。
用着ws/rider,我才觉得我作为程序员,是被被温柔以待的,这是vs和vs code不能带给我的感觉。
丝滑顺畅,功能多,细节到位,除了不免费,真一点毛病都没有。
最近一直在用jetbrain的Rider,Webstorm有的功能,Rider基本也都有,界面基本一样。Rider不仅能开发angular,也开发出c# wpf,android。
性能上来说,比起vs code的偶尔卡顿,jetbrain的产品用起来就如丝般顺滑。大概就像安卓和iOS的区别。
功能上来说,vs code得装好多插件才能用的舒服一点,ws/rider本身就已经集成超多功能且好用。
细节上,jetbrain就更舒服了,git的操作及其便利,比如,如果你对文件有更改,然后想切到其他分支,它会用smart checkout,直接把你的修改带过去。
再比如创建分支的时候,其他ide是不允许在分支名字里面打空格的,然而rider就会把你的空格直接转成下划线。
还有各种自带的代码重构,拼写检查,全局搜索,好用到爆炸。
首先,JetBrains(成立时叫 IntelliJ Software)是一家公司,而不是某个叫 JetBrains 的程序员。
既然是公司,当它在 2000 年成立的时候,你觉得它会招些什么样的程序员?
2000 年成立,你就得往 90 年代末倒带,看看 90 年代末流行哪些编程语言,流行意味着很多东西,特别是考虑到用人成本。Java 于 1990 年代中期开发并在 1990 年代后期流行起来;C# 于 1990 年代后期开发,并在 2000 年代得到广泛采用;C++ 于 1979 年开发并在 1980 年代流行;Python 于 1980 年代后期首次发布并在 1990 年代流行起来;(经评论区提醒,80年代末开始实施,91年2月发布了0.9.9版本)PHP 于 1990 年代中期开发并因构建基于 Web 的应用程序而流行;JavaScript 于 1990 年代中期开发,因构建基于 Web 的应用程序和交互式网站而流行;C 开发于 1970 年代,在 1980 年代开始流行;Ruby 于 1990 年代中期开发并成为构建基于 Web 的应用程序的流行选择。
比较语言整体的适用性,Java,C#,C++ 应该在选择范围内。
然而,因为 C# 在那个时候还不成熟,可能会被优先排除。
再看 C++ 和 Java,我觉得结论是显而易见的,C++ 速度很快,但对开发人员来说要求更高。
而且, 2000 年那会已经有了后来称之为“敏捷开发”的新思潮,我不确定那三位初创大佬是不是技术管理出身,有没有受到这种思潮的影响。
即便没有,使用 C++ 编写一个完整的应用程序,对项目管理能力以及开发团队的整体技能要求还是更高的,特别是对于一个新的、初创的团队。
你要知道,这公司成立后,很快就推出了自己的第一款软件 IntelliJ Renamer,而 IntelliJ IDEA 的第一个版本也于 2001 年 1 月就发布了。这个技术选型,至少在开发效率层面是成功的。
那么,随着时间推移,该公司后来开发的那么多产品,为什么还是主要依托于 Java 呢?
先看一段采访节选,采访内容是“为什么 JetBrains 要创建 Kotlin?”,采访对象是 JetBrains 的开发者宣传副总裁 Hadi Hariri:Although JetBrains officially released Kotlin in 2016, the language faces a really long development process. Kotlin first appeared in 2011. When IDE Emperor first announced the project Kotlin to the world. Although Kotlin is widely used today JetBrains didn’t make Kotlin for sell. Instead, they made it solve their own development problems.More than 70 percent of our products were built with Java, says Hadi Hariri, Vice President of developer advocacy at JetBrains, and most of the rest were written in Microsoft’s C#. Although Java was very powerful but using java means writing a lot of boiler-plate code. Which eventually becomes hard to write, read and maintain. For even the simplest code needs to declare full classes and objects and all that, which becomes a big headache for JetBrains developers. They just want to get rid of extra repetitive work.The JetBrains teams really wanted to use a more modern language, but they still had many applications written in Java that would need to be maintained. It just doesn’t make any sense to rewrite all the Java products to C# or in any other language. So what they needed was a language that was compatible with Java, so they can keep all the old code as it is and can start creating new features in a new language.They also tried some existing options like Scala, Groovy and Clojure. Scala was best from all of them but the main drawback was, it was not fast and as simple as, for which JetBrains developers look around.So the team decided to create their own language with all the features they wanted. While creating a Kotlin JetBrains team strongly focus on three main things:- Fast (at least as fast as Java).- 100% Interoperability with Java.- Concise and expressive code.
核心内容如下:我们 70% 以上的产品是用 Java 构建的,其余大部分是用微软的 C# 编写的;JetBrains 团队真的想使用一种更现代的语言,但他们仍有许多用 Java 编写的应用程序需要维护;把所有的 Java 产品重写成 C# 或其他语言,实在是没有任何意义。所以他们需要的是一种与 Java 兼容的语言,这样他们就可以保留所有的旧代码,并可以用一种新的语言开始创造新的功能;他们也尝试了一些现有的选择,如 Scala、Groovy 和 Clojure。Scala 是所有这些语言中最好的,但主要的缺点是,它不像 JetBrains 的开发人员所寻找的那样快速和简单;因此,该团队决定创建他们自己的语言,并提供他们想要的所有功能;在创建 Kotlin 的过程中,JetBrains 团队强烈关注三个主要方面:快速(至少和 Java 一样快),与 Java 的1 00% 互操作性,简洁而富有表现力的代码。
这应该能解释“为什么还是主要依托于 Java ”这个问题。
对了,你觉得,为什么老板总是喜欢冲码农大吼:“你们懂个屁,一群程序员思维”......
哈哈哈哈哈~~~~
JetBrains使用Java来开发其IDE的原因之一是因为Java具有良好的跨平台能力,可以在各种操作系统和计算机架构上运行,这使得JetBrains能够为各种不同的开发人员提供一致的开发体验。
此外,使用Java也可以提高开发效率和开发速度。Java具有现代化的开发工具和框架,可以减少代码量,加快开发速度,并且Java具有自动内存管理和垃圾回收机制,减少了代码中的内存管理问题。
虽然使用C或C++可能会提高IDE的运行速度,但是它们相对于Java而言更难以维护,也需要更多的时间和资源来开发和维护。因此,对于一个复杂的软件项目,选择Java作为开发语言可以更容易地保持代码的可维护性和可扩展性,从而为用户提供更好的用户体验。
另外,即使使用跨平台的技术,也需要为每个平台进行一些适配和优化。使用Java作为开发语言可以减少这些问题,因为Java自身就提供了一些跨平台的支持。同时,JetBrains也在不断优化其IDE的性能和响应速度,使其在各种操作系统和硬件环境下都能够更好地运行。以下是我个人收集的Java相关的资料,建议学习
Java开发电子书推荐
《Effective Java》(第三版):这是一本由著名的 Java 专家 Joshua Bloch 所写的书籍,它提供了许多关于 Java 编程的最佳实践和技巧。这本书详细讨论了很多 Java 的语言特性和 API,非常适合有一定 Java 编程经验的开发人员阅读。《Java 编程思想》(第四版):这是一本经典的 Java 编程入门书籍,由 Bruce Eckel 所写。这本书讲解了 Java 编程的基础知识,包括对象、继承、多态、异常处理、 输入输出等方面,内容比较全面。链接:《深入理解 Java 虚拟机》( 第三版):这是一本关于 Java 虚拟机(JVM)的权威指南,由周志明所写。这本书介绍了 JVM 的内部原理、优化技术、调优方法等方面,非常适合想要深入了解 Java 技术的开发人员阅读。《Java 并发编程实战》:这是一本关于 Java 并发编程的书籍,由 Brian Goetz 等人所写。这本书介绍了 Java 并发编程的基础知识、多线程、锁、原子类等方面,内容详细全面,适合有一定 Java 编程经验的开发人员阅读。《Head First Java》(第二版):这是一本非常适合 Java 入门学习的书籍,由 Kathy Sierra 和 Bert Bates 所写。这本书采用了生动有趣的方式,让读者很快地掌握 Java 编程的基础知识,非常适合初学者阅读。链接:《Java核心技术·卷I/II》:是Java编程领域的经典著作,涵盖了Java语言的基础知识和高级特性,如面向对象编程、多线程、网络编程、IO、集合框架、反射、泛型等。本书内容详尽、深入浅出、思路清晰、代码示例丰富,对Java初学者和有一定经验的开发者都非常有帮助。此外,由于作者的严谨和精湛的写作技巧,本书也是Java语言学习者的必备读物。《Java微服务架构实战》是一本比较新的Java技术书籍,它深入介绍了微服务架构的核心理念、设计模式、开发框架、测试策略、部署方案等。本书的特点在于将实践案例贯穿始终,通过一个个实际项目案例来介绍微服务的应用。
电子书地址
Java 编程思想 提取码:6666Java 并发编程实战 提取码:6666Head First Java 提取码:6666Java核心技术·卷I/II 提取码:6666Java微服务架构实战 提取码:6666
推荐学习开源项目
CS-Notes
这个项目主要包括了,技术面试必备基础知识、力码、计算机、计算机网络、系统设计等知识,值得每一个 Java 程序员学习。
项目地址:https://github.com/CyC2018/CS-Notes
Eoapi
Eoapi 是一款类 Postman 的开源 API 工具,更轻量,同时可拓展!可以简化你的 API 开发工作,让你更快更好地创建 API,支持 API 有关的核心功能,还可以通过插件市场帮助你将 API 发布到各个应用平台,比如发布到网关完成 API 上线,或者和低代码平台结合,将 API 快速变成可使用的组件等。 这个开源项目维护的很好,还在不断更新,不用担心上手难度,Eoapi 有完整的开发文档,如果你在使用过程中有什么疑问或者建议,不妨去直接去github上提 Issue。当然你也可以进他们的开源社区交流群,进群方式可通过查看官方文档获取。
代码仓库:https://github.com/eolinker/eoa
advanced-java
互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识,特别适合进阶 Java 学习,尤其是工作者。
项目地址:https://github.com/doocs/advanced-java
Spring Boot
Spring Boot:Spring Boot 是 Spring Framework 的一部分,它可以帮助你更快、更容易地创建基于 Spring 的应用程序。
地址:<https://github.com/spring-projects/spring-boot>
Hibernate
Hibernate:Hibernate 是一个开源的对象关系映射(ORM)框架,它可以让开发人员更轻松地将 Java 对象映射到数据库表中。
地址:<https://github.com/hibernate/hibernate-orm>
Apache Kafka
Apache Kafka:Apache Kafka 是一个分布式流处理平台,它可以处理高吞吐量的实时数据。
地址:<https://github.com/apache/kafka>
JUnit
JUnit:JUnit 是一个用于编写和运行单元测试的开源框架,它可以帮助开发人员更好地保证代码的质量。
地址:<https://github.com/junit-team/junit5>
Elasticsearch
Elasticsearch:Elasticsearch 是一个开源的分布式搜索和分析引擎,它可以帮助你更轻松地处理和分析大规模的数据。地址:<https://github.com/elastic/elasticsearch>
Retrofit
Retrofit:Retrofit 是一个开源的 RESTful API 客户端库,它可以帮助你更轻松地处理网络请求和数据响应。
地址:<https://github.com/square/retrofit>
Guava
Guava:Guava 是一个 Google 开源的 Java 工具库,它包含了许多有用的类和方法,可以帮助开发人员更轻松地编写高质量的 Java 代码。
地址:<https://github.com/google/guava>
Apache Spark
Apache Spark:Apache Spark 是一个快速、可扩展的开源集群计算系统,它可以处理大规模数据处理和机器学习等任务。
地址:<https://github.com/apache/spark>
Apache Camel
Apache Camel:Apache Camel 是一个开源的集成框架,它可以帮助开发人员更轻松地集成不同的应用程序和系统。
地址:<https://github.com/apache/camel>
JHipster
JHipster:JHipster 是一个用于创建现代 Web 应用程序的开源生成器,它使用了最新的技术和最佳实践,可以帮助你更轻松地创建高质量的应用程序。
地址:<https://github.com/jhipster/jhipster>
学习路线图
学习路线
入门: Java SE基础 → Java Web(含数据库+H5+js+vue)
中级: Maven → Git → SSM框架 →Spring高级→ MybatisPlus → Spring Boot→ 《传智健康》项目实战 → 《瑞吉外卖》项目实战
进阶: Spring Cloud(微服务开发,学这一套就够了) 也可以按照以下技术点学:
Dubbo → Zookeeper → RabbitMQ → RocketMQ → Docker → Redis → MongoDB → 搜索技术Elasticsearch → MySQL进阶
面试: 数据结构与算法 → Java大厂面试专题课 → Java百度地图
JDK8-15新特性 → 编程强化 → 数据库强化 → 安全框架SpringSecurity → 报表技术 → 模板引擎VelocityTools → 工作流Activiti7
电子书地址
Java 编程思想 提取码:6666Java 并发编程实战 提取码:6666Head First Java 提取码:6666Java核心技术·卷I/II 提取码:6666Java微服务架构实战 提取码:6666
IDE是一个非常复杂的工程,如果要兼顾开发效率,运行效率,后续可维护性,貌似只有java吧。基于jvm开发的程序比C/C++之类的可维护性好太多了,尤其是排查错误,内存泄露之类,对了,本身java内存泄露风险比C/C++之类的就要小多了吧,还有很多优秀的开源库支撑,真的没得比。
他们的核心开发人员肯定熟悉Java多于其他语言,这个结论打开intellij写几行代码就知道了,而那时候这个领域的王者c# 也才刚刚起步,之后就形成了路径依赖
换句话说,用Java也能做出很好的UI和很强的性能,除了启动慢和吃内存没有任何槽点是真的很强
1.VSCode免费;
2.WebStorm收费;
3.VSCode资源占用似乎稍好点,HDD也能不错的运行,WebStorm 没SSD打开索引要好久
JB家的IDE对电脑资源的利用能力确实很差,导致我经常觉得性能太差了。我32线程的电脑在indexing的时候只有2-3个核心会被占用,总体利用率只有10%-20%。其他核心都“无聊到死了”(youtrack里有一个反馈这个问题的issue,标题是“My CPU is getting bored to death”)。但仔细想,这个问题的复杂度可能和语言并无关系。
其次,开多个ide实例的时候,新开的项目如果在indexing,那么之前开的实例里也会等待新实例做完索引之后才能提供代码相关功能。非常离谱。
至于卡顿倒是没有,这个问题内存给够就能解决。我电脑装了128G内存,分了64G给JB家产品,没感觉有卡顿过。
目前JB家IDE的问题我觉得是历史辣鸡代码太多了,导致不能完整利用好全部的电脑性能,导致体验不好。但在所有竞品里看,体验还是属于头一档。尤其是代码编辑和调试器体验,一些小细节用久了都觉得是理所应当了。
==== 分割线 ====
评论区有人觉得 indexing 的时候 CPU 占用率低“并不是因为 JB 优化不行,而是因为 indexing 是 IO 密集型”。很显然这是不对的,我全量编译的时候都能吃满 CPU,怎么到了索引就不行了呢,二者谁更消耗 IO 不用我多解释吧?因此这种说法是不成立的。
此外,JB 家 IDE 在 2022.3 之后支持了多线程 indexing,这是一张 indexing 过程中任务管理器的截图。从图中一眼就能看出,硬盘几乎没动,但是 CPU 的所有核心都能利用上了,因此,之前 indexing 慢就是 JB 优化不行,而不是什么 IO 密集。
真正的前端:vscode虚假的前端:webstorm
我发现那种半吊子水平的前端开发特别迷信we storm。“提高生产力”,“解放双手”,“懂不懂jetbrains公司的含金量”。热知识,在你吹嘘webstrom之前先了解一下eclipse,懂不懂eclipse的含金量啊,而vscode则是eclipse团队原班人马打造,eclipse当神器的时候ide还是个玩具,为什么不继续打磨eclipse反而做vscode,eclipse团队觉得作为一个开发太重了,舍本逐末。核心思想就是提供核心编码功能,开发者可以基于需要安装对应的插件,这种思想你知道有多先进吗?微核心,安需加载,大道至简。
说到这应该还有很多人不服,webstorm就是比vscode功能多,比vscode强大,你摸着良心问问自己,webstorm功能是多,你又用到了几个?你连它20%的功能都用不到,剩下的功能不是在懵逼就是在吃灰,所以说多不代表就好,就强,适合自己的才最重要。说到功能多那就是暴露了webstorm的致命缺点,卡,非常卡,慢,非常慢。正因为它集成的多,打开一个项目需要构建加载,这期间我用vscode都能开十个项目了,打开文件也是慢,猜测webstrom应该是在打开这个文件,收集这个文件的依赖什么的,编码的时候居然有一点延迟,肉眼看不到,但是你能感觉到,明显觉得敲出的代码慢半拍,不要怀疑我的电脑配置不行 ,MacPro 16g 14寸 m1芯片。
webstrom和vscode我都用,不过我只用webstrom的git可视化。
更新:
1.先说电脑配置,据我所知,北京一线大厂标配Mac pro 16g,如果你觉得这个配置还差,那我只能说你们公司真有钱,
2.虚假的前端就不要来吹ws了,我说虚假的前端是指,前身curd仔,安卓仔,后面因为各种原因又做前端的人,对idea有历史包袱,我可以理解,但是在你踏入前端之后,是不是最好了解一下vscode呢,如果真的这么垃圾,为什么还有很多人在用呢?你不必着急反驳我,免费就不说了,你们是不是认为vscode没有技术含量,一个记事本而已,前端技术水平普遍菜,玩不明白ws。
(转载)原文链接
作者:不跑马拉松的摄影师不是好城续猿
按照惯例依然是从百科上复制一条简介: PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具。PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能和智能HTML/CSS/JavaScript/PHP编辑、代码质量分析、版本控制集成(SVN、GIT)、调试和测试等功能。另外,它还是跨平台。在Windows和MacOS下都可以使用。PhpStorm-让开发更智能,而不是更困难。
听说phpStorm 10支持php7呃
优点
跨平台。对PHP支持refactor功能。自动生成phpdoc的注释,非常方便进行大型编程。内置支持Zencode。生成类的继承关系图,如果有一个类,多次继承之后,可以通过这个功能查看他所有的父级关系。支持代码重构,方便修改代码。拥有本地历史记录功能(local history功能)。方便的部署,可以直接将代码直接upload到服务器。
总之它很牛逼就是了,什么都能干
快捷键
phpStorm有非常非常多并且好用的的快捷键,我下面就举一些经常用的的快捷键演示,还有一些不常用的就不举例了,绝对能提高你开发的效力率...
(Windows与Mac类似,只要把 command 键换成 ctrl )
查询相关command + f 查找当前文件command + r 查找替换command + e 打开最近的文件command + shift + o 快速查询文件command + shift + f 关键字查找,更强大的查询器(机器不好的,最好还是先确定一下目录)command + shift + r 高级替换command + alt + b 找到当剪类的所有子类alt + shift + c 查找最近修改的文件alt + f7 直接查询选中的字符ctrl + f7 文件中查询选中字符command + 鼠标点击 跳到类或方法或变量等声明处command + shift + tab 切换tab页文件command + shift + +,- 展开或缩起command + . 折叠或展开选中的代码
自动代码alt + 回车 导入包,自动修正command + n 快事为每个成员属性生成 getter 及 setter 方法ctrl + i 快速生成插入魔术方法ctrol + o 复写父类方法command + alt + l 对当前文件进行格式化排版command + d 复制当剪行command + / // 注释command + shift + / / / 注释
以 command + n 举个例子
我创建了一个 Person 类在 /Entity/ 目录下,然后我设置一些私有的属性如下代码:
然后咱们使用 command + n 在弹出来的窗口选择"PHPDoc Blocks..." 如下图:
再再弹出的窗口选择所有属性再点"OK":
然后它就对刚刚所选择属性加上了注释...... 是不是灰常神奇。
ok,咱们继续,再次使用 command + n 键选择 Contructor... 弹出需要进行传参赋值的属性:
如果不选择的话将不需要对成员属性进行设置。
然后咱们再来看看其他功能,比如"Implement Methods..."这个是快速生成魔术方法。
通常咱们设置、获取一个成员属性时最好不要直接使用 $person->name = $name 这种方式进行设置参数或取得参数值, 建议是对每个属性都开放一个 getter 跟 setter 方法,这样可以很方便得对传进或传出去的值进行处理,这就是上面我为什么要把成员属性设置置为私有的原因之一
同样的 command + n 选择"Getters and Stetters" 然后选择所有属性,它就会把所有的属性设置 getter 及 setter 方法,这里要注意的是 Person 的 sign 是唯一的,不可进行修改,所以咱们要把设置 sign 的方法去掉。注意: 最好 setter 方法设置完后返回当剪对象,这样的话咱们就可以连写了并且phpStorm的提示还相当友好 下面有例子:
连写的例子:
最后再演示一个快速复写被继承类的功能。咱们新建一个 Man 类,然后继承 Person 类,上面的Person类缺省是女性别,所以我们需要重写它并且加上"中国男人"。同样的使用 command + n 打开快捷窗口选择 "Override Methods..." 弹出来可被复写的方法:
然后咱们选择 getSex 跟 setSex 方法,然后确定,在 Man 方法下生成以下方法。
咱们把 return parent::getSex() 跟 return parent::setSex( $age ) 删除掉,不需要这样,然后改成如下模式。
碉堡了有木有。
工具类等
看起来好多的样纸,我懒,不想讲可不可以?我就挑几个好不好?连拉ssh 照着配就行了,很简单
composer 这个也很明了吧,不多说了,平时咱们都是通过命令行来实现的vagrant 这个phpstorm 10集成了vagrant,介于咱们自己已经搭建好了自己的vagrant环境,就不使用phpstorm所集成的啦
参考: 《使用Virtual Box和Vagrant搭建开发环境》
Database 工具
phpStorm所集成的database工具十分强大,当然它还有单独的database工具叫做: DataGrip ,当然需要独立购买,咱们phpStorm有集成,就使用它好啦哈哈....(咱们的PhpStorm可是花钱买的,请支持正版)
Database工具一般在右侧栏,如果没有的话搜一下就好了,多简单的事儿呀...
开始创建一个数据库连接吧...
选择如上图的那个"+"号,然后选择 Data Source 数据来源,再选择数据库类型,一般咱们都是使用mysql吧,这次咱们试试新的,比如 SQLite
选择 sqlite 数据文件的地址,然后选择驱动,如果没有的话得先下载安装sqlite的驱动插件,这个很简单,在Driver下有提示,照做就是了...
咱们先看一下mysql的配制吧...
mysql的也非常简单,如果需要ssh/ssl连接的话,需要在SSH/SSL选项卡上配配地址入连接密码或sshkey...
配制好了,打开选择的数据库:
上图是连接的数据库的表及表字段信息... 来演示一下查询... 点击那"QL"样的dos窗口图标会弹出一个tab页,咱们可以在这里写sql语句。
咱们查询 User 表下的所有数据,可以看到会有相当提示,这是相当的好使啊...查询完成后在下面的 Database Console 上会有显示表数据,可对它进行修改,等等操作增加数据也可以。
快捷键 command + alt + l 不但对代码进行格式化,也sql语句也是非常有效的,如上图。
在"Database Console"栏上点"Output"选项卡可以查看sql语句执行的情况、记录及所消耗的时间等等信息...command + 回车 执行sql语句或执行选中的sql语句
关于database工具的用法还有很多很多,我就不一一讲解了,大家可以自己慢慢去研究,真的非常好用
CVS 和 Git
command + kcommand + shift + k
关于FTP的配制,由于我不推荐使用,所以这里就不多说啦!
都到这了,那咱们就说说在phpStorm上如何使用git工具吧
算了,还是举一个例子吧,配辣么多太累了,一会我看下有没有已经配好的,如果有的话一会拉出来截个图看看就行吧,反正现在svn用得也比较少了,还是git用得爽,分布式嘛,离线嘛,多好...关于 svn -> git 可以参考我之前写的一篇文章
《将代码库从Svn迁移Git》
从git服务器上把代码抓到本地
选择 CVS -> Checkout from Version Control -> Git
在弹出的窗口输入自己的git仓库信息:
注意 conle 的时间如果没有设置你的github账号的话可能会提示你输入账号信息,咱们输入就行了。如果需要修改的话则在设置里面进行修改,咱们可以使用 command + , 打开"Preferences" 然后找到"Version Control"选项目的"GitHub"进行设置,还有"Git"路径。
从mster创建分支
创建分支以通过命令行进行创建,咱们可以通过phpstrom的窗口进行创建,如下:
这个东西在右下角,"Git:master" 然后弹出上面窗口选择"New Branch" 然后输入新分支的名称就好了,它会自动切换到新分支下。
是不是超级简单呀...
提交代码至远程分支
当咱们修改完代码后,咱们需要把代码提交到远程分支上,使用快捷键 command + k 提交相当修改后的代码,双击文件可以进行对比。在"Commit Message"写上修改的东西然后点提交,这时就把代码提交到本地分支上了。
不使用快捷键的话,可以使用"CVS -> Commit Changes"提交,也会弹出下面窗口...
提交到本地分支后,咱们需要把代码推到远程分支上,所以需要使用快捷键: command + shif + k 提交远程分支...
也可以使用"CVS -> Git -> Push"进行提交...效果是一样的
注意svn木有 command + shift + k 这一步
合并分支
分并非常简单,只要选择需要合并的分支,然后merge就行了,如下图:
这样就合并完成,当然,如果有冲突的话会提交有冲突,并让你解决,如果没有的话就直接合并成功了...然后就可以push了......
Compare 是对合并的分支进行对比...
使用svn...
灰常抱歉,我电脑上木有找到相关Svn项目的代码,就不多说了...
安装插件
这里讲一个javascript 的安装,使用快捷键 cmd + , 打开 Preferances
安装 JavaScript 插件
Languages & Frameworks -> Javascript -> Libraries
选择add需要的框架
安装symfony2插件,搜索插件,然后点install
然后重启phpStorm 就完事了....
注意
灰色+波浪线: 变量未使用黄色波浪线: 变量未名单词拼写问题红色波浪线: 变量未定义还有好多我就不一一举例了,可能是因为我代码写得太好,出错的东西比较少吧...
右边栏出现红色,这点是必须要杜绝的,好的代码不应该出现红色的任何提示...一旦出现一定要马上解决,好的代码不应该出现一个黄、红色的提示。
TODO 表示待办事件,当提交到vcs、svn或git的时候,会提示是还有未处理的事件,需要确认提交。
写得有点多了,想写的东西比较多,要不分两篇写好了?算了,我比较懒,就这样吧,等我以后想写了再写吧,谢谢阅读
其实有很多东西可以写的,我只是想偷懒而已......
The End: 2016年01月09日 下午18时许
阅读原文
Xdebug+phpStorm安装与调试保姆级教程!『通俗易懂』
1.什么是Xdebug?
是一个开放源代码的PHP程序调试器,其实就是一个而已 可以用来PHP程序当前的运行状况!
2.为什么要使用Xdebug?
可能在项目开发当中 当你的业务代码复杂到一层又套一层的嵌套的时候, 或者说 、 、 这些打印方法也满足不了你的时候,并且你也没有在中配置过 那么我建议可以尝试一下来调试代码!
3.在window中如何下载与安装Xdebug 2.7.2
1.下载
在下载时,会有两种版本, 一种是带有, 另外一种则,, 主要还是看版本是否支持版本!
所以我们这里要先知道目前你安装的版本是多少! 我的版本是
在编辑器中新建一个 然后输入以下代码:
运行之后如图:
知道了当前等信息之后我们就可以去下载了
打开官方地址: , 点击菜单选项
然后找到下面的点击选择
然后进行下载选择页面, 在页面中选择最下面的 如图:
进入 页面 这里我选择是 发布日期是的
当然如果你确实不知道当前的版本,又懒得去找那么就试试这个地址:,这个是官方网站给用户提供的一个自动分析当前电脑系统对应的版本的页面! 打开它你将看到以下页面!
在这个页面中需要把你在中输入打印出的php版本信息使用全选粘贴到页面中的中后,再点击 提交你的 它会帮你分析出最适合你的版本!
这个功能很贴心的能够帮助你生成你要找的版本,
多说一句,虽然这里能够帮助你分析出合适的版本, 但检测出来的版本也不一定就是匹配正确的! 如果出现问题就多换几个低版本的试试!
那么我这里就下载的是 下载完毕之后如下图:
2.安装
将下载的文件移动到 目录下 当然如果你是例如等也就在他们的目录下找到对应文件夹下的目录就可以了!
找到文件编辑
打开并在里面添加如下代码:
一定要重新启动网络服务器
到这里的和就完成了,重新在php代码中打印 在打开的信息页面中如果有出现下图效果才能说明安装正确!
4.Xdebug2.x 常见配置参数
我们安装启动好了之后 还需要对它进行一些参数上的配置, 我自己常用的配置参数如下表:参数值建议值描述
5.如何在本地phpStorm中配置xdebug2.x
1.配置号
启动随后在打开在显示的面板中设置端口,端口默认为9000,我们在中配置的多少这里就设置是多少!
2.设置
打开
在中配置如下:
就是在配置文件中设置的名字 (配置文件中没有 也没关系!)
是你的服务器ip或者是已经可以解析的域名,或者本地就直接写 或 也行
可以自选,一般默认选就好了
3.手动添加一个
打开
在出现的对话框中 填写如下信息:
填写一个名称 随意都可以!
填写配置当前服务器ip或
是默认80端口,也可以根据你的配置填写 你更改的web端口号
选
4.测试的配置是否成功!
再次打开
接着点击右边的按钮 如下图:
会弹出对话框
创建一个,用于与真正服务器同步
是填写 创建验证脚本的路径,也就是你的服务站点路径地址
验证脚本的Url地址 也就是你的解析好的域名网络地址目录
如下图:
到此我们在中配置就完成了!
6.测试一下在本地使用Xdebug2.x来调试php代码
在中新建一个页面名为 输入以下代码
然后选择, 在弹出对话框中选择
在右上角再中打开监听按钮, 如下图
现在就可以开始断点调试了! 比如先在要断点的代码处打
然后按下键盘上的 或 直接点右上角的图标
就可以了, 按下快捷键或者点击 进行基础
关于的详细使用我会在之后继续更新!
webstorm 适配uniapp
一、rpx提示错误,飘红
二、支持未知标签
JetBrains是一家捷克[1]的软件开发公司,该公司位于捷克[2]的布拉格
本激活码仅可用来学习和交流,禁止商业使用,有条件的用户建议使用正版,毕竟支持正版,就是支持我们软件行业!
本站所提供的JetBrains激活码每4小时更新一次,适用与该公司的24款开发工具与及相关产品。包括:
AppCode- Swift 和 Objective-C IDE開發工具----点击此处免费获取AppCode激活码 。 CLion - 跨平台的[C]/[C++] [IDE]开发工具,支持[C++11] 、[C++14]、[libc++]以及[Boost]----点击此处免费获取CLion激活码。 DataGrip- 一款数据库客户端工具]----点击此处免费获取DataGrip激活码。 GoLand- [Go語言]的整合開發環境----点击此处免费获取GoLand激活码。 IntelliJ IDEA - 2001年发布。一套智慧型的 Java 整合開發環境,特別專注與強調程式師的開發撰寫效率提升----点击此处免费获取IDEA激活码。 PhpStorm- PHP IDE開發工具----点击此处免费获取PhpStorm激活码。 PyCharm[3] - 一款結合了Django框架的Python IDE開發工具----点击此处免费获取PyCharm激活码。 Rider[4] - 一款快速,功能强大,跨平台的.NET IDE开发工具----点击此处免费获取Rider激活码。 RubyMine[5] - 一套強大的Ruby on Rails IDE開發工具----点击此处免费获取RubyMine激活码。 WebStorm[6] - JavaScript的開發工具----点击此处免费获取WebStorm激活码。
相关软件下载地址
易查网 开启程序人生
参考资料
[1]
捷克: https://zh.wikipedia.org/wiki/%E6%8D%B7%E5%85%8B
[2]
捷克: https://zh.wikipedia.org/wiki/%E6%8D%B7%E5%85%8B
[3]
PyCharm: https://zh.wikipedia.org/wiki/PyCharm
1. 为什么要折腾 debug 断点
背景:最近正好调试一个PHP 服务的 bug,平时都是用二分法+打日志法来进行 debug。图的就是一个简单粗暴,后面发现有一个同事(老高)都是打断点来调试,我就想着也要试试,顺便白嫖了一波 老高给我的关键词 Xdebug 以及 相关配置。
2. xdebug 配置过程
创建一个 xdebug.ini 配置文件
创建一个 dockerfile 文件
备注:上面第一步和第二步都是为了安装和配置xdebug。
Xdebug:是一个用于调试和分析PHP应用程序的开源调试器和分析工具。主要可以有5 个功能点(逐步调试(debug),跟踪(Tracing),提升错误报告,性能分析,单元测试覆盖率分析)更多功能发掘可以看 xdebug 官网:https://xdebug.org/
docker-compose 替换原来的 PHP image这里/cave/php中包含着两个文件(第一步的 xdebug.ini 和 第二步的 dockerfile )
启动容器以后,进入容器里面,看下是否配置成功
image.png
PHPSTORM 配置 DEBUG 相关配置配置 debug 端口(下面第一张图)开启 debug 服务监听的端口(下面第二张图)
image.png
image.png
备注:这里搜网上的教程的时候,发现还有人配置DBGP 代理(DBGP Proxy)用于帮助调试器与正在运行的 PHP 脚本之间建立调试连接。 不过我们这里在xdebug.ini 配置文件中直接配置了 xdebug.client_host=host.docker.internal ,可以直接连接到宿主机的 PHPSTORM 启动的调试器。
打断点后请求 API 接口,触发调试
3. PHPstorm 断点 debug 的基础教程
image.pngShow Execution Point (Alt + F10):如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行。Step Over (F8):步过,一行一行地往下走,如果这一行上有方法不会进入方法。Step Into (F7):步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法。Force Step Into (Alt + Shift + F7):强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。Step Out (Shift + F8):步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。Run to Cursor (Alt + F9):运行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。Evaluate Expression (Alt + F8):计算表达式。
参考文档:https://www.jetbrains.com/help/phpstorm/debugging-with-phpstorm-ultimate-guide.html
另外贴一个 PHP 的 断点 debug 教程,我记得好像很多是 PHP 转 Golang:qwer:怎么对 Docker 中的 Golang 程序打断点Debug?
以上,基本就是全部的利用 PhpStorm 对 PHP 程序进行 debug 的配置和基本操作了, 以及如果有疑问或者改进意见,欢迎在评论区留言,最后创作不易,如果本篇文章对你有帮助或启发,欢迎点赞收藏。