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