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