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

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

蓝桥杯 冶炼金属

原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...

R语言速释制剂QBD解决方案之三

本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found"​, "n…...