2009年11月27日

[Tips] RunToCursor 讓你不必設定中斷點也能暫停


以往坎尼要用 Visual Studio 進行除錯模式
都會先在要停留的地方設定中斷點及中斷條件

 不過真的有時很懶惰只想用滑鼠,就會用到今天介紹的小技巧

I. 使用方式

首先把游標移到要中斷的地方點右鍵,選 Run To Cursor (中文好像是「執行至游標處」)
然後就會看到 Visual Studio 自己進入 debug 模式


接著只要程式運行到要中斷的地方,便會停止


可以配合快速監看式,一整個左手就是閒置狀態


不過可以看到的是,其實這邊並無中斷點
因此只要讓程式繼續進行,下次再到這個位置就不會停下來

II. 小結

此次小技巧提供給和坎尼一樣懶惰的人 :D

另外再報個小技巧給不知道的人
中斷點如果是在 for 迴圈內,不想每次都一直按執行只為了看某個變數
可以在中斷點上按右鍵設定條件,當符合條件時,程式才會中斷

今天就到這邊,下次再見 :D

2009年11月15日

Visual Studio 2010 beta2 小用心得

這幾天坎尼開始試玩 vs2010 beta 2
不僅速度比beta1提升了不少,畫面也變的更漂亮了
今天就來幾個坎尼覺得不錯改進的地方吧

I. 關閉分頁

vs2008 以前的版本,要關閉目前的頁面,都要移到右上角
一不小心還會把 solution explorer 或 server explorer 打開來 (見下圖

有時候滑鼠移太快就會觸動到把右邊面板打開的事件,這點實在很煩人
(另外用右鍵選 close this tab 坎尼也是覺得很麻煩 XD


所以這點 vs2010 改成和一般瀏覽器很像,在每個分頁的右邊放了個小 X
以後就不用把滑鼠移到遙遠的右上角去關閉分頁了




II. Intellisense 的精進

vs2008以前的 Intellisense 都是以字母開頭來進行搜尋
所以像坎尼以前要找 Gridview 的 PagerRow 就無法一次找到
因為其實物件的名稱是 TopPagerRow 和 BottomPagerRow

所以 vs2010 又加入了新解藥,把 Intellisense 改成用 filter 的方式
鍵入 Pager 就會自動把所有有關 Pager 的屬性方法通通抓出來 (見下圖

鍵入 s 時,由於關鍵字太多不易查找



再多加個 y只會濾出與 sy 相關的 System、OperatingSystem、SystemException

如何,是不是很方便啊?
簡單來講,以前的 Intellisense 是用 like 關鍵字 +%
vs2010 的 Intellisense 是用 like % + 關鍵字 + %

2010/01/28 註:其實這個說法是有瑕疵的,可以見 這篇 的補充

III. 彈跳分頁

以前的分頁頂多左右切或上下切
現在 vs2010 又多給了一個選擇:把它拉出來 (見下圖


只要在分頁的頁籤上點住左鍵往外拉,分頁就會脫離母體
其實有點像 Google Chrome 的設計

IV. 小結

之前 beta1 由於性能太差,坎尼只玩了幾次之後就沒再開過  囧>
這次 beta2 可謂是令人眼睛一亮
用過之後不僅頭腦變好了,人變漂亮了,考試也都考100分
(雖然還是有很多小bug在,但無傷大雅)
還沒試過的人快點去 下載 吧

另外還可以參考 Scott Gu 的 vs2010 介紹系列
VS2010 and NET 4 Series


2009年11月11日

自製無用小工具系列 - 語系檔案顯示器

前幾天坎尼低調了窗邊奈奈美的佈景 (見下圖


本來想說用 notepad 打開 theme 檔來看一下每個音效檔的設定
沒想到 notepad 就是那麼不爭氣的無法顯示日文



當時手邊也沒可轉換的軟體...於是就開了 visual studio 自己寫一個

I.工具 UI

在畫面上先放個 Textbox 及 Button,做選擇檔案用
接著放個 comboBox,內容物是各種可轉換的 Encoding 語系
再放個 Button 當功能執行鍵
最後加入個 Multiline 的 Textbox 來顯示轉換過的內容


 

 

 

 

 

 

 

 

II. 功能 - 取得可支援的 Encoding

在載入程式的時候
坎尼直接用 System.Text.Encoding.GetEncodings() 抓取所有的 Encoding name
並把所有可用的 Encoding Name 放到 comboBox 裡去

這邊用 LINQ 語法直接抓出名稱















補充一下,LINQ 雖然可發音為 lin cue 或 lynx
不過印象中官方是讀為 link ,因為要 link to everything (Object、SQL、XML....)
使用上還是看個人,坎尼是比較喜歡讀成 link

III. 功能 - 轉換

接著就很簡單的用 StreamReader 加上 Encoding 參數
把資料轉成想要的編碼,再顯示在畫面上
















大功告成,來看一下成果吧

















這邊選擇的是日文系統用的 shift-jis 編碼
轉換之後就可以看到日文內容了 ^^

IV. 小結

當然這個程式也可以用來轉換簡體中文之類的內容檔
有興趣的人可以下載回去玩玩 ^^

本次的執行檔下載 (source code由於沒什麼技巧,就不放了
由於有用到 Linq 語法,所以執行的使用者要更新到 .net framework 3.5 以上

參考資料
LINQ 發音
System.IO.StreamReader Constructor
System.Text.Encoding.GetEncodings()

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D