perl editor的開發(fā)歷程(一)想法
Posted on 2009-04-02 22:04 楊曉晨 閱讀(1189) 評論(2) 編輯 收藏 所屬分類: perl editor的開發(fā)歷程 現(xiàn)在在工作中開始有一部分的需要使用perl來完成,在使用了一些ide后。發(fā)現(xiàn)這些ide主要有這么幾種:
(一)ide上安裝插件,如eclipse和netbeans等;
(二)vi和emacs類型這些傳統(tǒng)意義上的文本編輯器,也是加上一些插件來完成相關(guān)的工作。
(三)一些專門的開發(fā)商開發(fā)的專門的perl開發(fā)工具(當(dāng)然是收費的,所以不做考慮)。
第一種當(dāng)然簡單,功能齊全,而且很容易上手,但是我的感覺是有許多的功能實際上用處不大,而且相當(dāng)耗費系統(tǒng)資源。第二種呢,相信所有人在論壇上提出“開發(fā)perl用什么工具好?”這樣的問題時,emacs和Vim都是必有的回答。emacs和Vim當(dāng)然不錯,但是不可回避的就是配置的出錯率比較高,按鍵的組合繁多而且凌亂,常常會對一些新的程序員造成一些不必要的麻煩,畢竟還是有許多的組合鍵需要記憶,如果想發(fā)揮emacs這類編輯器的優(yōu)點的話。
所以基于現(xiàn)在的這個現(xiàn)實,我想使用swing來開發(fā)一個簡便,只有必須的功能的ide。這樣做有兩個目的:一個可以更好的開發(fā)perl程序,另一方面可以好好的研究一下Swing。
我的想法是這個ide只提供這么幾種功能:
(1)語法高亮(這個是當(dāng)然的)。
(2)書簽(包括設(shè)置、刪除,上下移動和書簽查找)。
(3)代碼的自動補(bǔ)齊。
(4)自動格式化(基于模板)。
(5)基本的編輯命令(拷貝,粘貼,剪切,撤銷和重做----我想足夠了)。
(6)括號的自動匹配。
(7)代碼的瀏覽和跳轉(zhuǎn)(包括顯示當(dāng)前文件的函數(shù)名,包名,類名;函數(shù)調(diào)用和函數(shù)定義之間的跳轉(zhuǎn)----好像有點復(fù)雜了)。
(8)簡單的調(diào)試(上一步,下一步,跳進(jìn),跳出,顯示變量和表達(dá)式的值)。
這樣我想作為一個Ide功能就應(yīng)該差不多了,雖然會很簡陋,但是我想這個應(yīng)該可以滿足我的需求了。
下一步就要開始調(diào)查實現(xiàn)的手段了,希望可以一步一步的實現(xiàn)我的夢想。
加油?。。。。。。。。?!
(一)ide上安裝插件,如eclipse和netbeans等;
(二)vi和emacs類型這些傳統(tǒng)意義上的文本編輯器,也是加上一些插件來完成相關(guān)的工作。
(三)一些專門的開發(fā)商開發(fā)的專門的perl開發(fā)工具(當(dāng)然是收費的,所以不做考慮)。
第一種當(dāng)然簡單,功能齊全,而且很容易上手,但是我的感覺是有許多的功能實際上用處不大,而且相當(dāng)耗費系統(tǒng)資源。第二種呢,相信所有人在論壇上提出“開發(fā)perl用什么工具好?”這樣的問題時,emacs和Vim都是必有的回答。emacs和Vim當(dāng)然不錯,但是不可回避的就是配置的出錯率比較高,按鍵的組合繁多而且凌亂,常常會對一些新的程序員造成一些不必要的麻煩,畢竟還是有許多的組合鍵需要記憶,如果想發(fā)揮emacs這類編輯器的優(yōu)點的話。
所以基于現(xiàn)在的這個現(xiàn)實,我想使用swing來開發(fā)一個簡便,只有必須的功能的ide。這樣做有兩個目的:一個可以更好的開發(fā)perl程序,另一方面可以好好的研究一下Swing。
我的想法是這個ide只提供這么幾種功能:
(1)語法高亮(這個是當(dāng)然的)。
(2)書簽(包括設(shè)置、刪除,上下移動和書簽查找)。
(3)代碼的自動補(bǔ)齊。
(4)自動格式化(基于模板)。
(5)基本的編輯命令(拷貝,粘貼,剪切,撤銷和重做----我想足夠了)。
(6)括號的自動匹配。
(7)代碼的瀏覽和跳轉(zhuǎn)(包括顯示當(dāng)前文件的函數(shù)名,包名,類名;函數(shù)調(diào)用和函數(shù)定義之間的跳轉(zhuǎn)----好像有點復(fù)雜了)。
(8)簡單的調(diào)試(上一步,下一步,跳進(jìn),跳出,顯示變量和表達(dá)式的值)。
這樣我想作為一個Ide功能就應(yīng)該差不多了,雖然會很簡陋,但是我想這個應(yīng)該可以滿足我的需求了。
下一步就要開始調(diào)查實現(xiàn)的手段了,希望可以一步一步的實現(xiàn)我的夢想。
加油?。。。。。。。。?!