用GO語言開發editplus編輯器外掛程式(附源碼)

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

    我要開發的外掛程式功能極為簡單,就是對使用者選中的內容進行base64編碼或解密工作.

其中所涉及的技術部分主要是GO語言程式開發和editplus外掛程式配置的部分,首先我們來看一下GO語言代碼的寫法,如下:

package main


import (
"encoding/base64"
"fmt"
"os"
)


const (
version string = "1.0"
)


func main() {
num := len(os.Args)
if num < 2 || num > 3 {
fmt.Println("請使用 -h 查看軟件使用方法, Go語言技術QQ群: 195112\n")
return
}


switch os.Args[1] {
case "-a": //encode
data := []byte(os.Args[2])
out := base64.StdEncoding.EncodeToString(data)
fmt.Print(out)
case "-x": //decode
out, err := base64.StdEncoding.DecodeString(os.Args[2])
if err != nil {
fmt.Println("")
return
}
fmt.Printf("%s", out)
case "-v":
fmt.Println("ver:", version)
return
case "-h": //decode
fmt.Println("\n說明:")
fmt.Println("  這個程式由 Seven (http://7di.net) 製作,用來對內容進行 base64 加/解密.")
fmt.Println("\n參數:")
fmt.Println("  -a 對內容加密")
fmt.Println("  -x 對內容解密")
fmt.Println("  -v 軟件版本")
fmt.Println("  -h 使用幫助")
fmt.Println("\n用法:")
fmt.Println("  加密: base64.exe -a 要加密的內容")
fmt.Println("  解密: base64.exe -x 要解密的內容")
fmt.Println("\n交流:")
fmt.Println("  Go語言技術QQ群: 195112")
return
default:
fmt.Println("請使用 -h 查看軟件使用方法, Go語言技術QQ群: 195112\n")
return
}
}


原理是執行編譯好的exe檔案時同時傳遞三個參數進來,然後用os.Args接收,接收之後要判斷參數的數量,我們允許傳遞一個或兩個參數進來,如果小於兩個或大於三個參數則出錯

兩個參數是為了應付-h查看使用協助或-v顯示版本號碼,三個參數則是為了處理加密或解密工作.

我們把上邊的代碼存成.go檔案,然後編譯成.exe檔案,最後把mail.exe改成base64.exe,並把base64.exe複製到editplus的stx目錄下,並對editplus進行相應的配置,配製方法如下:



希望此為能起到拋磚引玉的功能,對大家開發外掛程式能夠有所協助.

Go語言技術QQ群: 195112

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.