2017-08-26 39 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

哇......你不会相信这个,但老实说我不知道​​这个功能。我的意思是我看到各种各样的弹出提示出现在那里,但从来没有停下来看看出现的内容。原谅我,因为我还是个新人,大多数情况下,这只是一个爱好。我按照你的建议做了,我确实可以看到定义,并在弹出提示中显示父类。全部不需要“窥视”。谢谢。 –

相关问题