GipaGipa

聽說寫 blog 作文才會進步

2013年1月29日

Notepad++ NppExec外掛 (linux 遠端編譯)

關鍵字:
Notepad++ NppExec remote compile linux


目的:
在 Notepad++ 寫完,然後自動存檔、上傳、編譯、執行、然後執行結果顯示在 NppExec console 上面


需求:
Notepad++ (v5.8.1 以上)
NppFTP plugin (v0.24 以上)
NppExec plugin (v0.4.3.1 以上)
plink.exe 執行檔


使用方法:
符合以上需求後

自訂 >> 快速鍵管理  >> Plugin commands
看要不要設定下面這兩個快速鍵,例如
[Execute...]               Ctrl + F9
[Direct Execute Previous]  F9 (自以為跟 Dev-C++ 一樣案下去就編譯 & 執行)

按 Ctrl + F9 叫出 [Execute...]   (如果你快速鍵跟我一樣的話)

輸入以下 script
NPP_CONSOLE DISABLE

NPP_SAVE

SET link="plink檔案的絕對路徑" "主機的IP" -l "你的帳號" -pw "你的密碼"

SET shell=cd ~
SET shell=$(shell); rm -f test.exe
SET shell=$(shell); g++ -o test.exe test.cpp
SET shell=$(shell); ./test.exe

NPP_CONSOLE ENABLE

$(link) $(shell)

NPP_CONSOLE DISABLE

UNSET link
UNSET shell

NPP_CONSOLE ENABLE

這樣的話不管你在 Notepad++ 哪個檔案分頁上去執行這個 script

他會將當下的分頁存檔,登入 server ,然後在 server 上執行這 4 行指令

cd ~
rm -f test.exe
g++ -o test.exe test.cpp
./test.exe


現在再來設定 NppFTP 並且開始編輯 linux server 的 test.cpp

當你對著 test.cpp 的分頁按下 F9

就會自動存檔、上傳、編譯、執行、回傳執行結果了!!!

爽爽~~

不能因為要在 linux server 上編譯,就放棄使用 Notepad++ 跑去用 vim,要有毅力阿各位大大

常見問題:

如果看不到回傳結果
外掛模組 >> NppExec >> 勾選 [Show Console Dialog]

如果回傳結果有亂碼
外掛模組 >> NppExec >> 更改 [Console Output...] 裡面的編碼

NppFTP 可以選擇 SFTP 登入 (沒有請更新 plugin)
有些 server 要求 keyboard-interactive 驗證
這樣不能記錄登入密碼,而且輸入密碼還不是***會被看到...
通常可以去做個 ssh key 然後用 private key 驗證的方法登入


標籤: , ,

0 個意見:

張貼留言

訂閱 張貼留言 [Atom]

<< 首頁