簡體   English   中英

Visual Studio Code:如何自動執行簡單的正則表達式查找和替換?

[英]Visual Studio Code: How to automate a simple regex-find and replace?

我嘗試在 Visual Studio Code 中創建一個簡單的正則表達式查找和替換任務。

目前,我將一些用戶從 AD 復制到 Visual Studio 代碼中的臨時文件,並刪除行開頭的“CN=”和第一個“,”之后的所有附加信息(正則表達式:,.*$)。 這適用於 VSCode 中的 Find&Replace,但每次我想刪除它時,我都必須手動輸入它。

所以問題是,是否有可能自動化這種任務? 我知道有一些外部工具( 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

此擴展程序可以完成以下工作:

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"}

您可以將多個命令一起批處理[{...},{...}] ,這對於一次性應用一整套正則表達式操作非常有用。

截至今天,如果沒有擴展,似乎仍然不可能。 除了已接受的答案中提出的擴展之外,這里還有另外 2 個擴展(兩者都是開源的):

Batch Replacer (但它不適用於在編輯器中打開的文檔:“您必須打開一個文件夾進行編輯,並且其中的所有文件都將被更新。” *

替換規則:您只需在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"
        ]
    }
}

擴展文件夾是: %USERPROFILE%\\.vscode\\extensions

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM