当前位置: 首页 > news >正文

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.txtPattern

  • 参考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 + EnterShow 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 + FFind in path
Ctrl + Shift + RReplace 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自动补齐
⌘///
⌥⌘//**/
⌘NGenerate 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
⌥F7Find usages
⌘⌥F7Show usages
⌘⇧F7Highlight usages in file
Refactoring
⌃TRefactor This (shows all available refactorings)
F5 / F6Copy/Move (文件、类、函数、变量...)
Shift F6Rename (文件、类、函数、变量...)
⌘deletesafe Delete
Running
⌃⇧R / ⌃⇧D运行当前文件代码
⌘⇧X运行控制台命令
Navigation
⌥F1Select In...
⌘B / ⌘+ClickDeclaration
⌘F12File Structure
⌘L跳转至某一行
⌘O / ⇧⌘O打开类
⌘W关闭当前Tab
⌥⌘→ / ⌥⌘←切换Tab (修改为与Chrome一致)
⌘ERecent Files
⇧⌘ERecent Changed Files
⌘[Back
⌘[Forward
F2Next Highlighted Error
⇧F2Previous Highlighted Error
⌃⌥HCall hierarchy
VCS/Local History
⌃V‘VCS’ quick popup
⌘KCommit
⌘TUpdate project
⌘⇧出现文件导航 (全屏编辑文件时有用)
⌘↓新窗口编辑文件(=双击)
General
⇧⇧查找任何地方 (文件、工具栏、配置)
⌘,打开Preference
⌘N新建文件
⌘⇧XUpload 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以上版本,激活检测机制变成了动态封禁域名,导致大部分域名激活被屏蔽了&#xff0…...

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年是人工智能大语言模型大爆发的一年&#xff0…...

我的 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 是一个开源的、可扩展的、跨平台的、面向文档的非关系型数据库&…...

华为云AI开发平台ModelArts

华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: ​onCreate()​​ ​调用时机​:Activity 首次创建时调用。​…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...

渗透实战PortSwigger Labs指南:自定义标签XSS和SVG XSS利用

阻止除自定义标签之外的所有标签 先输入一些标签测试&#xff0c;说是全部标签都被禁了 除了自定义的 自定义<my-tag onmouseoveralert(xss)> <my-tag idx onfocusalert(document.cookie) tabindex1> onfocus 当元素获得焦点时&#xff08;如通过点击或键盘导航&…...