2017-08-26 81 views
1

我不經常發帖,我試圖做我的研究,但根本找不到我的願望是否可以使用Visual Studio 2017社區編輯器。我是C#的入門級程序員,現在正在學習有關子類的知識。這是我的心願(和問題):如何在Visual Studio編輯器中突出顯示子類中的類變量

我曾經在一個單獨的文件(父類)開發的一類。這是一個非常簡單的類,帶有一些公共變量。現在在一個單獨的文件中,我有另一個基於Parent的子類Child(Parent:Parent)。在Child類中,我使用Child中可用的Parent變量。一切都很好,編譯器不會將我的代碼標記爲錯誤。所以,好或壞,對或錯,我都會得到一些課程和子課程。

我對Visual Studio編輯器的願望是當我看着我的孩子上課,我發現自己想知道,這些變量從哪兒來的一些變量?他們在哪裏定義?然後,我有了我的一刻,並記住他們來自父級。如果我「窺視定義」的代碼,一切都很好地向我透露。

但我的問題是你可以Visual Studio編輯器以某種方式着色這些變量,在子類中使用,但在父類中定義?特別是當我的父類是在當前未打開另一個文件?

只是一個願望......否則我有什麼是好的,但它會很高興我的代碼很長一段時間後,希望只看到這些的時候變量源自另一種顏色的父類可能

我確實嘗試通過字體顏色設置,但老實說是不知所措,並且找不到直接打擊。

對這個非常低優先級的問題的任何幫助或意見將是受歡迎的。

謝謝。

+1

我不認爲有這樣的選擇。我從來沒有見過或甚至考慮過爲超級班級申報的成員加上不同顏色的可能性。我認爲事實是,你不需要它。當我現在看到一個新的變量時,我會查看它的名字並找出它的用途。只要編譯器不抱怨,該變量可能被聲明爲_somehwere_。 – Sweeper

+1

聽起來你想創建一個Rosyln分析器。它不是微不足道的,但比以前擴展VS的方法更簡單。 – Crowcoder

+0

謝謝Crowcoder的評論。我從來沒有聽說過Rosyln分析儀,但我會研究它。我很感激答覆。 –

回答

1

我不認爲在VS中有這樣的功能,反正你不需要它。根據評論中的Crowcoder,這可以通過編寫一個Roslyn分析器來完成,但我認爲你不應該這樣做,僅僅是因爲你想知道變量聲明在哪裏。相信我,你不需要它。

事實是,在大多數情況下,你是不是一個誰應該擔心究竟在何處時,你正在閱讀的代碼聲明一個變量。這是編譯器的工作。

如果你的變量和類是良好的命名,你就能立刻明白了,不用考慮「等等哪裏這是從哪裏來的?」。例如:

class Slime: Monster { 
    public Slime() { 
     Health = 10; 
    } 
} 

鑑於此代碼編譯成功,你需要擔心的地方Health定義?沒有!這是一個粘液!顯然它會有一個Health。你需要檢查定義以查看它的用途嗎?沒有!從名字中,我們可以清楚地看到它代表了粘液有多少健康。

基本上,我的意思是,如果你可以編寫具有良好命名的變量的代碼,你就可以找出每一個變量做什麼不看的定義。

+0

非常感謝你清掃我的問題的答案。現在我可以明白你的意思了。正是這句話給我帶來了回憶:「當你閱讀代碼時,你不應該擔心變量的確切位置,這是編譯器的工作。」你可能知道,也許是因爲我是一個初學者,我只是想知道我的代碼的所有內容(老實說我幾個月沒有看過)。但是你是對的......在審查代碼時,如果編譯器不畏懼它是類的一部分,那就是我所需要知道的。再次感謝你。 –

1

將鼠標懸停在成員變量上會告訴你它在哪裏被聲明,如果在X的sublcass中,並懸停在'foo'(它是一個在X中聲明的整數),它會顯示您int X.foo。這與你所問的不一樣,正如其他人所評論的那樣,並不容易,但它是迄今爲止最簡單的方法,並且不需要Peek Definition。

+0

哇......你不會相信這個,但老實說我不知道​​這個功能。我的意思是我看到各種各樣的彈出提示出現在那裏,但從來沒有停下來看看出現的內容。原諒我,因爲我還是個新人,大多數情況下,這只是一個愛好。我按照你的建議做了,我確實可以看到定義,並在彈出提示中顯示父類。全部不需要「窺視」。謝謝。 –

相關問題