2013-05-03 68 views
1

這是一個相當直接的問題,但我無法找到有關此特定類型格式的答案。我正在尋找一種方法來修改eclipse在放置光標後使用其內容輔助來根據方法是否有任何參數來完成方法調用。使用void參數調用方法時的光標放置

來說明究竟是什麼我談論讓我們考慮一個簡單的C++類,像這樣:

class Example 
{ 
    public: 
     int voidParams() 
     { 
      //do something 
      return 42; 
     }; 
     int nonVoidParams(int a) 
     { 
      //do something else 
      return a*a; 
     }; 
}; 

,在某些時候,如果我我創建的類Example ex;

的一個實例,現在Eclipse中開始輸入ex.nonV,我告訴eclipse自動完成它將輸入ex.nonVoidParams(),做完這些之後,我的光標將在括號內,如ex.nonVoidParams(|),其中|是我的光標。這是有道理的,因爲我需要給這個特定的方法一個參數。

希望我所說的對任何人都不陌生,而且都非常簡單。這就是我的問題出現的地方。將我的光標置於方法調用的括號內僅在該方法帶有參數時纔有用。如果我輸入ex.voi並讓eclipse自動完成到ex.voidParams()我的光標將會在括號內,如ex.voidParams(|),其中|是我的光標。這不是很有用,因爲我沒有什麼可進入的。

我想知道是否有一種方法來設置Eclipse中,因此,在上述的例子,如果它自動完成與無效的參數,如ex.voidParams()的方法是將光標置於像這樣ex.voidParams()|再次其中|方法調用後是我的光標。

我對自定義eclipse並不是很熟悉,但我覺得應該有一種方法來做到這一點,因爲如果eclipse自動完成方法調用,它應該知道它的參數是什麼,並且能夠從那裏調整它的格式。

哦,這可能會問,在某些時候,我目前正在使用Eclipse CDT版本4.2.0(Juno服務版本2)。

+0

似乎有很多工作可以通過點擊「正確的光標移動鍵」來解決某些問題。我並不完全瞭解CDT如何找出函數的參數,但我很確定告訴函數具有什麼參數並不重要。 – 2013-05-03 21:08:28

+0

你可以嘗試的一件事是去窗口 - >首選項 - > C++ - >編輯器 - >模板這將告訴編輯器放置光標的位置。定義一個符合你想要的正則表達式可能會很棘手。 – TemplateRex 2013-05-03 22:47:27

回答

2

轉到Window-> Preferences-> C++ - > Editor-> Content Assist-> Advanced,選擇「Parsing-based Proposals」而不是「Parsing-based Proposals(Task-Focused)」。

+0

金色!這兩種提案類型有什麼區別? – shaffooo 2016-11-02 18:05:25

相關問題