VsCode使用正则表达式批量查找替换

  1. proto2更新到proto3时,部分语法需要修改

以enum为例:

proto2中不需要显式声明默认值 0,而在proto3中,总是需要显示声明首行为0值

1
2
3
4
5
6
package protocol;

enum ErrCode {
OPRC_Sucess = 1; //成功
OPRC_Error = 2; //失败
}

然后就可以使用Vscode中的查找替换功能,使用正则语法进行匹配。

1
2
3
查找正则:(enum )([a-z,A-Z]+)([\space]*)([\{]{1})
替换语法:$1$2$3$4\n$2_Default = 0 ; //enum默认值0
// $对应查找正则中的(),$1后的数字对应()的顺序,可直接使用VsCode预览替换前后内容

类似的操作:

1
2
3
4
新增头文件 syntax = "proto3";
(package protocol;) ---> syntax = "proto3";\n$1
去除 requiredoptional
(required ) --->