Slickedit v11簡單使用評價終於得到了穩定長期能用的Slickedit v11版本,立馬裝上 開始享受。裝上後發現這個Slickedit v11對於設定的匯入要比老的v10、v9好些。僅僅是丟了我的自訂菜單設定(不過後面還是發現有不少問題要解決的)。v10和v9一般都是會把所有的 自訂菜單和工具列通通複位。印象中有些自訂按鍵都會被複位掉。v11倒是好了不少。
不過直接匯入v10的配置以後發現還是有不少問題。我遇到了很奇怪的介面重新整理的問題。讀代碼的時候點了一個tag,Symbol視窗居然沒有任何反應。只 有我再點一下Symbol視窗讓焦點過去以後才看見重新整理了內容。後來發現不止是這個,還有其它的Defs等視窗都是如此。很是失望了一整子最後發現還是要 刪掉設定目錄下的sta檔案強制Slickedit v11將所有的宏編譯一把才正常。這個舉動又導致了我全部的自訂菜單丟失,不得不又配置了一把T__T
另外還有的就是一些宏,那些只有ex沒有e代碼的宏。v11在匯入了v10的配置以後還會去載入,然後啟動時死掉告訴你有個宏版本不對。在你試圖關閉的時 候不斷冒出SlickC stack錯誤。最後還是要用工作管理員喀嚓了事。很不爽很不爽。最可怕的就是和v10版本並存的時候,由於是導過去的設定,所以就開始出現詭異問題:有 的宏甚至連一些系統內建的宏居然都是指到v10的目錄去的!!用起來亂套了,實在是FT死了最後我打包備份了我的v10的配置後整個卸掉了v10。然後把 v11安裝到v10原來的位子上,總算是太平了。
Slickedit的新舊版本配置遷移實在是很麻煩的事情,真是令人頭大。不過這回只要知道不要並存、不要用舊的sta檔案、重新設定一下自訂菜單以外,遷移還算是馬馬虎虎還能忍受的。因為Slickedit從v10升級到v11都要將近200美元吧。全新購買是299美元好像。所以對於那些要掏錢的使用者來說1.6k RMB都甩出去了還會在乎這個遷移配置的問題嘛?不過對於我們這些用xx版的~~遷移配置是比較麻煩點。
煩人的事情過去了,終於把Slickedit v11弄得能用了。從介面上看基本沒有什麼大變化,只是Tab和Combo Box控制項變成了Windows標準的能套上Win XP的Theme罷了。不過就這點變化,介面上看起來就舒服多了。嵌在工具列中的ComboBox這回調整得也不錯,在小按鈕狀態看起來還算是平齊,看了 就有好心情。
目前我簡單用了一天時間,發現的功能上的變化主要在Search功能、括弧高亮功能、代碼自動完成功能和一些原有對話方塊的操作介面的改進上。
Search功能這次改進得比較厲害,Search現在可以像EmEditor那樣一次在全文內高亮標記出所有的匹配結果。這樣看起來一目瞭然非常方便。可惜的是我居然沒有找到清除高亮的按鈕~~本來應當是要提供一個的。不過從使用手冊中找到清除高亮結果的宏命令是clear-highlights。我在工具列上面為它建立了一個按鈕。另外Search可以支援在某些特定部分搜尋了。比如你可以指定它只能在String,或者是Function裡面,或者只能在Comment裡面搜尋。這些範圍可以通過Color選項設定。另外搜尋結果列表可以建立多個(不 像原來只能有一個Search List)。Search Results現在也用標籤頁的形式管理多個搜尋結果,只要在搜尋的時候指定一下輸出目的就好了。最後,Find/Find in Files/Replace/Replace in Files這幾個功能用獨立的標籤頁隔開了,各自使用獨立的選項卡進行設定。用起來比原來的整合介面方便太多了。Find & Replace對話方塊這回居然還是可以Dock的。我試過把它Dock到螢幕下面去試圖方便搜尋。可惜發現這樣並不好用,因為雖然表單能Dock了但是裡 面的控制項沒有為Dock最佳化過,選項一展開超出Dock視窗高度的部分就看不到了。實用價值不大。
再看看括弧高亮功能。這功能本來是個現在什麼阿貓阿狗編輯器都能有的功能了從88年至今一直穩居200美元級高端編輯器榜首的Slickedit居然到了v11才開始支援實在是令人費解啊。原來v8-v10的時候不得不一直用一個buggy的BBhlite宏 來實現簡單的括弧匹配高亮功能(也正是這個宏搞的我的v11報版本不對的錯誤死活進不去也退不出來~~)。現在終於好了看到支援括弧匹配高亮了。不過實際 用起來覺得還是稍稍有些慢的,反正高亮的反應速度遠沒有UEStudio或者Emedit那麼快。感覺起碼有10-20毫秒的延時吧。但是令我驚喜的是這 次Slickedit提供的不僅僅是括弧的高亮,連#ifdef #else #endif這樣的巨集指令都能高亮了!!!就是說,游標要是停在#ifdef上面,和它對應的#endif也會高亮出來。哇卡卡實在是太爽了,讀填滿了這類宏開關的Linux代碼用這個功能實在是太舒服了。看來Slickedit這回要做就要做最好啊!!這回配對高亮功能真是無人能及了。
在代碼自動完成上,本來Slickedit在這方面已經是做得登峰造極天下無敵了。不過這次又狠狠改進了一把,博採眾長了現在。原來用UEStudio的 時候,他有個非常SB的自動完成功能。就是所有你代碼裡面輸入的單詞它會記住,以後再輸入敲兩個字母就會提示出來。這個功能實在是傻的可以,但是一兩下還 真是有用的。v11這回也支援了,它稱為Word completion。 這個Word Completion的優先順序是最低的,排在自動完成的列表最後面,而且是可以自由關閉或者決定列出單詞的數目的。類似於SourceInsight的那 種自動函數名完成的功能現在SE也提供了。v10的時候要提示函數名非得手工調出符號列表才行,現在敲個字母就會自動出現,相當舒服。另一個不錯的改進就 是把Syntax expansion功能也用自動完成的形式提供了,比如敲個sw,就看到出來的自動完成列表裡面出現switch (...) {...},只有你選了才會上屏。不像原來敲個空格就“砰”展開,簡直就是一個SB弄得人家關都來不及。這個功能這回總算有了實用價值。不過現在加了一個 什麼Show light bulb的功能,就是在自動完成的時候行號列那裡會出現一個小燈泡的提示。這玩意用Eclipse的再熟悉不過了,不過這回SE也玩這個就感覺真是有點東 施效顰的。因為只要出現這個小燈泡,由於寬度擴充所以整個編輯區都會被右移一點,消失後又會左移一點……看了會暈的,我是趕快關掉了。另外現在Auto- Complete的設定可以說是細緻到極點了,連列表顯示不顯示表徵圖和分類什麼的雞毛蒜皮的東西都能讓使用者定製,這還是挺不錯的。對於這次的自動完成功 能,俺保守地打個9.5分(滿分10分)。剩下的0.5等著給未來的v12、v13加……
對於原有的介面布局,v11這回確實是改進了不少。原本SE在介面的易用性上就一直是很欠缺的,現在真的是好了很多。首先v11把很多視窗也Dock化 了。比如Backup History這類東西,也能Dock到邊上去(我是超級喜歡Backup History,真是個無敵後悔藥。我都把最大備份的版本數設定到200了足以見俺的BT~~實在是Ctrl+S按得成條件反射了敲兩個字母就按一把,所 以我的Backup的版本號碼就漲得賊快~~)。還有就是References視窗,可以切換Preview區的顯示與否。我是非常喜歡新的能夠關閉Preview區的布局。這樣References視窗就能Dock到側邊去了,縱向顯示面積大了不少,而Preview完全又能利用Symbol視窗,看得面積大還省了切換的麻煩,早該設計成這樣了!
優點太多了,其它的俺懶得說了,現在開始抱怨缺點。Slickedit曆史來似乎次版本號碼是0的都是比較buggy的 東西,比如v9和v10~~特別是v10.0真是把我搞怕了動不動就崩潰,後來就一直用v9.04直到10.01補丁發布了才穩定下來換了過去。這回的 v11.0同樣是有不少bug,不過幸好穩定性還是非常好的和10.03相當。目前發現的比較主要的bug有兩個。一個似乎是新增加的Regex Evaluator工具帶來的。這個工具真的是很贊的寫Regex太方便了。簡直可以頂替一些專業的Regex工具了。不過就是這個玩意弄得我每次進入和退出Slickedit的調試視圖的時候後導致vsapi.dll報 錯(不是什麼致命錯誤,只是出來個醜陋的對話方塊曆數regex.ex的幾大罪狀罷了)。如果我關閉了Regex Evaluator,那就是進入調試視圖的時候沒事,退出報錯。要是在開啟的時候進調試視圖那一進去就報錯了。可以確定就是這玩意有什麼bug的(應該是 宏寫的有問題)。不過可以安慰的是除了顯示個錯誤提示以外功能是沒有任何影響的也不會造成其它問題。況且我做嵌入式的也不會用到Slickedit的這個 調試介面,不管了。
另一個bug則是折騰了我好半天的。可能還是vsapi.dll那個玩意的問題:Slickedit提供的基本api之一:_GetTextColor()居然不能用了!!在v11的使用手冊裡面還有列出這個介面,在builtin.e裡 面也聲明了這個函數,但是就是不能用!!一調用就報函數未定義的錯誤!!我搜尋了一把原來v11內建的宏,發現裡面沒有都使用這個介面的,難怪沒有被開發 者發現。不清楚這個到底是新版本裁掉了這個介面還是說就是個調用bug的。這個錯誤弄得我在v10裡面用的一個實作類別似SourceInsight單詞高 亮功能的宏沒法用了。很鬱悶的又花了我半個小時讀了代碼改寫了這個宏,繞過這個問題介面才搞定。
最後是關於我之前十分期待的Comment Wrap功能。經過實驗以後發現居然不支援中文! 唉對中文支援極好的Slickedit的英名終於被新增加的這個Comment Wrap給毀了。不支援中文體現在:1,輸入中文的時候wrap功能無效,到了指定寬度不給折行;2,只要wrap功能生效,被折行過的注釋中所有的中文 都會消失變成一堆亂七八糟的字元。我是感覺可能是把雙位元組中的高几位給掩掉了還是怎麼這了。反正這個功能只要你還用中文寫注釋,就千萬別開。如果用英文寫 注釋的話,我實驗了一下確實還是很好用的。