亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Visual Studio Code:用于編輯源代碼編號和除以二的自定義快捷方式

Visual Studio Code:用于編輯源代碼編號和除以二的自定義快捷方式

胡子哥哥 2023-04-25 16:29:59
我不認為有辦法做到這一點,但我想我還是會問...可以說我在 python 腳本中有數百個數字,所有數字都需要除以 2。有沒有辦法創建鍵盤快捷方式所以我可以突出顯示一個數字,按快捷方式,它會自動替換為減半的金額?例如,下面的源代碼我需要第一行從0:4to轉換0:2,第二行從4:16to轉換2:8。我會手動完成,但現在有數百個數字需要轉換。Visual Studio 代碼是我正在使用的 IDE。test1 = word[0:4]test2 = word[4:16]test3 = word[16:32]test4 = word[32:1024]test5 = word[1024:1086]test6 = word[1086:1900]test7 = word[1900:2000]test8 = word[2000:3000]
查看完整描述

3 回答

?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

假設您正在使用 VS 代碼作為 IDE 并且正在尋找編輯源代碼(而不是任意文本文件),那么在 VS 代碼中您可以做的最好的事情可能是使用帶有正則表達式的查找替換(確保您選擇“使用正則表達式” ,alt+R默認情況下):


搜索word\[(\d+):(\d+)\]并替換為word[$1/2:$2/2],結果將是


test1 = word[0/2:4/2]

test2 = word[4/2:16/2]

test3 = word[16/2:32/2]

test4 = word[32/2:1024/2]

test5 = word[1024/2:1086/2]

test6 = word[1086/2:1900/2]

test7 = word[1900/2:2000/2]

test8 = word[2000/2:3000/2]

這將在運行時評估您需要的輸出。


查看完整回答
反對 回復 2023-04-25
?
莫回無

TA貢獻1865條經驗 獲得超7個贊

您可以在替換過程中用表達式的實際值替換數字,擴展名為Regex Text Generator?v0.8.0

您首先選擇與 DeepSpace 使用的相同正則表達式匹配的所有文本部分,然后使用相同的正則表達式提取每個選擇的捕獲組,并將它們用作生成文本并可以執行計算的不同正則表達式中的數值。

將使用過的正則表達式作為注釋文本放入文件中會很方便。您可以復制部分文件并將其粘貼到擴展的 InputBoxes 中。

#?orig?regex:?word\[(\d+):(\d+)\]
#?generate?regex:?word\[{{=N[1]/2}}:{{=N[2]/2}}\]
  1. word\[(\d+):(\d+)\]在“查找”對話框中粘貼第一個正則表達式并勾選正則表達式按鈕 (?.*)。如果在打開“查找”對話框時仍選擇正則表達式,它將轉義很多字符,只需粘貼正確的版本

  2. 在文檔中單擊,使焦點不再位于“查找”對話框中

  3. 選擇與查找正則表達式匹配的所有字符串:Ctrl+?Shift+L

  4. 啟動命令:Generate text based on Regular Expression (regex)Ctrl++ShiftP

  5. 將仍在剪貼板中的第一個正則表達式粘貼到Match Original Text Regular Expression輸入框中,然后按Enter

  6. 選擇生成正則表達式并將其復制粘貼到下一個輸入框Generator Regular Expression

  7. 替換結果顯示在編輯器中,您可以接受Enter或拒絕Esc

測試文件的結果將是:

test1 = word[0:2]

test2 = word[2:8]

test3 = word[8:16]

test4 = word[16:512]

test5 = word[512:543]

test6 = word[543:950]

test7 = word[950:1000]

test8 = word[1000:1500]

如果您需要定期執行此操作,您可以定義一個鍵盤快捷鍵,將使用的正則表達式輸入輸入框,并允許您在需要時修改它們。


? {

? ? "key": "ctrl+f10",

? ? "when": "editorTextFocus",

? ? "command": "regexTextGen.generateText",

? ? "args": {

? ? ? "originalTextRegex" : "word\\[(\\d+):(\\d+)\\]",

? ? ? "generatorRegex" : "word\\[{{=N[1]/2}}:{{=N[2]/2}}\\]",

? ? ? "useInputBox" : true

? ? }

? }

現在使用鍵盤快捷鍵完成了步驟 4 .. 7。


查看完整回答
反對 回復 2023-04-25
?
慕容708150

TA貢獻1831條經驗 獲得超4個贊

  1. 查找:word\[(\d+):(\d+)\] 替換:word[$1/2:$2/2]來自@DeepSpace

  2. 查找:\d+/\d+ 查找所有num/num2 [不替換]

  3. CtrlShift+分別L選擇所有的num/num2

  4. Emmet: Evaluate Math Expression從命令面板運行(或將其綁定到鍵綁定)

Emmet 可以做這種數學運算。


查看完整回答
反對 回復 2023-04-25
  • 3 回答
  • 0 關注
  • 168 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號