IDEA插件系列(81):Shifter插件——字符串操作

Posted 二木成林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA插件系列(81):Shifter插件——字符串操作相关的知识,希望对你有一定的参考价值。

1.插件介绍

Shifter插件。

当被调用时,Shifter 检测当前行或插入符号处的关键字中的选择类型(或让用户在不明确时选择)并执行可能的字符串操作。

如果一行中只有一个可移动的单词,则无需插入符号即可对其进行移动。保留小写/大写或小写,在移位的单词中保留大写的第一个字符。

基本的快捷键是如下四个:

Ctrl+Shift+Alt+,    ——    下移
Ctrl+Shift+Alt+.    ——    上移
Ctrl+Shift+Alt+K    ——    上移更多
Ctrl+Shift+Alt+J    ——    下移更多

常用的操作如下:

类型排序

  • 移动多行选择按字母升序/降序对行进行排序。
  • 移动单行选择,即以逗号或竖线分隔的列表,按升序/降序对项目进行排序。
  • 移动单行选择,即 XML 属性-值对,按字母顺序对它们进行排序。
  • 移动单行选择,即 tupel,翻转项目的顺序(分隔符:“:”、“|”、“、”、“-”、“+”、“<”、“>”、“< = ", " >= ", " == ", " != ", " === ", " !== ", " || ")
  • 移动一个驼峰式(带小写或大写)单词对的选择,翻转单词的顺序。
  • 移动选定的 AND && 或 OR || 与两个操作数的逻辑连接,交换操作数的顺序
  • 移动选定的(从问号开始)三元表达式,交换“than”和“else”语句
  • 从两个字符串/变量中移动选定的 php 连接,切换连接项目的顺序
  • 从 CSS 文件中移动一个选择,对它们的选择器中的所有属性进行排序(按字母顺序,最后是供应商属性和供应商样式)
  • 在 CSS(或 LESS 或 SASS)文件中移动选定的属性样式行,对它们进行排序(按字母顺序,最后是供应商属性和供应商样式)

数字移位

  • 数值 - 递增/递减数字
  • 以数字结尾的字符串 - 增加/减少后缀
  • 数字块选择:打开对话框选择: 1. in/decrement each 或: 2. 替换为枚举
  • UNIX(和基于毫秒的)时间戳 - 增加/减少一天,以人类可读的格式显示带有偏移日期的气球信息
  • CSS hex RGB 颜色 - 改变颜色值更亮/更暗
  • CSS 长度值 - 将数字长度值向上/向下移动 1(单位:em、in、px、pt、cm、rem、vw、vh、vmin、vmax)
  • 增加/减少罗马数字

字符串操作

  • 在单行内移动选择:检测和交换字符:单引号与双引号或斜杠与反斜杠
  • 移动选定的(或接触 a 的插入符号)驼峰式字符串,将其转换为减号或下划线分隔的路径(反之亦然)
  • 用单/双引号和反引号包裹的字符串 - 按字母顺序切换到当前文档中找到的下一个/上一个引用的字符串
  • 括号:由圆括号、方括号或大括号包围的字符串:将“(”和“)”周围的“[”和“]”切换到“{”和“}”
  • 逻辑运算符:在(选定的)“&&”和“||”之间切换
  • 选定特殊字符的 html 编码/解码
  • 单个字符和由任意数量的相同字符组成的字符串可以移动到上一个/下一个 ASCII 值
  • 移动选择时可以取消转义的单引号或双引号

代码和文档注释

  • 选择是块注释或多行注释(例如 PHP、javascript、C 语法)- 在注释类型之间切换(//... 与 /*...*/)。将多行注释合并为 1 行。
  • 以尾随 //-comment 结尾的选定代码行 - 将注释移动到代码之前的新行中
  • PHP / PHTML 文件中的选定 HTML 注释:将其转换为 PHP 块注释(反之亦然)
  • PHPDoc:移动包含带有变量名但没有数据类型的@param 注释的选定 PHP 文档注释块,猜测和插入数据类型
  • PHPDoc:当插入符号位于不包含数据类型的@param 注释内时进行移动,插入数据类型(从变量名称猜测)
  • JsDOC:在 "@param"、"@returns" 或 "@type" 注释内,使用插入符号接触未包含在大括号中的数据类型进行移动:添加缺少的大括号
  • 选定的 JsDoc 块:将“@return”转换为“@returns”,在“@param”、“@returns”和“@type”行中的数据类型周围添加缺失的大括号,将无效数据类型更正为现有数据类型(bool = > boolean, int(eger) => number), 减少空的 JsDoc 行

PHP、JavaScript 和 TypeScript 转换

  • PHP 变量 - 按字母顺序移动到当前文档中找到的下一个/上一个变量(“移动更多”移动直到第一个变量具有不同的第一个字母)
  • 选定的 PHP 数组 - 在长语法和速记语法之间转换(PHP >= 5.4)
  • Selection 是 Sizzle-Selector - 将选择器转换为相应的 JavaScript 变量声明
  • 连续选择多个 JavaScript var 声明 - 加入多个逗号分隔的声明
  • 选定的弃用 jQuery 观察器方法已现代化,例如“.click(”变为“.on('click',”:事件类型:blur、change、click、dblclick、error、focus、keypress、keydown、keyup、load、mouseenter, mouseleave,调整大小,提交,滚动,卸载
  • TypeScript 文件中选定的 JavaScript 字符串连接 - 转换为 TypeScript 字符串插值

Dictionaric Keyword Shifting
Shifter 带有一个可定制的、特定于文件扩展名且全球可用的可移动关键字字典。默认字典中的一些关键字类型:

  • PHP 核心魔法常量 - 改变 PHP 的魔法常量(__FILE__/__LINE__ 等)
  • CSS 方向和定位:上/右/下/左和绝对/相对,以及地理方向(北/东/南/西)
  • 可访问性类型:公共/私有/受保护
  • mysql 数据类型:转移到下一个更大/更小的数字/字符串类型
  • Java、JavaScript、PHP、Objective-C 的原始数据类型
  • 文档注释标签(Java、JavaScript、PHP)
  • JavaScript 事件类型(鼠标、键盘、框架/对象、表单、控件、触摸)
  • 来自 sRGB 颜色空间的命名颜色(白色/浅灰色/灰色...)
  • 文本样式(粗体、斜体...)
  • 网络图像(gif/jpg/png)和音频(au/aif/wav 等)格式扩展
  • 月份和工作日的全称和缩写名称以及时间单位
  • 逻辑运算符(和/或/异或/非)、算术运算(加/减...)和算术元素(和/差/积...)
  • 元语法术语:foo/bar/baz...
  • 常用数据集合类型的名称(列表/集合/包/字典/树...)
  • 数字名称(一/二/三等)和序数(第一/第二/第三等)
  • 布尔(配对)关键字值 - 切换真/假、开/关、是/否(例如 Objective-C)、显示/隐藏、显示/隐藏、正/负、从/直到、启用(d)/禁用(d )、通过/失败、最小/最大、展开/折叠、升序/降序、第一个/最后一个

2.安装方式

第一种方式,是在IDEA上搜索插件进行安装,会适配当前IDEA的版本。

 第二种安装方式是使用离线插件进行安装。

插件下载地址:https://plugins.jetbrains.com/plugin/6149-shifter

3.使用方法

对于该插件的使用方法,其实很简单,虽然上面贴出了很多功能。

选中一个字符串或某一行,按上面提供的四个快捷键之一,就可以选择操作或者进行操作(这个插件会自动判断选中内容然后进行操作)。

例如:

 

 还有一些配置:

以上是关于IDEA插件系列(81):Shifter插件——字符串操作的主要内容,如果未能解决你的问题,请参考以下文章

10个最有用的 IntelliJ IDEA 插件

IDEA插件系列:插件系列目录

IDEA插件系列(50):GlassCode ​(For Windows)​插件——IDEA完全透明

IDEA插件系列(105):IDEA Mind Map插件——IDEA思维导图

IDEA插件系列(47):LongTimeToDate插件——日期转换

IDEA插件系列(68):SmartSemicolon插件——智能分号