ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

粘贴杀手

kyamaguchi ST3

Sublime Text 3 插件,用于帮助重构重复代码

详情

  • 1.2.0
  • github.com
  • github.com
  • 5年前
  • 2小时前
  • 5年前

安装

  • 总数 218
  • Win 134
  • Mac 65
  • Linux 19
2021年8月6日 2021年8月5日 2021年8月4日 2021年8月3日 2021年8月2日 2021年8月1日 2021年7月31日 2021年7月30日 2021年7月29日 2021年7月28日 2021年7月27日 2021年7月26日 2021年7月25日 2021年7月24日 2021年7月23日 2021年7月22日 2021年7月21日 2021年7月20日 2021年7月19日 2021年7月18日 2021年7月17日 2021年7月16日 2021年7月15日 2021年7月14日 2021年7月13日 2021年7月12日 2021年7月11日 2021年7月10日 2021年7月9日 2021年7月8日 2021年7月7日 2021年7月6日 2021年7月5日 2021年7月4日 2021年7月3日 2021年7月2日 2021年7月1日 2021年6月30日 2021年6月29日 2021年6月28日 2021年6月27日 2021年6月26日 2021年6月25日 2021年6月24日 2021年6月23日
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MacOS 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

README

源代码
raw.githubusercontent.com

CopyPasteKiller 插件

Sublime Text 3 插件,帮助重构重复代码。

该命令将正则表达式“查找和替换”片段设置。
您可以找到任何代码块,无需关心缩进和一些差异,如变量名。
您可以通过更改给定的'replace_string'并点击“替换”来用重构的代码替换这些匹配项。

0x_git_diff

使用方法

您可以声明快捷方式,例如

{ "keys": ["ctrl+shift+i"], "command": "copy_paste_killer" }

指南

选择行

01_select_lines

运行“copy_paste_killer”命令

为“查找”和“替换”设置片段

您可以使用设置keep_panels_open配置是否打开片段面板

02_run_copy_paste_killer

更改“查找”片段

在“查找”片段中找到有变化的部分(例如变量名)并选择它们

03_edit_find_string

使用正则表达式替换变量

在“查找”片段中使用正则表达式替换变量名部分
您可以按照自己的方式命名正则表达式组

命名正则表达式组的典型格式是 (?<name>.*)

将片段复制到“查找:”
“全选 ⌘A” -> “使用选择进行查找 ⌘E”

04_change_variable_to_regex

点击“查找”并确认匹配项

即使它们有不同的缩进和不同的变量名,您也可以找到重复的代码

05_confirm_find

更改“替换”片段

使用在“查找”中命名的正则表达式组更改“替换”片段
格式是 $+{name}

将片段复制到“替换:”
“全选 ⌘A” -> “使用选择进行替换 ⇧⌘E”

06_edit_replace_string

点击“替换”并确认更改

点击“替换”并确认更改是否如预期

07_replace_matches

检查更改

使用git diff检查更改

如果替换有误,则使用git checkout等重置(撤销)更改

08_git_diff

设置

keep_panels_open(默认为true)- 配置是否打开片段面板

测试

单元测试插件

使用单元测试插件

  • 打开tests/test_copy_paste_killer_selection_converter.py
  • 打开“命令面板…”(⇧⌘P)
  • 运行 "UnitTesting: Test Current File"

测试场景

  • "tests/data/*_source.txt" -> 预期选区片段
  • "tests/data/*_find.txt" -> 预期 find_string 片段
  • "tests/data/*_replace.txt" -> 预期 replace_string 片段

手动测试

当 replace_string 不变时,任何选区都不应随“copy_paste_killer”命令以及“查找”和“替换”操作而改变。