2008年8月29日 星期五

關於eclipse的快速鍵使用

Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
Ctrl+D: 删除当前行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
Ctrl+M 最大化当前的Edit或View (再按则反之)
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变味小写
Ctrl+Shift+Y 把当前选中的文本全部变为小写
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)

下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)
Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)
Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)
Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)
Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)
Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)
Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
Alt+Shift+V 移动函数和变量(不怎么常用)
Alt+Shift+Z 重构的后悔药(Undo)

编辑
作用域 功能 快捷键
全局 查找并替换 Ctrl+F
文本编辑器 查找上一个 Ctrl+Shift+K
文本编辑器 查找下一个 Ctrl+K
全局 撤销 Ctrl+Z
全局 复制 Ctrl+C
全局 恢复上一个选择 Alt+Shift+↓
全局 剪切 Ctrl+X
全局 快速修正 Ctrl1+1
全局 内容辅助 Alt+/
全局 全部选中 Ctrl+A
全局 删除 Delete
全局 上下文信息 Alt+?
Alt+Shift+?
Ctrl+Shift+Space
Java编辑器 显示工具提示描述 F2
Java编辑器 选择封装元素 Alt+Shift+↑
Java编辑器 选择上一个元素 Alt+Shift+←
Java编辑器 选择下一个元素 Alt+Shift+→
文本编辑器 增量查找 Ctrl+J
文本编辑器 增量逆向查找 Ctrl+Shift+J
全局 粘贴 Ctrl+V
全局 重做 Ctrl+Y


查看
作用域 功能 快捷键
全局 放大 Ctrl+=
全局 缩小 Ctrl+-


窗口
作用域 功能 快捷键
全局 激活编辑器 F12
全局 切换编辑器 Ctrl+Shift+W
全局 上一个编辑器 Ctrl+Shift+F6
全局 上一个视图 Ctrl+Shift+F7
全局 上一个透视图 Ctrl+Shift+F8
全局 下一个编辑器 Ctrl+F6
全局 下一个视图 Ctrl+F7
全局 下一个透视图 Ctrl+F8
文本编辑器 显示标尺上下文菜单 Ctrl+W
全局 显示视图菜单 Ctrl+F10
全局 显示系统菜单 Alt+-


导航
作用域 功能 快捷键
Java编辑器 打开结构 Ctrl+F3
全局 打开类型 Ctrl+Shift+T
全局 打开类型层次结构 F4
全局 打开声明 F3
全局 打开外部javadoc Shift+F2
全局 打开资源 Ctrl+Shift+R
全局 后退历史记录 Alt+←
全局 前进历史记录 Alt+→
全局 上一个 Ctrl+,
全局 下一个 Ctrl+.
Java编辑器 显示大纲 Ctrl+O
全局 在层次结构中打开类型 Ctrl+Shift+H
全局 转至匹配的括号 Ctrl+Shift+P
全局 转至上一个编辑位置 Ctrl+Q
Java编辑器 转至上一个成员 Ctrl+Shift+↑
Java编辑器 转至下一个成员 Ctrl+Shift+↓
文本编辑器 转至行 Ctrl+L


搜索
作用域 功能 快捷键
全局 出现在文件中 Ctrl+Shift+U
全局 打开搜索对话框 Ctrl+H
全局 工作区中的声明 Ctrl+G
全局 工作区中的引用 Ctrl+Shift+G


文本编辑
作用域 功能 快捷键
文本编辑器 改写切换 Insert
文本编辑器 上滚行 Ctrl+↑
文本编辑器 下滚行 Ctrl+↓


文件
作用域 功能 快捷键
全局 保存 Ctrl+X
Ctrl+S
全局 打印 Ctrl+P
全局 关闭 Ctrl+F4
全局 全部保存 Ctrl+Shift+S
全局 全部关闭 Ctrl+Shift+F4
全局 属性 Alt+Enter
全局 新建 Ctrl+N


项目
作用域 功能 快捷键
全局 全部构建 Ctrl+B


源代码
作用域 功能 快捷键
Java编辑器 格式化 Ctrl+Shift+F
Java编辑器 取消注释 Ctrl+\
Java编辑器 注释 Ctrl+/
Java编辑器 添加导入 Ctrl+Shift+M
Java编辑器 组织导入 Ctrl+Shift+O
Java编辑器 使用try/catch块来包围 未设置,太常用了,所以在这里列出,建议自己设置。
也可以使用Ctrl+1自动修正。


运行
作用域 功能 快捷键
全局 单步返回 F7
全局 单步跳过 F6
全局 单步跳入 F5
全局 单步跳入选择 Ctrl+F5
全局 调试上次启动 F11
全局 继续 F8
全局 使用过滤器单步执行 Shift+F5
全局 添加/去除断点 Ctrl+Shift+B
全局 显示 Ctrl+D
全局 运行上次启动 Ctrl+F11
全局 运行至行 Ctrl+R
全局 执行 Ctrl+U


重构
作用域 功能 快捷键
全局 撤销重构 Alt+Shift+Z
全局 抽取方法 Alt+Shift+M
全局 抽取局部变量 Alt+Shift+L
全局 内联 Alt+Shift+I
全局 移动 Alt+Shift+V
全局 重命名 Alt+Shift+R
全局 重做 Alt+Shift+Y

摘自:http://blog.csdn.net/hulefei29/archive/2008/08/09/2789659.aspx

2008年8月27日 星期三

Using a Singleton with Smarty (syntax and usage questions)



$smarty = MySmarty::getInstance();
$smarty->testing(); #does work


class MySmarty
{

public static function getInstance()
{
if (self :: $instance === NULL)
{
self :: $instance = new MySmarty();
include('Smarty.class.php' );

self :: $smarty = New Smarty;
self :: $smarty -> caching = false;
self :: $smarty -> template_dir = $SMARTY_TEMPLATE_PATH."/templates/";
self :: $smarty -> compile_dir = $SMARTY_TEMPLATE_PATH."/templates_c/";
self :: $smarty -> config_dir = $SMARTY_TEMPLATE_PATH."/configs/";
self :: $smarty -> cache_dir = $SMARTY_TEMPLATE_PATH."/cache/";
self :: $smarty -> assign('app_name', 'HTML Email');
self :: $smarty -> compile_check = true;
self :: $smarty -> debugging = false;

}
return self :: $instance;
}

private function __clone()//do not allow clone
{
}

static private $smarty = false;
static private $instance = NULL;



// Example method
public function testing()
{
echo 'Testing!';
}
}


摘自:http://www.phpinsider.com/smarty-forum/viewtopic.php?t=13781&highlight=static

TortoiseSVN: 解決TSVNCache佔用CPU過高的設定

竟然被中文介面誤導了這麼久!如果你偶爾在工作管理員裡發覺TSVNCache.exe突 然耗用許多CPU資源(有時會超過50%),那要趕緊去檢查TortoiseSVN的 設定。原來是這個常駐的Process會定時去掃描受Subversion控 管的檔案是否被修改了,掃描到後,這些被修改的檔案、與其所屬的子目錄、目錄等的覆蓋圖示都一併更新,而就是這個動作不僅佔用約10-50 MB記憶體,也會瞬間衝出超過CPU 50%負載。

圖示覆蓋與狀態欄更新設定
打開TortoiseSVN的 【設定視窗(Settings)→視覺樣式(Look and Feel)→圖示覆蓋(Icon Overlays)】,右邊第一個Radio Group名稱「圖示覆蓋/狀態列」的英文是「Icon Overlays/Status Columns」,其中的Status Columns應譯成狀 態欄才對,它指的是在檔案總管裡把顯示模式切換成詳細資料時, 標題欄位裡的Subversion欄位是否要同步更新狀態。如果你只會在檔案總管裡操作Subversion狀態的話,應該把「僅在檔案總管中顯示圖示覆 蓋」打勾,以免除另存新檔、開啟檔案等對話窗也更新圖示狀態。但我有時會在Total Commander裡操作Subversion,因此就不能勾選。

狀態快取設定
右邊第二個Radio Group名稱譯成「狀態列」,讓人誤解成以為是顯示訊息的狀態列設 定,但其實英文是Status Cache-狀態快取設 定,指的是資料夾與檔案圖示的SVN小圖示的覆蓋狀態的處理模式。Status Cache有3個選項:

Default
預設的快取設定,使用TSVNCache.exe 來定時掃描檔案系統,找到要變動的檔案後發出更新圖示的通知給作業系統

Shell
在Shell extension裡,只針對目前所在資料夾做圖示異動更新;只佔用1MB記憶體,但因只快取一個資料夾,當Working copy內容較多時會花較多時間才能更新完畢

None
不做任何圖示覆蓋快取,因此圖示更新速度較慢

我特別做了測試把狀態改用Shell,重新開機後工作管理員裡就找不到TSVNCache.exe 了,用檔案總管檢視Working copy資料夾時,圖示覆蓋以較緩慢的速度顯示出來。

磁碟機類型
磁碟機類型是指定讀取Subversion檔案狀態的對象,建議選硬碟,以免別的媒體較慢的讀取速度造成TortoiseSVN效 能低落。

在Subversion Forum這篇討論裡也有如下建議:

把A:\*、C:\*、D:\*到Z:\*都加到除外路徑裡,表 示每個磁碟都不做異動掃描
再把工作中的Working copy加入包含路徑,如c:\NewProject\*、 d:\NewWD
再試用觀察一陣子再來確認應該用那樣的設定較好。

摘自:http://blog.roodo.com/emisjerry/archives/3979261.html

2008年8月26日 星期二

Dreamweaver 8支援smarty

現在開發程式與軟體一定要有好的工具,千萬不要呆呆的用記事本來做
一定要找IDE工具,它會把一些常用的東西會幫你用好
這樣開發速度才會快也比較不容易出錯
網頁編輯是用dreamweaver 8,雖然他要錢但還真好用
千萬不要用frontpage來編輯因為它會自做主張幫你加些東西,太聰明也不好
程式語言是用php來開發,php有使用smarty樣板,它是一套很好用的樣版系統,可以讓程式碼與網頁程式分離
網頁在設計時有用到smarty語法,會使整個格式亂掉,當然放在網站就看是沒問題
但在dreamweaver畫面上編輯就變的不方便,還好dreamweaver也有smarty的外掛元件
可以安裝dreamweaver_smartytags這個元件
http://smarty.php.net/contribs/misc/dreamweaver_smartytags.zip
下載之後解壓將smartytags目錄複製放入,安裝dreamweaver目錄\Configuration\ThirdPartyTags\
就可以看到元件,但是重新啟動還是沒有動靜,照理說應該就能用了很奇怪

這是在網路上看到的
好像還要裝一個元件才可以用
安裝smarty_ext這個元件 在這http://www.scottwilburn.com/2006/05/12/smarty/裡面有介紹也可以從該頁下載
這個元件就要用dreamweaver管理擴充功能來安裝
安裝這個再重新啟動就看到smarty的{$xxxx}變成圖片了
可能要安裝二個才能用,那也沒關係啦就一併安裝

2008年8月25日 星期一

解决IE6、IE7、Firefox兼容最简单的CSS Hack

很早就在这里看到过解决方案,与嗷嗷讨论后发现这个方案还是很可靠的。当然,唯一的缺点就是每一个属性都要去Hack,但我在很多实践中,只用‘修正’1-2个属性就可以了。

具体写法很容易:

#someNode
{
position: fixed;
#position: fixed;
_position: fixed;
}

第一排给Firefox以及其他浏览器看
第二排给IE7(可能以后的IE8、IE9也是如此,谁知道呢)看
第三排给IE6以及更老的版本看
最好的应用就是可以让IE6也“支持”position:fixed,而且,配合这个原理,可以做到不引入JavaScript代码(仅用IE6的expression),我这里有一个现成的页面,CSS如下写:


#ff-r
{
position: fixed;
_position: absolute;
right: 15px;
top: 15px;
_top: expression(eval(document.compatMode &&
document.compatMode=='CSS1Compat') ?
documentElement.scrollTop+15 :
document.body.scrollTop +
(document.body.clientHeight
-this.clientHeight));
}


是不是很方便:)


摘自:http://www.awflasher.com/blog/archives/1080

2008年8月19日 星期二

Eclipse JS Encoding

在使用Eclipse 編輯 JS 時 ,不管用哪個外掛編輯器,
再輸入中文字後存檔,在打開時都會發生字體變成亂碼????
這是由於Eclipse一個顯示bug

https://bugs.eclipse.org/bugs/show_bug.cgi?id=90241

原因就是 JS 的文件他是用 US ASCII 寫的,所以預設編碼是 ASCII
在改成UTF-8即可以了,不過改的地方需要注意
Preferences -> General -> Editers 這邊 改Text File encoding (預設是MS850) 是沒用的
需到 Preference -> General -> content type 點選 JavaScript
在 Default Encoding: US ASCII Code 改成 UTF-8 即可

這裡指的是文件編碼,和網頁編碼不一樣喔。檔案編碼常受限編輯器設定關係。

摘自:http://zteman.blogspot.com/2006/09/eclipse-js-encoding.html

2008年8月7日 星期四

[MySQL]mysql --default-character-set=utf8資料匯入問題

[案例]
1.公司的MySQL DBServer編碼為[big5]
2.UrWawa的urwawacom_db.sql檔為[utf8]

[匯入方式]

mysql -u mysql_root --default-character-set=utf8 -p urwawacom_db < urwawacom_db.sql


即可

2008年8月4日 星期一

[CakePHP]findAll / find 使用OR conditions


$this->User->findAll("User.firstname = 'Daniel' OR User.firstname = 'Hugo'");
$this->User->findAll(array('or' => array("User.firstname" => 'Daniel'), array("User.firstname" => 'Hugo')));

2008年8月3日 星期日

測試你的網站在不同瀏覽器的顯示狀況

browsershots.org:Test your web design in different browsers 讓你可以測試你的網頁設計在不同瀏覽器上呈現的樣子,對於網站製作者來說是一個不可多得的好網站!使用方法很簡單,僅須在中間的框框中輸入網址(注意後面必須要有檔名,如 index.htm, index.php 等等),然後點選 Start ,即可選擇您想使用哪些瀏覽器測試,接著等待一段時間後(上方會顯示還須等待多久),重新整理網頁即可看到縮圖

摘自:http://www.freegroup.org/free-online-tools-browsershots

wibiya widget