我要開發的插件功能極爲簡單,就是對用戶選中的內容進行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
}
}.net
原理是執行編譯好的exe文件時同時傳遞三個參數進來,而後用os.Args接收,接收以後要判斷參數的數量,咱們容許傳遞一個或兩個參數進來,若是小於兩個或大於三個參數則出錯插件
兩個參數是爲了應付-h查看使用幫助或-v顯示版本號,三個參數則是爲了處理加密或解密工做.code
咱們把上邊的代碼存成.go文件,而後編譯成.exe文件,最後把mail.exe改爲base64.exe,並把base64.exe複製到editplus的stx目錄下,並對editplus進行相應的配置,配製方法以下:blog
但願此爲能起到拋磚引玉的功能,對你們開發插件可以有所幫助.開發
Go語言技術QQ羣: 195112string