亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種操作數(shù)據(jù)庫(kù)的方法及裝置與流程

文檔序號(hào):12595532閱讀:199來源:國(guó)知局
一種操作數(shù)據(jù)庫(kù)的方法及裝置與流程

本發(fā)明涉及計(jì)算機(jī)程序開發(fā)技術(shù)領(lǐng)域,更具體地,涉及一種操作數(shù)據(jù)庫(kù)的方法及裝置。



背景技術(shù):

隨著計(jì)算機(jī)信息技術(shù)的快速發(fā)展,技術(shù)人員在進(jìn)行程序開發(fā)時(shí),通常需要執(zhí)行數(shù)據(jù)庫(kù)命令來測(cè)試程序在調(diào)用數(shù)據(jù)庫(kù)時(shí)的輸出結(jié)果。由于當(dāng)數(shù)據(jù)庫(kù)命令較復(fù)雜時(shí),如何執(zhí)行數(shù)據(jù)庫(kù)命令影響著開發(fā)效率,從而如何執(zhí)行數(shù)據(jù)庫(kù)命令是個(gè)重點(diǎn)問題?,F(xiàn)有操作數(shù)據(jù)庫(kù)的方法主要是技術(shù)人員先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)客戶端實(shí)例,并在數(shù)據(jù)庫(kù)客戶端實(shí)例中手動(dòng)鍵入數(shù)據(jù)庫(kù)命令,從而通過數(shù)據(jù)庫(kù)客戶端實(shí)例執(zhí)行數(shù)據(jù)庫(kù)命令。

在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:由于當(dāng)數(shù)據(jù)庫(kù)命令較復(fù)雜時(shí),手動(dòng)鍵入數(shù)據(jù)庫(kù)命令需要耗費(fèi)大量時(shí)間,且鍵入時(shí)容易出錯(cuò),從而導(dǎo)致對(duì)數(shù)據(jù)庫(kù)操作時(shí)不太方便,數(shù)據(jù)庫(kù)命令的執(zhí)行效率較低。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明提供克服上述問題或者至少部分地解決上述問題的一種操作數(shù)據(jù)庫(kù)的方法及裝置。

根據(jù)本發(fā)明的一方面,提供了一種操作數(shù)據(jù)庫(kù)的方法,該方法包括:

基于顯示的文本內(nèi)容,當(dāng)檢測(cè)到拓展程序啟動(dòng)時(shí),獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容,顯示的文本內(nèi)容至少包含數(shù)據(jù)庫(kù)命令行;

根據(jù)目標(biāo)文本內(nèi)容,向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令行;

獲取數(shù)據(jù)庫(kù)服務(wù)器的返回結(jié)果;

在輸出窗口中顯示返回結(jié)果。

根據(jù)本發(fā)明的另一方面,提供了一種操作數(shù)據(jù)庫(kù)的裝置,該裝置包括:

第一獲取模塊,用于基于顯示的文本內(nèi)容,當(dāng)檢測(cè)到拓展程序啟動(dòng)時(shí),獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容,顯示的文本內(nèi)容至少包含數(shù)據(jù)庫(kù)命令行;

發(fā)送模塊,用于根據(jù)目標(biāo)文本內(nèi)容,向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令行;

第二獲取模塊,用于獲取數(shù)據(jù)庫(kù)服務(wù)器的返回結(jié)果;

顯示模塊,用于在輸出窗口中顯示返回結(jié)果。

本申請(qǐng)?zhí)岢龅募夹g(shù)方案帶來的有益效果是:

通過基于顯示的文本內(nèi)容,當(dāng)檢測(cè)到拓展程序啟動(dòng)時(shí),獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容。根據(jù)目標(biāo)文本內(nèi)容,向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令行。獲取數(shù)據(jù)庫(kù)服務(wù)器的返回結(jié)果。在輸出窗口中顯示返回結(jié)果。由于可基于啟動(dòng)的拓展程序,根據(jù)打開的文本文件中顯示的文本內(nèi)容,來執(zhí)行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令,而不用復(fù)制或手動(dòng)鍵入數(shù)據(jù)庫(kù)命令,從而節(jié)省了數(shù)據(jù)庫(kù)命令執(zhí)行時(shí)的命令輸入時(shí)間,進(jìn)而提高了數(shù)據(jù)庫(kù)命令的執(zhí)行效率。

另外,由于在預(yù)設(shè)文本編輯器中可打開多個(gè)文本文件,當(dāng)用戶需要執(zhí)行大量數(shù)據(jù)庫(kù)命令時(shí),可將數(shù)據(jù)庫(kù)命令拆分成多個(gè)文本文件,通過打開多個(gè)文本文件分別執(zhí)行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令,從而能夠便于用戶對(duì)數(shù)據(jù)庫(kù)命令的執(zhí)行流程進(jìn)行管理。

附圖說明

圖1為本發(fā)明實(shí)施例的一種操作數(shù)據(jù)庫(kù)的方法的流程示意圖;

圖2為本發(fā)明實(shí)施例的一種操作數(shù)據(jù)庫(kù)的方法的流程示意圖;

圖3為本發(fā)明實(shí)施例的一種文本內(nèi)容的顯示示意圖;

圖4為本發(fā)明實(shí)施例的一種數(shù)據(jù)庫(kù)命令執(zhí)行結(jié)果的顯示示意圖;

圖5為本發(fā)明實(shí)施例的一種操作數(shù)據(jù)庫(kù)的裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。

現(xiàn)有操作數(shù)據(jù)庫(kù)的方法主要是由技術(shù)人員先通過數(shù)據(jù)庫(kù)軟件創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)客戶端實(shí)例,并在數(shù)據(jù)庫(kù)客戶端實(shí)例中手動(dòng)鍵入數(shù)據(jù)庫(kù)命令。或者,復(fù)制一段數(shù)據(jù)庫(kù)命令至數(shù)據(jù)庫(kù)客戶端實(shí)例。由于上述兩種方式都需要手動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)客戶端實(shí)例,且無論是手動(dòng)鍵入還是復(fù)制數(shù)據(jù)庫(kù)命令均耗費(fèi)較長(zhǎng)時(shí)間并容易出錯(cuò),從而導(dǎo)致對(duì)數(shù)據(jù)庫(kù)操作時(shí)不太方便,數(shù)據(jù)庫(kù)命令的執(zhí)行效率較低。

針對(duì)現(xiàn)有技術(shù)中的問題,本發(fā)明實(shí)施例提供了一種操作數(shù)據(jù)庫(kù)的方法。本實(shí)施例及后續(xù)實(shí)施例所提供的一種操作數(shù)據(jù)庫(kù)的方法,適用于安裝任一類型操作系統(tǒng)的終端。其中,適用的操作系統(tǒng)可以為Windows操作系統(tǒng)、Linux操作系統(tǒng)或OS X操作系統(tǒng),本實(shí)施例對(duì)此不作具體限定。參見圖1,本實(shí)施例提供的方法流程包括:101、基于顯示的文本內(nèi)容,當(dāng)檢測(cè)到拓展程序啟動(dòng)時(shí),獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容;102、根據(jù)目標(biāo)文本內(nèi)容,向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令行;103、獲取數(shù)據(jù)庫(kù)服務(wù)器的返回結(jié)果;104、在輸出窗口中顯示返回結(jié)果。

其中,顯示的文本內(nèi)容至少包含數(shù)據(jù)庫(kù)命令行,本實(shí)施例及后續(xù)實(shí)施例對(duì)此不作具體限定。數(shù)據(jù)庫(kù)服務(wù)器可以為Redis服務(wù)器、SSDB服務(wù)器或Hbase服務(wù)器等,本實(shí)施例及后續(xù)實(shí)施例對(duì)此不作具體限定。

本發(fā)明實(shí)施例提供的方法,通過基于顯示的文本內(nèi)容,當(dāng)檢測(cè)到拓展程序啟動(dòng)時(shí),獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容。根據(jù)目標(biāo)文本內(nèi)容,向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令行。獲取數(shù)據(jù)庫(kù)服務(wù)器的返回結(jié)果。在輸出窗口中顯示返回結(jié)果。由于可基于啟動(dòng)的拓展程序,根據(jù)打開的文本文件中顯示的文本內(nèi)容,來執(zhí)行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令,而不用復(fù)制或手動(dòng)鍵入數(shù)據(jù)庫(kù)命令,從而節(jié)省了數(shù)據(jù)庫(kù)命令執(zhí)行時(shí)的命令輸入時(shí)間,進(jìn)而提高了數(shù)據(jù)庫(kù)命令的執(zhí)行效率。

另外,由于在預(yù)設(shè)文本編輯器中可打開多個(gè)文本文件,當(dāng)用戶需要執(zhí)行大量數(shù)據(jù)庫(kù)命令時(shí),可將數(shù)據(jù)庫(kù)命令拆分成多個(gè)文本文件,通過打開多個(gè)文本文件分別執(zhí)行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令,從而能夠便于用戶對(duì)數(shù)據(jù)庫(kù)命令的執(zhí)行流程進(jìn)行管理。

作為一種可選實(shí)施例,獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容之前,還包括:

檢測(cè)用戶對(duì)文本文件的打開指令;

當(dāng)檢測(cè)到打開指令時(shí),通過預(yù)設(shè)文本編輯器,顯示用戶打開的目標(biāo)文本文件中的文本內(nèi)容。

其中,預(yù)設(shè)文本編輯器可以為程序開發(fā)所使用的開源文本編輯器,如Visual Studio Code(簡(jiǎn)稱VS Code)、Sublime Text、Atom、VIM或Notepad++等,本實(shí)施例及后續(xù)實(shí)施例對(duì)此不作具體限定。

作為一種可選實(shí)施例,獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容之前,還包括:

當(dāng)檢測(cè)到用戶對(duì)預(yù)設(shè)快捷鍵的輸入指令時(shí),啟動(dòng)拓展程序;

或者,當(dāng)檢測(cè)到用戶對(duì)右鍵菜單中預(yù)設(shè)選項(xiàng)的選中指令時(shí),啟動(dòng)拓展程序。

作為一種可選實(shí)施例,獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容,包括:

檢測(cè)用戶對(duì)文本內(nèi)容的選中指令;

當(dāng)檢測(cè)到選中指令時(shí),根據(jù)選中指令所對(duì)應(yīng)的文本選中范圍,獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容。

作為一種可選實(shí)施例,檢測(cè)用戶對(duì)文本內(nèi)容的選中指令之后,還包括:

當(dāng)未檢測(cè)到選中指令時(shí),獲取文本內(nèi)容,并將文本內(nèi)容作為用戶要執(zhí)行的目標(biāo)文本內(nèi)容。

作為一種可選實(shí)施例,根據(jù)目標(biāo)文本內(nèi)容,向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令行之前,還包括:

創(chuàng)建數(shù)據(jù)庫(kù)客戶端實(shí)例;

通過數(shù)據(jù)庫(kù)客戶端實(shí)例,連接數(shù)據(jù)庫(kù)服務(wù)器。

作為一種可選實(shí)施例,通過數(shù)據(jù)庫(kù)客戶端實(shí)例,連接數(shù)據(jù)庫(kù)服務(wù)器,包括:

獲取文本內(nèi)容中的預(yù)設(shè)連接地址;

通過數(shù)據(jù)庫(kù)客戶端實(shí)例,連接預(yù)設(shè)連接地址對(duì)應(yīng)的數(shù)據(jù)庫(kù)服務(wù)器。

作為一種可選實(shí)施例,獲取文本內(nèi)容中的預(yù)設(shè)連接地址,包括:

對(duì)文本內(nèi)容中的每一行內(nèi)容進(jìn)行檢測(cè);

當(dāng)在任一行內(nèi)容中檢測(cè)到第一預(yù)設(shè)字符時(shí),獲取任一行內(nèi)容中第一預(yù)設(shè)字符后面的字符串,將字符串作為預(yù)設(shè)連接地址。

作為一種可選實(shí)施例,對(duì)文本內(nèi)容中的每一行內(nèi)容進(jìn)行檢測(cè)之后,包括:

當(dāng)在每一行內(nèi)容中未檢測(cè)到第一預(yù)設(shè)字符或第一預(yù)設(shè)字符后面為空字符串時(shí),通知用戶無法連接數(shù)據(jù)庫(kù)服務(wù)器。

作為一種可選實(shí)施例,根據(jù)目標(biāo)文本內(nèi)容,向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令行,包括:

根據(jù)目標(biāo)文本內(nèi)容中的第二預(yù)設(shè)字符,將目標(biāo)文本內(nèi)容拆分成數(shù)據(jù)庫(kù)命令行集合;

基于數(shù)據(jù)庫(kù)命令行集合,向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令及參數(shù)。

作為一種可選實(shí)施例,基于數(shù)據(jù)庫(kù)命令行集合,向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令行,包括:

對(duì)于數(shù)據(jù)庫(kù)命令行集合中任一數(shù)據(jù)庫(kù)命令行,當(dāng)檢測(cè)到任一數(shù)據(jù)庫(kù)命令行不為空且不包含第一預(yù)設(shè)字符時(shí),獲取任一數(shù)據(jù)庫(kù)命令行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令及參數(shù)。

向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送任一數(shù)據(jù)庫(kù)命令行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令及參數(shù)。

作為一種可選實(shí)施例,在輸出窗口中顯示返回結(jié)果,包括:

向輸出窗口寫入返回結(jié)果;

通過調(diào)用輸出窗口實(shí)例的顯示方法,在輸出窗口中顯示返回結(jié)果。

作為一種可選實(shí)施例,向輸出窗口寫入返回結(jié)果,包括:

獲取返回結(jié)果的數(shù)據(jù)類型;

當(dāng)返回結(jié)果的數(shù)據(jù)類型為數(shù)字時(shí),向輸出窗口寫入返回?cái)?shù)字對(duì)應(yīng)的數(shù)據(jù)類型及返回的數(shù)字;

當(dāng)返回結(jié)果的數(shù)據(jù)類型為字符串時(shí),向輸出窗口寫入返回的字符串;

當(dāng)返回結(jié)果的數(shù)據(jù)類型為空對(duì)象時(shí),向輸出窗口寫入預(yù)設(shè)關(guān)鍵字;

當(dāng)返回結(jié)果的數(shù)據(jù)類型為對(duì)象時(shí),將返回的對(duì)象轉(zhuǎn)換為字符串,向輸出窗口寫入轉(zhuǎn)換后的字符串。

作為一種可選實(shí)施例,預(yù)設(shè)文本編輯器為VS Code,數(shù)據(jù)庫(kù)服務(wù)器為Redis服務(wù)器,獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容,包括:

調(diào)用vscode.window.activeTextEditor.selection.isEmpty接口,檢測(cè)用戶是否對(duì)文本內(nèi)容進(jìn)行選中;

基于接口返回的數(shù)值,當(dāng)檢測(cè)到用戶對(duì)文本內(nèi)容進(jìn)行選中時(shí),以vscode.window.activeTextEditor.selection為參數(shù),調(diào)用vscode.window.activeTextEditor.document.getText方法獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容;

當(dāng)檢測(cè)到用戶未對(duì)文本內(nèi)容進(jìn)行選中時(shí),調(diào)用vscode.window.activeTextEditor.document.getText方法,獲取文本內(nèi)容,并將文本內(nèi)容作為用戶要執(zhí)行的目標(biāo)文本內(nèi)容。

上述所有可選技術(shù)方案,可以采用任意結(jié)合形成本發(fā)明的可選實(shí)施例,在此不再一一贅述。

基于上述圖1對(duì)應(yīng)實(shí)施例中的內(nèi)容,本發(fā)明實(shí)施例提供了一種操作數(shù)據(jù)庫(kù)的方法。為了便于對(duì)方案進(jìn)行闡述,本實(shí)施例以預(yù)設(shè)文本編輯器為VS Code,數(shù)據(jù)庫(kù)為Redis為例,來對(duì)數(shù)據(jù)庫(kù)命令執(zhí)行方法的過程進(jìn)行說明。其中,VS Code是一個(gè)由微軟開發(fā)且同時(shí)支持Windows、Linux及OS X操作系統(tǒng)的開源文本編輯器,VS Code支持?jǐn)U展程序并內(nèi)置了擴(kuò)展程序管理功能。Redis是一個(gè)開源、支持網(wǎng)絡(luò)且基于內(nèi)存的鍵值對(duì)存儲(chǔ)數(shù)據(jù)庫(kù)。

參見圖2,本實(shí)施例提供的方法流程包括:201、檢測(cè)用戶對(duì)文本文件的打開指令;202、當(dāng)檢測(cè)到打開指令時(shí),通過VS Code顯示用戶打開的目標(biāo)文本文件中的文本內(nèi)容;203、基于顯示的文本內(nèi)容,當(dāng)檢測(cè)到拓展程序啟動(dòng)時(shí),獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容;204、根據(jù)目標(biāo)文本內(nèi)容,向Redis服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令行;205、獲取Redis服務(wù)器的返回結(jié)果;206、在VS Code的輸出窗口中顯示返回結(jié)果。

其中,201、檢測(cè)用戶對(duì)文本文件的打開指令。

由于本實(shí)施例提供的方法主要是基于在VS Code中打開的文本文件,實(shí)現(xiàn)執(zhí)行文本文件中的數(shù)據(jù)庫(kù)命令,從而在執(zhí)行本步驟之前,用戶(即相關(guān)程序開發(fā)人員)可以根據(jù)實(shí)際需求預(yù)先編輯包含數(shù)據(jù)庫(kù)命令行的文本文件,本實(shí)施例對(duì)此不作具體限定。其中,用戶根據(jù)實(shí)際程序開發(fā)需求,可編輯多個(gè)包含數(shù)據(jù)庫(kù)命令行的文本文件存儲(chǔ)在預(yù)設(shè)目錄中。

在執(zhí)行本步驟時(shí),可檢測(cè)用戶對(duì)文本文件的打開指令。相應(yīng)地,用戶可在預(yù)設(shè)目錄中選中一個(gè)包含數(shù)據(jù)庫(kù)命令行的文本文件,并通過VS Code打開該文本文件,即輸入打開指令。

其中,202、當(dāng)檢測(cè)到打開指令時(shí),通過VS Code,顯示用戶打開的目標(biāo)文本文件中的文本內(nèi)容。

本步驟主要是通過VS Code打開文本文件的過程,打開的文本文件可作為目標(biāo)文本文件。其中,目標(biāo)文本文件中的文本內(nèi)容可包含數(shù)據(jù)庫(kù)命令行、Redis服務(wù)器的地址及連接端口等,本實(shí)施例不對(duì)目標(biāo)文本文件包含的內(nèi)容作具體限定。

需要說明的是,本步驟的后續(xù)步驟主要是將打開的文本文件作為目標(biāo)文本文件,基于目標(biāo)文本文件實(shí)現(xiàn)執(zhí)行數(shù)據(jù)庫(kù)命令的過程。由于文本編輯器通常支持同時(shí)打開多個(gè)文本文件,從而在本次打開目標(biāo)文本文件之前,用戶可以按照本步驟及上述步驟201打開多個(gè)其它的文本文件,本實(shí)施例對(duì)此不作具體限定。相應(yīng)地,用戶后續(xù)除了可對(duì)本次打開的目標(biāo)文本文件進(jìn)行操作以實(shí)現(xiàn)執(zhí)行數(shù)據(jù)庫(kù)命令之外,還可以對(duì)之前打開目標(biāo)文本文件進(jìn)行操作以實(shí)現(xiàn)執(zhí)行數(shù)據(jù)庫(kù)命令,本實(shí)施例對(duì)此不作具體限定。

例如,用戶本次打開了目標(biāo)文本文件3,而用戶之前還打開了目標(biāo)文本文件1及目標(biāo)文本文件2。用戶后續(xù)除了可對(duì)目標(biāo)文本文件3進(jìn)行操作,以執(zhí)行目標(biāo)文本文件3中的數(shù)據(jù)庫(kù)命令之外,還可以對(duì)目標(biāo)文本文件1或目標(biāo)文本文件2進(jìn)行操作,從而分別執(zhí)行目標(biāo)文本文件1或目標(biāo)文本文件2中的數(shù)據(jù)庫(kù)命令。

基于上述內(nèi)容,需要說明的是,本實(shí)施例的后續(xù)步驟僅對(duì)執(zhí)行文本文件中數(shù)據(jù)庫(kù)命令的過程進(jìn)行說明。然而,具體執(zhí)行的是本次打開的目標(biāo)文本文件中的數(shù)據(jù)庫(kù)命令,還是執(zhí)行用戶之前打開的目標(biāo)文本文件中的數(shù)據(jù)庫(kù)命令,本實(shí)施例對(duì)此不作具體限定。實(shí)際實(shí)施中,具體執(zhí)行哪個(gè)文本文件以VS Code顯示的焦點(diǎn)文件為主,顯示的焦點(diǎn)文件即為目標(biāo)文本文件。基于方案的完整性且為了便于說明,本實(shí)施例的后續(xù)步驟主要以本次打開的目標(biāo)文本文件為例,對(duì)數(shù)據(jù)庫(kù)命令的執(zhí)行過程進(jìn)行說明。

其中,203、基于顯示的文本內(nèi)容,當(dāng)檢測(cè)到拓展程序啟動(dòng)時(shí),獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容。

由于本實(shí)施例主要是在VS Code中實(shí)現(xiàn)數(shù)據(jù)庫(kù)命令的執(zhí)行,即對(duì)VS Code的功能進(jìn)行了拓展,執(zhí)行相應(yīng)的拓展程序以實(shí)現(xiàn)執(zhí)行數(shù)據(jù)庫(kù)命令,從而在執(zhí)行本步驟之前還可以啟動(dòng)拓展程序。本實(shí)施例不對(duì)啟動(dòng)拓展程序的方式作具體限定,包括但不限于:當(dāng)檢測(cè)到用戶對(duì)預(yù)設(shè)快捷鍵的輸入指令時(shí),啟動(dòng)拓展程序;或者,當(dāng)檢測(cè)到用戶對(duì)右鍵菜單中預(yù)設(shè)選項(xiàng)的選中指令時(shí),啟動(dòng)拓展程序。

例如,用戶可通過鍵盤鍵入“ctrl+enter”以啟動(dòng)拓展程序?;蛘?,用戶還可以通過點(diǎn)擊鼠標(biāo)右鍵,在右鍵菜單中點(diǎn)擊“redisCli”選項(xiàng)以啟動(dòng)拓展程序。其中,“ctrl+enter”即為預(yù)設(shè)快捷鍵,可由用戶自行設(shè)置?!皉edisCli”為拓展程序名稱,同樣可由用戶自行設(shè)置,本實(shí)施例對(duì)此不作具體限定。

具體地,在啟動(dòng)拓展程序之前,用戶可利用VS Code官方提供的Yeoman VS Code Extension generator工具,生成一份骨架代碼。向骨架代碼的package.json文件中contributes項(xiàng)中加入以下代碼,以支持通過快捷鍵或右鍵菜單選項(xiàng)啟動(dòng)拓展程序:

該過程通過VS Code的內(nèi)置方案,向項(xiàng)目配置文件package.json中加入對(duì)應(yīng)的配置。當(dāng)VS Code啟動(dòng)時(shí),拓展的package.json文件便會(huì)被讀取,并且VS Code還會(huì)對(duì)package.json文件中的contributes項(xiàng)的內(nèi)容做處理。

上述配置完成后,通過向骨架代碼的extension.ts文件中加入拓展程序的具體實(shí)現(xiàn)代碼,從而實(shí)現(xiàn)通過點(diǎn)擊右鍵菜單選項(xiàng)或使用快捷鍵運(yùn)行擴(kuò)展程序。相應(yīng)地,本步驟及后續(xù)步驟主要是拓展程序的具體實(shí)現(xiàn)過程。需要說明的是,由于后續(xù)實(shí)現(xiàn)過程需要調(diào)用VS Code模塊和NodeRedis模塊的相關(guān)接口,從而拓展程序在啟動(dòng)后可導(dǎo)入VS Code模塊和NodeRedis模塊,本實(shí)施對(duì)此不作具體限定。其中,NodeRedis為Node環(huán)境下的Redis客戶端庫(kù)。

基于上述過程,拓展程序在啟動(dòng)后,由于VS Code顯示的文本內(nèi)容主要為數(shù)據(jù)庫(kù)命令行,從而用戶在啟動(dòng)拓展程序之前可指定顯示的文本內(nèi)容中哪些數(shù)據(jù)庫(kù)命令行需要執(zhí)行。相應(yīng)地,本實(shí)施例不對(duì)獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容的方式作具體限定,包括但不限于:檢測(cè)用戶對(duì)文本內(nèi)容的選中指令;當(dāng)檢測(cè)到選中指令時(shí),根據(jù)選中指令所對(duì)應(yīng)的文本選中范圍,獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容。

例如,用戶可通過鼠標(biāo)指針對(duì)顯示的文本內(nèi)容進(jìn)行選中,從而終端可根據(jù)用戶選中的文本范圍,獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容。

由于用戶在啟動(dòng)拓展程序之后,用戶之前可能并未選中任何顯示的文本內(nèi)容,此時(shí)可將所有文本內(nèi)容作為用戶要執(zhí)行的目標(biāo)文本內(nèi)容,本實(shí)施例對(duì)此不作具體限定。

基于拓展程序?qū)氲腣S Code模塊,上述獲取目標(biāo)文本內(nèi)容的過程,可通過調(diào)用vscode.window.activeTextEditor.selection.isEmpty接口,判斷當(dāng)前顯示的文本內(nèi)容是否有被選中的內(nèi)容。當(dāng)檢測(cè)到被選中的內(nèi)容時(shí),可通過調(diào)用vscode.window.activeTextEditor.document.getText()方法,該方法參數(shù)為vscode.window.activeTextEditor.selection,以獲取選中的目標(biāo)文本內(nèi)容。當(dāng)沒有檢測(cè)到被選中的內(nèi)容時(shí),可通過調(diào)用vscode.window.activeTextEditor.document.getText()方法,獲取顯示的所有文本內(nèi)容,并作為用戶要執(zhí)行的目標(biāo)文本內(nèi)容。

其中,204、根據(jù)目標(biāo)文本內(nèi)容,向Redis服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令行。

由于后續(xù)步驟需要執(zhí)行數(shù)據(jù)庫(kù)命令,而在執(zhí)行數(shù)據(jù)庫(kù)命令之前需要與Redis服務(wù)器進(jìn)行連接,從而在執(zhí)行本步驟之前若檢測(cè)到?jīng)]有連接至Redis服務(wù)器,可先與Redis服務(wù)器進(jìn)行連接。本實(shí)施例不對(duì)連接Redis服務(wù)器的方式作具體限定,包括但不限于:創(chuàng)建Redis客戶端實(shí)例;通過Redis客戶端實(shí)例,連接Redis服務(wù)器。

在創(chuàng)建Redis客戶端實(shí)例時(shí),可通過調(diào)用NodeRedis模塊提供的createClient接口,創(chuàng)建一個(gè)Redis客戶端實(shí)例,本實(shí)施例對(duì)此不作具體限定。由于在連接Redis服務(wù)器之前,需要先知道Redis服務(wù)器的地址,從而可先獲取Redis服務(wù)器的地址。相應(yīng)地,本實(shí)施例不對(duì)通過Redis客戶端實(shí)例,連接Redis服務(wù)器的方式作具體限定,包括但不限于:獲取文本內(nèi)容中的預(yù)設(shè)連接地址;通過Redis客戶端實(shí)例,連接預(yù)設(shè)連接地址對(duì)應(yīng)的Redis服務(wù)器。其中,預(yù)設(shè)連接地址即為Redis服務(wù)器的地址。

由于用戶在編輯文本文件時(shí),可在文本文件中置入要連接的Redis服務(wù)器對(duì)應(yīng)的地址,從而可在顯示的文本內(nèi)容中檢測(cè)出預(yù)設(shè)連接地址。關(guān)于獲取文本內(nèi)容中的預(yù)設(shè)連接地址的方式,本實(shí)施例對(duì)此不作具體限定,包括但不限于:對(duì)文本內(nèi)容中的每一行內(nèi)容進(jìn)行檢測(cè);當(dāng)在任一行內(nèi)容中檢測(cè)到第一預(yù)設(shè)字符時(shí),獲取任一行內(nèi)容中第一預(yù)設(shè)字符后面的字符串,將字符串作為預(yù)設(shè)連接地址。

用戶在編輯文本文件中的文本內(nèi)容時(shí),對(duì)于每一行內(nèi)容,可預(yù)先約定第一預(yù)設(shè)字符后面的字符串為預(yù)設(shè)連接地址,本實(shí)施例對(duì)此不作具體限定。其中,第一預(yù)設(shè)字符可根據(jù)用戶習(xí)慣自行設(shè)置,本實(shí)施例對(duì)此不作具體限定。預(yù)設(shè)連接地址可包括Redis主機(jī)地址、端口號(hào)及密碼等信息,本實(shí)施例不對(duì)預(yù)設(shè)連接地址的內(nèi)容作具體限定。

例如,以用戶要執(zhí)行的目標(biāo)文本內(nèi)容為顯示的所有文本內(nèi)容為例。圖3為VS Code顯示的文本內(nèi)容,也即為用戶要執(zhí)行的目標(biāo)文本內(nèi)容。在圖3中,第一預(yù)設(shè)字符為“#!”。通過對(duì)每一行內(nèi)容進(jìn)行檢測(cè),可確定第一行內(nèi)容中包含第一預(yù)設(shè)字符“#!”。通過調(diào)用vscode.window.activeTextEditor.document.getText()接口,可獲取第一行內(nèi)容。過濾掉第一行內(nèi)容中的“#!”,可獲取“#!”后面的字符串“Redis://127.0.0.1:6379”,并作為Redis服務(wù)器的預(yù)設(shè)連接地址。

由于存在找不到預(yù)設(shè)連接地址的可能性,從而對(duì)文本內(nèi)容中的每一行內(nèi)容進(jìn)行檢測(cè)之后,當(dāng)在每一行內(nèi)容中未檢測(cè)到第一預(yù)設(shè)字符或第一預(yù)設(shè)字符后面為空字符串時(shí),可通知用戶無法連接Redis服務(wù)器,本實(shí)施例對(duì)此不作具體限定。具體地,在向用戶通知時(shí),可通過調(diào)用vscode.window.showErrorMessage()方法,向用戶報(bào)告預(yù)設(shè)連接地址URL(Uniform Resoure Locator,統(tǒng)一資源定位器)為空。同時(shí),還可以自動(dòng)退出拓展程序以停止執(zhí)行數(shù)據(jù)庫(kù)命令,本實(shí)施例對(duì)此不作具體限定。

在獲取到預(yù)設(shè)連接地址URL后,創(chuàng)建的Redis客戶端實(shí)例可以獲取到的URL作為參數(shù),連接對(duì)應(yīng)的Redis服務(wù)器。當(dāng)連接至Redis服務(wù)器后,可再執(zhí)行本步驟204。由于目標(biāo)文件內(nèi)容中可能會(huì)包含多條命令行,而Redis服務(wù)器在執(zhí)行數(shù)據(jù)庫(kù)命令行時(shí)需要一條條地執(zhí)行,從而可對(duì)目標(biāo)文本內(nèi)容進(jìn)行拆分,向Redis服務(wù)器發(fā)送單條命令行。

相應(yīng)地,本實(shí)施例不對(duì)根據(jù)目標(biāo)文本內(nèi)容,向Redis服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令行的方式作具體限定,包括但不限于:根據(jù)目標(biāo)文本內(nèi)容中的第二預(yù)設(shè)字符,將目標(biāo)文本內(nèi)容拆分成數(shù)據(jù)庫(kù)命令行集合;基于數(shù)據(jù)庫(kù)命令行集合,向Redis服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令及參數(shù)。其中,第二預(yù)設(shè)字符可根據(jù)用戶在編輯文本文件時(shí)自行設(shè)置,本實(shí)施例對(duì)此不作具體限定。

例如,如圖3所示。在圖3中,第二預(yù)設(shè)字符為換行符。通過將換行符作為分隔符,將每一行內(nèi)容作為一個(gè)數(shù)組項(xiàng),可將目標(biāo)文本內(nèi)容拆分成一個(gè)以行內(nèi)容為數(shù)組項(xiàng)的數(shù)組。其中,數(shù)組即為數(shù)據(jù)庫(kù)命令行集合,目標(biāo)文本內(nèi)容的行數(shù)即為數(shù)組的項(xiàng)數(shù)。

在得到數(shù)據(jù)庫(kù)命令行集合后,可向Redis服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令及參數(shù)。本實(shí)施例不對(duì)基于數(shù)據(jù)庫(kù)命令行集合,向Redis服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令及參數(shù)的方式作具體限定,包括但不限于:對(duì)于數(shù)據(jù)庫(kù)命令行集合中任一數(shù)據(jù)庫(kù)命令行,當(dāng)檢測(cè)到任一數(shù)據(jù)庫(kù)命令行不為空且不包含第一預(yù)設(shè)字符時(shí),獲取任一數(shù)據(jù)庫(kù)命令行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令及參數(shù)。向Redis服務(wù)器發(fā)送任一數(shù)據(jù)庫(kù)命令行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令及參數(shù)。

由圖3可知,目標(biāo)文本內(nèi)容中可能會(huì)包含空行或者非數(shù)據(jù)庫(kù)命令行。例如,在圖3中第2行與第7行為空行。第1行的內(nèi)容包含第一預(yù)設(shè)字符“#!”及預(yù)設(shè)連接地址,而非數(shù)據(jù)庫(kù)命令行。因此,對(duì)于數(shù)據(jù)庫(kù)命令行集合中任一數(shù)據(jù)庫(kù)命令行,先要對(duì)該數(shù)據(jù)庫(kù)命令行進(jìn)行檢測(cè)。當(dāng)檢測(cè)到該數(shù)據(jù)庫(kù)命令行不為空且不包含第一預(yù)設(shè)字符時(shí),可獲取該數(shù)據(jù)庫(kù)命令行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令及參數(shù)。

對(duì)于任一數(shù)據(jù)庫(kù)命令行,本實(shí)施例不對(duì)獲取任一數(shù)據(jù)庫(kù)命令行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令及參數(shù)的方式作具體限定,包括但不限于:按照第三預(yù)設(shè)字符對(duì)任一數(shù)據(jù)庫(kù)命令行進(jìn)行切分,將切分得到的第一項(xiàng)內(nèi)容作為數(shù)據(jù)庫(kù)命令,將切分得到的后續(xù)內(nèi)容作為參數(shù)。其中,第三預(yù)設(shè)字符可以為空格,本實(shí)施例對(duì)此不作具體限定。

例如,如圖3所示。以第3行的內(nèi)容為例,可將第3行的行內(nèi)容按照空格進(jìn)行切分,并將切分后得到的每一項(xiàng)內(nèi)容存入數(shù)組中。相應(yīng)地,數(shù)組第一項(xiàng)內(nèi)容“set”即為數(shù)據(jù)庫(kù)命令,數(shù)組的第二項(xiàng)內(nèi)容“mykey”及第三項(xiàng)內(nèi)容“hello”即為參數(shù)。

在獲取數(shù)據(jù)命令行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令及參數(shù)后,可通過調(diào)用Redis客戶端的send_command接口,傳入得到的數(shù)據(jù)庫(kù)命令及參數(shù)。通過該接口向Redis服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令及參數(shù),并等待返回結(jié)果。

其中,205、獲取Redis服務(wù)器的返回結(jié)果。

通過上述步驟204,在向Redis服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令及參數(shù)之后,Redis服務(wù)器可根據(jù)參數(shù)執(zhí)行數(shù)據(jù)庫(kù)命令,并返回相應(yīng)的結(jié)果。

例如,圖3中第3行內(nèi)容中數(shù)據(jù)庫(kù)命令為“set”,參數(shù)分別為“mykey”及“hello”,其對(duì)應(yīng)的含義為將“mykey”鍵的鍵值設(shè)置為“hello”。Redis服務(wù)器在執(zhí)行這條數(shù)據(jù)庫(kù)命令時(shí),如果設(shè)置成功的話,返回結(jié)果為字符串“OK”。同理,對(duì)于第4行內(nèi)容對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令,Redis服務(wù)器的返回結(jié)果為字符串“hello”。對(duì)于第5行內(nèi)容對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令,Redis服務(wù)器的返回結(jié)果為刪除鍵的個(gè)數(shù),即整數(shù)“1”。對(duì)于第5行內(nèi)容對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令,由于之前已經(jīng)對(duì)鍵進(jìn)行刪除,從而Redis服務(wù)器的返回結(jié)果為空對(duì)象。

其中,206、在VS Code的輸出窗口中顯示返回結(jié)果。

在執(zhí)行本步驟之前,可先創(chuàng)建一個(gè)輸出窗口實(shí)例,以顯示返回結(jié)果。具體地,可通過調(diào)用vscode.window.createOutputChannel()接口,創(chuàng)建一個(gè)輸出窗口實(shí)例,本實(shí)施例對(duì)此不作具體限定。

關(guān)于在VS Code的輸出窗口中顯示返回結(jié)果的方式,本實(shí)施例對(duì)此不作具體限定,包括但不限于:向輸出窗口寫入返回結(jié)果;通過調(diào)用輸出窗口實(shí)例的顯示方法,在輸出窗口中顯示返回結(jié)果。

在向輸出窗口寫入返回結(jié)果之前,可先向輸出窗口寫入Redis服務(wù)器的預(yù)設(shè)連接地址、端口、執(zhí)行的數(shù)據(jù)庫(kù)命令及參數(shù),本實(shí)施例對(duì)此不作具體限定。具體地,可通過調(diào)用輸出窗口實(shí)例的appendLine方法進(jìn)行寫入,本實(shí)施例對(duì)此不作具體限定?;谏鲜鰧懭脒^程,后續(xù)在顯示返回結(jié)果時(shí),能讓用戶清楚地了解到每條數(shù)據(jù)庫(kù)命令是哪個(gè)Redis服務(wù)器執(zhí)行的、執(zhí)行端口是什么以及每條數(shù)據(jù)庫(kù)命令對(duì)應(yīng)的執(zhí)行結(jié)果是什么,即達(dá)到便于用戶查看的目的。

由于返回結(jié)果對(duì)應(yīng)的數(shù)據(jù)類型決定了如何將返回結(jié)果寫入輸出窗口,從而可根據(jù)返回結(jié)果的數(shù)據(jù)類型,對(duì)返回結(jié)果進(jìn)行寫入。相應(yīng)地,本實(shí)施例不對(duì)向輸出窗口寫入返回結(jié)果的方式作具體限定,包括但不限于:獲取返回結(jié)果的數(shù)據(jù)類型;當(dāng)返回結(jié)果的數(shù)據(jù)類型為數(shù)字時(shí),向輸出窗口寫入返回?cái)?shù)字對(duì)應(yīng)的數(shù)據(jù)類型及返回的數(shù)字;當(dāng)返回結(jié)果的數(shù)據(jù)類型為字符串時(shí),向輸出窗口寫入返回的字符串;當(dāng)返回結(jié)果的數(shù)據(jù)類型為空對(duì)象時(shí),向輸出窗口寫入預(yù)設(shè)關(guān)鍵字;當(dāng)返回結(jié)果的數(shù)據(jù)類型為對(duì)象時(shí),將返回的對(duì)象轉(zhuǎn)換為字符串,向輸出窗口寫入轉(zhuǎn)換后的字符串。

例如,圖4為對(duì)Redis服務(wù)器的返回結(jié)果進(jìn)行顯示后的示意圖。在圖4中,output表示下列內(nèi)容為返回結(jié)果?!?27.0.0.1:6379>set mykeyhello”為Redis服務(wù)器的預(yù)設(shè)連接地址、端口、執(zhí)行的數(shù)據(jù)庫(kù)命令及參數(shù),主要是為了與下面的返回結(jié)果“OK”對(duì)應(yīng),讓用戶清楚地了解每條數(shù)據(jù)庫(kù)命令與其對(duì)應(yīng)的返回結(jié)果。由于返回結(jié)果“OK”的數(shù)據(jù)類型為字符串,從而可向輸出窗口寫入返回的字符串“OK”。

同理,當(dāng)返回結(jié)果的數(shù)據(jù)類型為數(shù)字時(shí),如圖4所示,可向輸出窗口寫入返回?cái)?shù)字對(duì)應(yīng)的數(shù)據(jù)類型“(interger)”整型,再寫入返回的數(shù)字“1”。

當(dāng)返回結(jié)果的數(shù)據(jù)類型為空對(duì)象時(shí),如圖4所示,可向輸出窗口寫入預(yù)設(shè)關(guān)鍵字“(nil)”。其中,關(guān)鍵字nil表示無值。

當(dāng)返回結(jié)果的數(shù)據(jù)類型為對(duì)象時(shí),可通過調(diào)用JSON的stringify方法將對(duì)象轉(zhuǎn)換成字符串,向輸出窗口寫入轉(zhuǎn)換后的字符串。其中,JSON(JavaScript Object Notation,JavaScript對(duì)象表示法)是一種輕量級(jí)的數(shù)據(jù)交換語(yǔ)言,以文字為基礎(chǔ)且易于讓人閱讀。

需要說明的是,在向輸出窗口寫入返回結(jié)果時(shí),同樣可調(diào)用輸出窗口實(shí)例的appendLine方法進(jìn)行寫入,本實(shí)施例對(duì)此不作具體限定。在向輸出窗口寫入返回結(jié)果后,可通過調(diào)用輸出窗口實(shí)例的show方法,顯示返回結(jié)果。

另外,當(dāng)對(duì)返回結(jié)果進(jìn)行顯示后,可調(diào)用Redis客戶端實(shí)例的quit方法以關(guān)閉Redis連接?;蛘?,考慮到用戶可能還要繼續(xù)執(zhí)行數(shù)據(jù)庫(kù)命令,從而還可以重新執(zhí)行上述步驟201至本步驟206的過程,本實(shí)施例對(duì)此不作具體限定。

本發(fā)明實(shí)施例提供的方法,通過檢測(cè)用戶對(duì)文本文件的打開指令。當(dāng)檢測(cè)到打開指令時(shí),通過VS Code,顯示用戶打開的目標(biāo)文本文件中的文本內(nèi)容?;陲@示的文本內(nèi)容,當(dāng)檢測(cè)到拓展程序啟動(dòng)時(shí),獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容。根據(jù)目標(biāo)文本內(nèi)容,向Redis服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令行。獲取Redis服務(wù)器的返回結(jié)果。在VS Code的輸出窗口中顯示返回結(jié)果。由于可基于啟動(dòng)的拓展程序,根據(jù)打開的文本文件中顯示的文本內(nèi)容,來執(zhí)行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令,而不用復(fù)制或手動(dòng)鍵入數(shù)據(jù)庫(kù)命令,從而節(jié)省了數(shù)據(jù)庫(kù)命令執(zhí)行時(shí)的命令輸入時(shí)間,進(jìn)而提高了數(shù)據(jù)庫(kù)命令的執(zhí)行效率。

另外,由于在預(yù)設(shè)文本編輯器中可打開多個(gè)文本文件,當(dāng)用戶需要執(zhí)行大量數(shù)據(jù)庫(kù)命令時(shí),可將數(shù)據(jù)庫(kù)命令拆分成多個(gè)文本文件,通過打開多個(gè)文本文件分別執(zhí)行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令,從而能夠便于用戶對(duì)數(shù)據(jù)庫(kù)命令的執(zhí)行流程進(jìn)行管理。

最后,由于在執(zhí)行數(shù)據(jù)庫(kù)命令時(shí),可通過檢測(cè)到的預(yù)設(shè)連接地址,自動(dòng)連接對(duì)應(yīng)的數(shù)據(jù)庫(kù)服務(wù)器,從而進(jìn)一步地提高了數(shù)據(jù)庫(kù)命令的執(zhí)行效率。

本發(fā)明實(shí)施例提供了一種操作數(shù)據(jù)庫(kù)的裝置,該裝置用于執(zhí)行上述圖1或圖2對(duì)應(yīng)的實(shí)施例所提供的一種操作數(shù)據(jù)庫(kù)的方法。參見圖5,該裝置包括:

第一獲取模塊501,用于基于顯示的文本內(nèi)容,當(dāng)檢測(cè)到拓展程序啟動(dòng)時(shí),獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容,文本內(nèi)容至少包含數(shù)據(jù)庫(kù)命令行;

發(fā)送模塊502,用于根據(jù)目標(biāo)文本內(nèi)容,向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令行;

第二獲取模塊503,用于獲取數(shù)據(jù)庫(kù)服務(wù)器的返回結(jié)果;

第一顯示模塊504,用于在輸出窗口中顯示返回結(jié)果。

作為一種可選實(shí)施例,該裝置還包括:

檢測(cè)模塊,用于檢測(cè)用戶對(duì)文本文件的打開指令;

第二顯示模塊,用于在檢測(cè)到打開指令時(shí),通過預(yù)設(shè)文本編輯器,顯示用戶打開的目標(biāo)文本文件中的文本內(nèi)容。

作為一種可選實(shí)施例,該裝置還包括:

啟動(dòng)模塊,用于在檢測(cè)到用戶對(duì)預(yù)設(shè)快捷鍵的輸入指令時(shí),啟動(dòng)拓展程序;或者,當(dāng)檢測(cè)到用戶對(duì)右鍵菜單中預(yù)設(shè)選項(xiàng)的選中指令時(shí),啟動(dòng)拓展程序。

作為一種可選實(shí)施例,第一獲取模塊501,包括:

檢測(cè)單元,用于檢測(cè)用戶對(duì)文本內(nèi)容的選中指令;

第一獲取單元,用于在檢測(cè)到選中指令時(shí),根據(jù)選中指令所對(duì)應(yīng)的文本選中范圍,獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容。

作為一種可選實(shí)施例,第一獲取模塊501,還包括:

第二獲取單元,用于在未檢測(cè)到選中指令時(shí),獲取文本內(nèi)容,并將文本內(nèi)容作為用戶要執(zhí)行的目標(biāo)文本內(nèi)容。

作為一種可選實(shí)施例,該裝置還包括:

創(chuàng)建模塊,用于創(chuàng)建數(shù)據(jù)庫(kù)客戶端實(shí)例;

連接模塊,用于通過數(shù)據(jù)庫(kù)客戶端實(shí)例,連接數(shù)據(jù)庫(kù)服務(wù)器。

作為一種可選實(shí)施例,連接模塊,包括:

第三獲取單元,用于獲取文本內(nèi)容中的預(yù)設(shè)連接地址;

連接單元,用于通過數(shù)據(jù)庫(kù)客戶端實(shí)例,連接預(yù)設(shè)連接地址對(duì)應(yīng)的數(shù)據(jù)庫(kù)服務(wù)器。

作為一種可選實(shí)施例,第三獲取單元,用于對(duì)文本內(nèi)容中的每一行內(nèi)容進(jìn)行檢測(cè);當(dāng)在任一行內(nèi)容中檢測(cè)到第一預(yù)設(shè)字符時(shí),獲取任一行內(nèi)容中第一預(yù)設(shè)字符后面的字符串,將字符串作為預(yù)設(shè)連接地址。

作為一種可選實(shí)施例,第三獲取單元,當(dāng)在每一行內(nèi)容中未檢測(cè)到第一預(yù)設(shè)字符或第一預(yù)設(shè)字符后面為空字符串時(shí),通知用戶無法連接數(shù)據(jù)庫(kù)服務(wù)器。

作為一種可選實(shí)施例,發(fā)送模塊502,包括:

拆分單元,用于根據(jù)目標(biāo)文本內(nèi)容中的第二預(yù)設(shè)字符,將目標(biāo)文本內(nèi)容拆分成數(shù)據(jù)庫(kù)命令行集合;

發(fā)送單元,用于基于數(shù)據(jù)庫(kù)命令行集合,向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令及參數(shù)。

作為一種可選實(shí)施例,發(fā)送單元,用于對(duì)于數(shù)據(jù)庫(kù)命令行集合中任一數(shù)據(jù)庫(kù)命令行,當(dāng)檢測(cè)到任一數(shù)據(jù)庫(kù)命令行不為空且不包含第一預(yù)設(shè)字符時(shí),獲取任一數(shù)據(jù)庫(kù)命令行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令及參數(shù);向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送任一數(shù)據(jù)庫(kù)命令行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令及參數(shù)。

作為一種可選實(shí)施例,第一顯示模塊,包括:

寫入單元,用于向輸出窗口寫入返回結(jié)果;

顯示單元,用于通過調(diào)用輸出窗口實(shí)例的顯示方法,在輸出窗口中顯示返回結(jié)果。

作為一種可選實(shí)施例,寫入單元,用于獲取返回結(jié)果的數(shù)據(jù)類型;當(dāng)返回結(jié)果的數(shù)據(jù)類型為數(shù)字時(shí),向輸出窗口寫入返回?cái)?shù)字對(duì)應(yīng)的數(shù)據(jù)類型及返回的數(shù)字;當(dāng)返回結(jié)果的數(shù)據(jù)類型為字符串時(shí),向輸出窗口寫入返回的字符串;當(dāng)返回結(jié)果的數(shù)據(jù)類型為空對(duì)象時(shí),向輸出窗口寫入預(yù)設(shè)關(guān)鍵字;當(dāng)返回結(jié)果的數(shù)據(jù)類型為對(duì)象時(shí),將返回的對(duì)象轉(zhuǎn)換為字符串,向輸出窗口寫入轉(zhuǎn)換后的字符串。

作為一種可選實(shí)施例,第一獲取模塊501,用于調(diào)用vscode.window.activeTextEditor.selection.isEmpty接口,檢測(cè)用戶是否對(duì)文本內(nèi)容進(jìn)行選中;基于接口返回的數(shù)值,當(dāng)檢測(cè)到用戶對(duì)文本內(nèi)容進(jìn)行選中時(shí),以vscode.window.activeTextEditor.selection為參數(shù),調(diào)用vscode.window.activeTextEditor.document.getText方法獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容;當(dāng)檢測(cè)到用戶未對(duì)文本內(nèi)容進(jìn)行選中時(shí),調(diào)用vscode.window.activeTextEditor.document.getText方法,獲取文本內(nèi)容,并將文本內(nèi)容作為用戶要執(zhí)行的目標(biāo)文本內(nèi)容。

本發(fā)明實(shí)施例提供的裝置,通過基于顯示的文本內(nèi)容,當(dāng)檢測(cè)到拓展程序啟動(dòng)時(shí),獲取用戶要執(zhí)行的目標(biāo)文本內(nèi)容。根據(jù)目標(biāo)文本內(nèi)容,向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送數(shù)據(jù)庫(kù)命令行。獲取數(shù)據(jù)庫(kù)服務(wù)器的返回結(jié)果。在輸出窗口中顯示返回結(jié)果。由于可基于啟動(dòng)的拓展程序,根據(jù)打開的文本文件中顯示的文本內(nèi)容,,來執(zhí)行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令,而不用復(fù)制或手動(dòng)鍵入數(shù)據(jù)庫(kù)命令,從而節(jié)省了數(shù)據(jù)庫(kù)命令執(zhí)行時(shí)的命令輸入時(shí)間,進(jìn)而提高了數(shù)據(jù)庫(kù)命令的執(zhí)行效率。

另外,由于在預(yù)設(shè)文本編輯器中可打開多個(gè)文本文件,當(dāng)用戶需要執(zhí)行大量數(shù)據(jù)庫(kù)命令時(shí),可將數(shù)據(jù)庫(kù)命令拆分成多個(gè)文本文件,通過打開多個(gè)文本文件分別執(zhí)行對(duì)應(yīng)的數(shù)據(jù)庫(kù)命令,從而能夠便于用戶對(duì)數(shù)據(jù)庫(kù)命令的執(zhí)行流程進(jìn)行管理。

最后,由于在執(zhí)行數(shù)據(jù)庫(kù)命令時(shí),可通過檢測(cè)到的預(yù)設(shè)連接地址,自動(dòng)連接對(duì)應(yīng)的數(shù)據(jù)庫(kù)服務(wù)器,從而進(jìn)一步地提高了數(shù)據(jù)庫(kù)命令的執(zhí)行效率。

最后,本申請(qǐng)的方法僅為較佳的實(shí)施方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1