使用快捷鍵,快到極致


前段時間曾經寫過一篇文章,《優秀程序員無他-善假於物也》。其中談到一點是優秀的程序員必須要能靈活的掌握常用軟件的快捷鍵。對於程序員來說,每天使用時間最長的軟件恐怕就是IDE(Integrated Development Environment)了。如果你是C#的程序員,那么就基本非Visual Studio莫屬了。而如果你是Java的程序員,那么eclipse,myeclipse或者Intellij都有人用之。如果你是Ruby等動態語言的程序員,那么Vim、Emacs、RubyMIne…有太多的選擇可以成為你的IDE。

下面我就用Intellij來給大家演示下使用快捷鍵是多么的強大,能提高多大的效率。(以下所使用的快捷鍵在eclipse中基本都有對應的快捷鍵。)

大家先看一個簡單的類。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class BeanConfig {  private String name;   private String className;   public BeanConfig(String name, String className) {  this.name = name;  this.className = className;  }   public String getName() {  return name;  }   public void setName(String name) {  this.name = name;  }   public String getClassName() {  return className;  }   public void setClassName(String className) {  this.className = className;  } } 

這是一個很普通的Value Object。創建這個類並寫完這些代碼需要多長時間那?不同人會給出不同的答案。使用快捷鍵與不使用快捷鍵有天壤之別。

不使用快捷鍵,你需要手寫全部的代碼。而使用快捷鍵,最多你只需要敲半行代碼。這半行代碼就是構造函數里的那兩個參數String name, String className

下面我就一步步的演示如何使用Intellij的快捷鍵來創建這個Value Object。

  • 使用Ctrl+1切換到project列表項,使用使用上下箭頭鍵選擇放置這個Value Object的package。

  • 使用Alt+Insert鍵調出創建對話框,選擇new class並回車。

    在彈出的Create New Class對話框中鍵入類名,並回車。

    最后生成如下的代碼。

1
2
public class BeanConfig { } 
  • 按esc鍵將光標移動到editor中,按下alt+Insert鍵調出Generate對話框,選擇Constructor項並回車。這樣會生成一個無參數的構造函數。

這是生成的代碼。

1
2
3
4
public class BeanConfig {  public BeanConfig() {  } } 
  • 光標移動到構造函數名后的小括號內,敲入這樣的代碼String name, String className

此時代碼如下。

1
2
3
4
public class BeanConfig {  public BeanConfig(String name, String className) {  } } 
  • 光標保持在構造函數的參數列表中,使用alt+Enter快捷鍵,選擇Create Fields For Constructor Parameters條目,然后回車。

在彈出的對快框中使用shift+下箭頭選中這兩個field並回車。

生成的代碼如下。

1
2
3
4
5
6
7
8
9
public class BeanConfig {  private final String name;  private final String className;   public BeanConfig(String name, String className) {  this.name = name;  this.className = className;  } } 
  • 刪除nameclassNamefinal修飾符。最快捷的方法是光標移動到final處,按Ctrl+W鍵選中整個字符,然后按Delete鍵。

此時代碼如下。

1
2
3
4
5
6
7
8
9
public class BeanConfig {  private String name;  private String className;   public BeanConfig(String name, String className) {  this.name = name;  this.className = className;  } } 
  • 光標移動到任意一個field處,使用alt+Insert彈出Generate對話框,選擇Getter and Setter條目按回車。

在彈出的Select Fields to Generate Getters and Setters對話框中,使用shift+下箭頭選中兩個field,按回車。

最終代碼生成。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class BeanConfig {  private String name;   public String getName() {  return name;  }   public void setName(String name) {  this.name = name;  }   public String getClassName() {  return className;  }   public void setClassName(String className) {  this.className = className;  }   private String className;   public BeanConfig(String name, String className) {  this.name = name;  this.className = className;  } } 

整個過程中不需要動一下鼠標,這意味着你的雙手根本不需要離開鍵盤。使用快捷鍵比不使用快捷鍵效率至少提高5倍,而且還不會出錯。最重要的一點是它能讓我們的大腦從這些繁瑣的體力勞動中解脫出來,從而集中到更需要發揮腦力勞動的地方。

其實靈活使用IDE的快捷鍵是一門大學問,我在和同事pair的過程中經常能從他們身上學到一些使用IDE的快捷鍵的妙處。以后有時間會專門整理出來share給大家。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM