摘要:一前言在上一篇文章里,我簡要介紹了插件開發的基本流程,同時講解了如何獲取文件夾絕對路徑和用戶輸入的方法。了一圈,發現介紹這方面的文章很少,特此記錄一下,希望對有類似需求的人有一些幫助。
一、前言
在上一篇文章里,我簡要介紹了 VSCode 插件開發的基本流程,同時講解了如何獲取文件夾絕對路徑和用戶輸入的方法。最近又開發了一個新的插件,主要用途是替換當前編輯文件的內容。google 了一圈,發現介紹這方面的文章很少,特此記錄一下,希望對有類似需求的人有一些幫助。
二、需求
需求很簡單,我需要將下面文件的內容:
export default { add_member# manage_member_card# member_setting# search_member# edit_member# delete_member# assign_consultant# add_member_tag# import_member# modify_member_point# };
替換為:
export default { add_member: "ce0", manage_member_card: "ce1", member_setting: "ce2", search_member: "ce3", edit_member: "ce4", delete_member: "ce5", assign_consultant: "ce6", add_member_tag: "ce7", import_member: "ce8", modify_member_point: "ce9", };
可以理解為一個簡單的自動化編號工具。其中要解決的問題主要有下面三個:
獲取當前文件路徑
讀取文件內容
寫文件內容
下面介紹如何實現。
三、實現
開始以為 VSCode 有現成的 API 可以取到當前文件內容,但找了一圈搜不到,只能通過迂回的方式實現。
第一步,獲取當前文件的路徑:
const currentlyOpenTabfilePath = vscode.window.activeTextEditor.document.fileName;
第二步,讀取文件內容,并拆分為數組
const fs = require("fs"); const fileContentArr = fs.readFileSync(currentlyOpenTabfilePath, "utf8").split(/ ? /);
第三步,寫文件。由于沒法逐行替換文件內容,只能現將原來的文件清空,再一行一行添加回去。
fs.truncateSync(currentlyOpenTabfilePath); fileContentArr.forEach( (line, index) => { let content = line; if (line.slice(-1) == "#") { content = xxxxx; } fs.appendFileSync(currentlyOpenTabfilePath, content + ((index == contentLength - 1) ? "" : " ")); })
四、總結
其實這個需求實現起來還是蠻簡單的,主要是要根據 VSCode 的特點將思路理順,再一步步實現。如果有更好的實現方式,請務必留言給我
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/100489.html
摘要:發布插件插件開發完后就可以發布了,需要安裝安裝完后,需要去注冊并生成一個。總結本文介紹了插件開發的基本流程,實現了一個簡單的插件。更多的開發技巧,可以看這個系列的第二篇插件開發介紹二 前言 前段時間做了一個基于命令行的效率工具,可以自動生成組件的模板代碼。自己用起來還覺得挺好,但在組內案例幾次后大家都不愿意用,究其原因還是命令行工具使用起來門檻有點高,不方便。由于組內已經統一使用VS ...
摘要:插件的詳細介紹由于越來越卡,有時敲一個回車都要一秒,實在是受不了,繼而轉向,用了一段時間發現在前端開發并不比差,而且又是微軟開發,感覺很有前途,最重要的是,打開速度非常快,即使打開大文件,也不會卡。 vs code Settings Sync 插件的詳細介紹 由于webstorm越來越卡,有時敲一個回車都要一秒,實在是受不了,繼而轉向vs code,用了一段時間發現vs code在前端...
摘要:插件折騰記一接上文更新一個可以更好的區分代碼嵌套關系的插件使用相同的顏色標識匹配同一組括號允許窺視與類字符串作為從文件到相應的定義,功能十分強大內聯加載文件并在那里進行快速編輯直接跳轉到文件或在新編輯器中打開它用鼠標懸停在符號上顯示定義搜索 vs code 插件折騰記(一)接上文更新 6.Bracket Pair Colorizer showImg(https://segmentfa...
摘要:插件折騰記一接上文更新一個可以更好的區分代碼嵌套關系的插件使用相同的顏色標識匹配同一組括號允許窺視與類字符串作為從文件到相應的定義,功能十分強大內聯加載文件并在那里進行快速編輯直接跳轉到文件或在新編輯器中打開它用鼠標懸停在符號上顯示定義搜索 vs code 插件折騰記(一)接上文更新 6.Bracket Pair Colorizer showImg(https://segmentfa...
閱讀 2368·2021-11-18 10:07
閱讀 2318·2021-09-22 15:59
閱讀 3077·2021-08-23 09:42
閱讀 2276·2019-08-30 15:44
閱讀 1191·2019-08-29 15:06
閱讀 2303·2019-08-29 13:27
閱讀 1210·2019-08-29 13:21
閱讀 1412·2019-08-29 13:13