Visual Studio代码:如何自动执行简单的正则表达式查找和替换?

时间:2018-04-03 13:59:19

标签: regex replace visual-studio-code vscode-tasks

我尝试在Visual Studio Code中创建一个简单的正则表达式查找和替换任务。

目前我从AD将一些用户复制到Visual Studio代码中的临时文件,并删除行开头的“CN =”和第一个“,”之后的所有附加信息(正则表达式:,。* $ )。这适用于VSCode中的查找和替换,但我每次要删除它时都手动键入它。

所以问题是,是否有可能实现这种任务的自动化?我知道有一些外部工具(https://code.visualstudio.com/docs/editor/tasks),但我很难让它工作......

编辑:请求的示例(我的正则表达式正在运行,这不是问题:/。我需要一个示例如何自动执行此任务...)

示例

CN=Test User,OU=Benutzer,OU=TEST1,OU=Vert,OU=ES1,OU=HEADQUARTERS,DC=esg,DC=corp

预期输出

Test User

3 个答案:

答案 0 :(得分:4)

此扩展程序完成了该任务:

https://marketplace.visualstudio.com/items?itemName=joekon.ssmacro#overview

正则表达式似乎遵循:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions

示例

创建文件 regex.json

[{
    "command": "ssmacro.replace",
    "args": {
        "info": "strip out EOL whitespace",
        "find": "\\s+$",
        "replace": "",
        "all": true,
        "reg": true,
        "flag": "gm"
    }
}]

"info"仅是提醒,不执行任何操作。

keybindings.json 中设置快捷方式:

"key": "ctrl+9",
"command": "ssmacro.macro", "args": {"path": "C:\\...\\regex.json"}

您可以[{...},{...}]一起批处理多个命令,这对于一次应用整套正则表达式操作很有用。

答案 1 :(得分:2)

到今天为止,似乎没有扩展名仍然是不可能的,但是接受的答案中的扩展名不是开源的,所以我想要另一个。我发现:

Batch Replacer(但不适用于在编辑器中打开的文档:“您必须打开一个文件夹才能进行编辑,并且其中的所有文件都将被更新。” *)< / p>

Replace Rules:您只需在settings.json中添加一些规则(使用F1ctrl+shift+p打开面板,然后选择Preferences: open settings (JSON))。

"replacerules.rules": {
    "Remove trailing and leading whitespace": {
        "find": "^\\s*(.*)\\s*$",
        "replace": "$1"
    },
    "Remove blank lines": {
        "find": "^\\n",
        "replace": "",
        "languages": [
            "typescript"
        ]
    }
}

答案 2 :(得分:0)

扩展文件夹是:%USERPROFILE%\.vscode\extensions