PhpStorm基本配置及常用快捷键
重要Preference配置
-
激活服务器
- http://jetbrains.tencent.click/
- http://owo.help
- http://idea.imsxm.com/
- http://www.0-php.com:1017
- 2017.3以上版本
- JetBrains IDE 2017.3以上版本,激活检测机制变成了动态封禁域名,导致大部分域名激活被屏蔽了,可通过本地代理解决:
复制代码
#jetbrain activate server { listen 8888; server_name localhost; location / { proxy_pass http://idea.imsxm.com:80; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; } }
-
安装以下必要插件
- Php Inspections (EA Extended)
- PHP Annotations
- .ignore
- Markdown Navigator
- editorconfig

-
PHP正确版本及解释器(本地安装)

-
PHP代码风格选择PSR-1/PSR-2

-
配置合适的scope 搜索/替换、Inspect时选择scope,排除不需要的文件(第三方库、非代码文件)。

-
配置合适的Inspections

-
配置开发部署服务器帐号

-
SQL方言正确选择

-
提交代码时的配置

导入配置
-
baobaobooks工程根目录下有
ps-scope.txt,通过Preference | Appearance & Behavior | Scopes新建scope "php",粘贴ps-scope.txt到Pattern。 -
参考Sharing Your IDE Settings,通过git共享setting 。 如果你的setting有更新并且适合共享给大家,请Overwrite Remote。

-
不可共享的配置(Inspections虽然有icon,实际可共享)

常用快捷键(Windows)
查看所有快捷键:Help - Keymap Reference
| 快捷键 | 功能 |
|---|---|
| Editing | |
| Ctrl + Space | 基本代码完成(任意类的,方法的或者变量的名称) |
| Ctrl + Shift + Enter | 补全当前语句 |
| Ctrl + P | 参数信息 |
| Ctrl + Q | 快速查找文档 |
| Ctrl + 鼠标滑过 | 简明信息查看 |
| Ctrl + F1 | 在插入符号处显示错误或者警告信息 |
| Alt + Insert | 生成代码...(Getters,Setters,Constructors) |
| Ctrl + O | 重写方法 |
| Ctrl + I | 实现方法 |
| Ctrl + Alt + T | 使用if...else,try...catch,for等包围代码 |
| Ctrl + / | 注释/取消行注释 |
| Ctrl + Shift + / | 注释/取消块注释 |
| Ctrl + W | 增量式选择代码 |
| Ctrl + Shift + W | 减少选择的代码块,与Ctrl+W相反 |
| Alt + Q | 上下文信息 |
| Alt + Enter | Show intention actions and quick-fixes |
| Ctrl + Alt + L | 格式化代码 |
| Ctrl + Alt + I | 自动缩进单行或者多行 |
| Tab/Shift + Tab | 缩进选中的行或者取消选中行的缩进 |
| Ctrl + X or Shift+Delete | 剪切 |
| Ctrl + C or Shift+Insert | 复制 |
| Ctrl + V or Shift+Insert | 粘贴 |
| Ctrl + Shift + V | 从历史中粘贴 |
| Ctrl + D | 复制当前的行或者选中的块 |
| Ctrl + Y | 在插入符号处删除行 |
| Ctrl + Shift + J | 合并行 |
| Ctrl + Enter | 拆分行 |
| Shift + Enter | 新起一行 |
| Ctrl + Shift + U | 切换大小写 |
| Ctrl + Shift + ]/[ | 选择代码块到开始或者结尾 |
| Ctrl + Delete | 删除单词从光标处到到结尾 |
| Ctrl + Backspace | 删除单词从光标处到开头 |
| Ctrl + NumPad+/- | 展开或者折叠代码块 |
| Ctrl + Shift +NumPad+ | 展开所有 |
| Ctrl + Shift +NumPad- | 折叠所有 |
| Ctrl + F4 | 关闭编辑页面 |
| Search/Replace | |
| Ctrl + F | 查找 |
| F3 | 查找下一个 |
| Shift + F3 | 查找上一个 |
| Ctrl + R | 替换 |
| Ctrl + Shift + F | Find in path |
| Ctrl + Shift + R | Replace in path |
| Usage Search | |
| Alt + F7/Ctrl + F7 | 查找使用处/在文件中查找使用处 |
| Ctrl + Shift + F7 | 在文件中高亮使用处 |
| Ctrl + Alt + F7 | 显示所有使用处 |
| Running | |
| Alt + Shift + F10 | 选择配置并运行 |
| Alt + Shift+ F9 | 选择配置并调试 |
| Shift + F10 | 运行 |
| Shift + F9 | 调试 |
| Ctrl + Shift + F10 | 从编辑器运行环境配置 |
| Ctrl + Shift + X | 运行命令行 |
| Debugging | |
| F8 | 逐过程 |
| F7 | 逐语句 |
| Shift + F7 | 智能单步执行 |
| Shift + F8 | 跳出 |
| Alt + F9 | 运行到光标处 |
| Alt + F8 | 计算表达式 |
| F9 | 重新开始程序 |
| Ctrl + F8 | 切换断点 |
| Ctrl + Shift + F8 | 查看所有断点 |
| Navigation | |
| Ctrl + N | 查找类 |
| Ctrl + Shift + N | 查找文件 |
| Ctrl + Alt + Shift + N | 查找符号 |
| Alt + Right/Left | 切换上一个/下一个编辑区 |
| F12 | 回到以前的工具窗口 |
| Esc | 从工具窗口到编辑区 |
| Shift + Esc | 隐藏当前使用的或上次使用的窗口 |
| Ctrl + Shift + F4 | 关闭打开的运行/消息/查找/... 对话框 |
| Ctrl + G | 调整到指定行 |
| Ctrl + E | 打开最近使用的文件显示框 |
| Ctrl + Alt + Left/Right | 导航回退或者前进 |
| Ctrl + Shift + Backspace | 定位到最后编辑区 |
| Alt + F1 | 选择当前文件或者符号在任意显示窗口中(例如:结构,项目等) |
| Ctrl + B or Ctrl + Click | 调整到声明处 |
| Ctrl + Alt + B | 调整到实现 |
| Ctrl + Shift + I | 查看定义(例如:查看函数具体实现) |
| Ctrl + Shift + B | 调整到类型声明处 |
| Ctrl + U | 跳到父类/超类 |
| Alt + Up/Down | 跳到上一个/下一个方法 |
| Ctrl + ] / [ | 移动到代码块的结束/开始 |
| Ctrl + F12 | 显示文件结构 |
| Ctrl + H | 类型层次结构,例如类的继承 |
| Ctrl + Shift + H | 方法的层次结构 |
| Ctrl + Alt + H | 调用层次结构 |
| F2 / Shift + F2 | 下一个/以前的突出显示错误 |
| F4 / Ctrl + Enter | 编辑源代码 / 查看源代码 |
| Alt + Home | 显示导航栏 |
| F11 | 切换书签 |
| Ctrl + F11 | 用助记符切换书签 |
| Ctrl + #[0-9] | 转到编号书签 |
| Shift + F11 | 显示所有书签 |
| Refactoring | |
| F5 Copy | 复制 |
| F6 Move | 移动 |
| Alt + Delete | 安全删除 |
| Shift + F6 | 重命名 |
| Ctrl + Alt + N | 嵌入变量 |
| Ctrl + Alt + M | 提取方法 |
| Ctrl + Alt + V | 提取变量 |
| Ctrl + Alt + F | 提取字段 |
| Ctrl + Alt + C | 提取常量 |
| VCS/Local History | |
| Alt + BackQuote (`) | VCS快速弹出 |
| Ctrl + K | 提交项目到VCS |
| Ctrl + T | 从VCS更新项目 |
| Alt + Shift + C | 查看最近更改 |
| General | |
| Ctrl + Shift + A | 查找Action |
| Alt + #[0-9] | 打开相应的工具窗口 |
| Ctrl + Shift + F12 | 最大化切换编辑器 |
| Alt + Shift + F | 添加到收藏夹 |
| Alt + Shift + I | 检查当前文件与当前概要文件 |
| Ctrl + BackQuote | 快速切换当前主题 |
| Ctrl + Alt + S | 打开设置对话框 |
| Ctrl + Tab | 在标签和工具窗口间切换 |
常用快捷键(macOS)
查看所有快捷键:Help-Keymap Reference
| 快捷键 | 功能 |
|---|---|
| Editing | |
| ⌃Space | 自动补齐 |
| ⌘/ | // |
| ⌥⌘/ | /**/ |
| ⌘N | Generate code(生成构造函数、重写函数、待实现函数、Getters、Setters、Copyright、PHPDoc) |
| ⌥↑ and ⌥↓ | 扩大和缩小选中的范围(字符串、代码作用域...) |
| ⌘⌥L | 格式化代码 |
| ⌘D | 拷贝粘贴当前行或选中的代码 |
| ⌥⇧↑ / ⌥⇧↓ | Move Line Up / Down |
| ⌘⇧↑ / ⌘⇧↓ | Move Statement Up / Down |
| ⌘delete | 删除选中的代码 |
| ⇧⏎ | 当前行后开始新的一行 |
| ⌘⇧U | 切换选中字符的大小写 |
| ⌘+ / ⌘- | 打开或收起代码块 |
| ⌘⇧V | 从历史记录中粘贴 |
| ⌘L | 跳转至某一行 |
| ⌘J | 插入代码模板 (echo, foreach...) |
| ⌘+ / ⌘- | 打开或关闭代码块 |
| ⌥⏎ | 提示可做的操作列表(出现错误或警告时可用) |
| ⌘⌥T | 将选中的代码包裹 ({}、if、for、try catch、function) |
| Search/Replace | |
| ⌘F / ⌘R | 当前文件查找/替换 |
| ⌘⇧F / ⌘⇧R | 在全局或选中的文件路径查找/替换 |
| ⌘G / ⌘⇧G | 查找下一个/上一个 |
| Usage Search | |
| ⌥F7 | Find usages |
| ⌘⌥F7 | Show usages |
| ⌘⇧F7 | Highlight usages in file |
| Refactoring | |
| ⌃T | Refactor This (shows all available refactorings) |
| F5 / F6 | Copy/Move (文件、类、函数、变量...) |
| Shift F6 | Rename (文件、类、函数、变量...) |
| ⌘delete | safe Delete |
| Running | |
| ⌃⇧R / ⌃⇧D | 运行当前文件代码 |
| ⌘⇧X | 运行控制台命令 |
| Navigation | |
| ⌥F1 | Select In... |
| ⌘B / ⌘+Click | Declaration |
| ⌘F12 | File Structure |
| ⌘L | 跳转至某一行 |
| ⌘O / ⇧⌘O | 打开类 |
| ⌘W | 关闭当前Tab |
| ⌥⌘→ / ⌥⌘← | 切换Tab (修改为与Chrome一致) |
| ⌘E | Recent Files |
| ⇧⌘E | Recent Changed Files |
| ⌘[ | Back |
| ⌘[ | Forward |
| F2 | Next Highlighted Error |
| ⇧F2 | Previous Highlighted Error |
| ⌃⌥H | Call hierarchy |
| VCS/Local History | |
| ⌃V | ‘VCS’ quick popup |
| ⌘K | Commit |
| ⌘T | Update project |
| ⌘⇧ | 出现文件导航 (全屏编辑文件时有用) |
| ⌘↓ | 新窗口编辑文件(=双击) |
| General | |
| ⇧⇧ | 查找任何地方 (文件、工具栏、配置) |
| ⌘, | 打开Preference |
| ⌘N | 新建文件 |
| ⌘⇧X | Upload To Default Server (已修改) |
标签:
PhpStorm
相关文章:
PhpStorm基本配置及常用快捷键
重要Preference配置 激活服务器 http://jetbrains.tencent.click/http://owo.helphttp://idea.imsxm.com/http://www.0-php.com:10172017.3以上版本 JetBrains IDE 2017.3以上版本,激活检测机制变成了动态封禁域名,导致大部分域名激活被屏蔽了࿰…...
Autosar通信实战系列05-CanNM模块进阶常见问题思考
本文框架 前言1. UDS 0x28服务控制Nm报文收发后对状态机有影响?2. 节点网络启动后第一帧是否必须是网络管理报文?3. 主动唤醒后发送的第一帧报文为NM报文如何配置?4. CanNmMsgCycleOffset的使用场景?5. 什么情况下CBV中RepeatMessageRequest Bit置位?6. 主动(本地)唤醒与…...
Java中多态的一些简单理解
什么是多态 1.面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。 2.多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发…...
011 数据结构_哈希
前言 本文将会向你介绍哈希概念,哈希方法,如何解决哈希冲突,以及闭散列与开散列的模拟实现 1. 哈希概念 顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经…...
案例025:基于微信小程序的移动学习平台的设计与实现
文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…...
写实3D游戏模型纹理贴图设置
在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时,有几种不同的风格: …...
如何基于Akamai IoT边缘平台打造一个无服务器的位置分享应用
与地理位置有关的应用相信大家都很熟悉了,无论是IM软件里的位置共享或是电商、外卖应用中的配送地址匹配,我们几乎每天都在使用类似的功能与服务。不过你有没有想过,如何在自己开发的应用中嵌入类似的功能? 本文Akamai将为大家提…...
【开源】基于JAVA的木马文件检测系统
项目编号: S 041 ,文末获取源码。 \color{red}{项目编号:S041,文末获取源码。} 项目编号:S041,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 木马分类模块2.3 木…...
KaiOS 运营商相关文件operator_variant_manager.js代码功能和调试
gaia/apps/system/js/operator_variant_manager.js at master mozilla-b2g/gaia GitHub js文件接口功能 No 接口/常量 功能 1 OperatorVariantManager var OperatorVariantManager function(core) 2 OperatorVariantManager.IMPORTS OperatorVariantManager.I…...
【数据结构(六)】排序算法介绍和算法的复杂度计算(1)
文章目录 1. 排序算法的介绍1.1. 排序的分类 2. 算法的时间复杂度2.1. 度量一个程序(算法)执行时间的两种方法2.2. 时间频度2.2.1. 忽略常数项2.2.2. 忽略低次项2.2.2. 忽略系数 2.3. 时间复杂度2.4. 常见的时间复杂度2.5. 平均时间复杂度和最坏时间复杂度 3. 算法的空间复杂度…...
带有 RaspiCam 的 Raspberry Pi 监控和延时摄影摄像机
一、说明 一段时间以来,我一直想构建一个运动激活且具有延时功能的树莓派相机,但从未真正找到我喜欢的案例。我在thingiverse上找到了这个适合树莓派和相机的好案例。它是为特定的鱼眼相机设计的,但从模型来看,我拥有的廉价中国鱼…...
Apache Doris 在某工商信息商业查询平台的湖仓一体建设实践
作者|某工商信息商业查询平台 高级数据研发工程师 李昂 信息服务行业可以提供多样化、便捷、高效、安全的信息化服务,为个人及商业决策提供了重要支撑与参考。对于行业相关企业来说,数据收集、加工、分析能力的重要性不言而喻。以某工商信息…...
【尘缘送书第六期】2023年度学习:AIGC、AGI、GhatGPT、人工智能大模型实现必读书单
【文末送书】今天推荐几本AIGC、AGI、GhatGPT、人工智能大模型领域优质书籍。 目录 前言1 《ChatGPT 驱动软件开发》2 《ChatGPT原理与实战》3 《神经网络与深度学习》4 《AIGC重塑教育》5 《通用人工智能》6 文末送书 前言 2023年是人工智能大语言模型大爆发的一年࿰…...
我的 CSDN 三周年创作纪念日:2020-12-12
本人大叔一枚,自1992年接触电脑,持续了30年的业余电脑发烧爱好者,2022年CSDN博客之星Top58,阿里云社区“乘风者计划”专家博主。自某不知名财校毕业后进入国有大行工作至今,先后任职于某分行信息科技部、电子银行部、金…...
什么是css初始化
什么是css初始化 CSS初始化是指重设浏览器的样式。 因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面显示差异。 每次新开发网站或新网页时候通过初始化CSS样式的属性,为我们将用…...
谁会成为第一个MoE大模型基座呢?重磅!Mixtral MoE 8x7B!!!
文章目录 谁会成为第一个MoE大模型基座呢?重磅!Mixtral MoE 8x7B!!!前言重磅!Mixtral MoE 8x7B!!!Mixtral是啥模型介绍模型结构长啥样?表现如何?可…...
Linux升级nginx版本
处于漏洞修复目的服务器所用nginx是1.16.0版本扫出来存在安全隐患,需要我们升级到1.17.7以上。 一般nginx默认在 /usr/local/ 目录,这里我的nginx是自定义的路径安装在 /app/weblogic/nginx 。 1.查看生产环境nginx版本 cd /app/weblogic/nginx/sbin/…...
人工智能|网络爬虫——用Python爬取电影数据并可视化分析
一、获取数据 1.技术工具 IDE编辑器:vscode 发送请求:requests 解析工具:xpath def Get_Detail(Details_Url):Detail_Url Base_Url Details_UrlOne_Detail requests.get(urlDetail_Url, headersHeaders)One_Detail_Html One_Detail.cont…...
mac苹果笔记本电脑如何强力删除卸载app软件?
苹果电脑怎样删除app?不是把app移到废纸篓就行了吗,十分简单呢! 其实不然,因为在Mac电脑上,删除应用程序只是删除了应用程序的主要组件。大多数时候,系统会有一个相当长的目录,包含所有与应用程…...
net6中使用MongoDB
目录 一、MongoDB是什么? 二、使用步骤 1.安装驱动 2.设置连接字符串、配置类 3.建立实体类 4.服务层 5.在Program添加服务 6.在Controller注入服务 总结 一、MongoDB是什么? MongoDB 是一个开源的、可扩展的、跨平台的、面向文档的非关系型数据库&…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...
Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...
