不确定这是否可行,但考虑到我们可以轻松导航到方法调用的实现(或者至少是可能的实现的选择)的方式,甚至可以语法突出显示代码覆盖 - 有没有办法执行'搜索'或者概述可以在给定的突出显示部分中运行的所有代码?
I.E如果我突出显示代码
// Block array
Block[] block = new Block[150];
// Matrix
byte[] pos = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 };
// These values are increased with a Timer
int xBall = 500;
int yBall = 800;
public LevelGenerator() {
createBlocks(pos);
}
private void createBlocks(byte[] posi)
{
for (int a = 0; a < posi.Length; a++)
{
switch (posi[a])
{
case 1:
block[a] = new Block(posi, a, form);
block[a].BackColor = Color.Red;
this.Controls.Add(block[a]);
block[a].BringToFront();
break;
case 2:
block[a] = new Block(posi, a, form);
block[a].BackColor = Color.Orange;
this.Controls.Add(block[a]);
block[a].BringToFront();
break;
case 3:
block[a] = new Block(posi, a, form);
block[a].BackColor = Color.Yellow;
this.Controls.Add(block[a]);
block[a].BringToFront();
break;
case 4:
block[a] = new Block(posi, a, form);
block[a].BackColor = Color.Lime;
this.Controls.Add(block[a]);
block[a].BringToFront();
break;
case 5:
block[a] = new Block(posi, a, form);
block[a].BackColor = Color.LightBlue;
this.Controls.Add(block[a]);
block[a].BringToFront();
break;
case 6:
block[a] = new Block(posi, a, form);
block[a].BackColor = Color.Blue;
this.Controls.Add(block[a]);
block[a].BringToFront();
break;
case 7:
block[a] = new Block(posi, a, form);
block[a].BackColor = Color.BlueViolet;
this.Controls.Add(block[a]);
block[a].BringToFront();
break;
case 8:
block[a] = new Block(posi, a, form);
block[a].BackColor = Color.Purple;
this.Controls.Add(block[a]);
block[a].BringToFront();
break;
}
}
}
我可以对X Y Z和A类中的代码进行搜索吗?或者至少可以查看为该代码段运行的所有代码?
请原谅我,如果它没有多大意义,但我认为这绝对是非常棒的,特别是当你跳进一个你不熟悉的项目时!
对于问题目的的Visual Studio,但我对任何实现此目的的IDE /插件感兴趣。
答案 0 :(得分:0)
Code Map可能会做你想要的。正如文章所说,它可以帮助你
- 了解.NET应用程序的整体架构。
- 通过逐步深入细节,分析该架构中浮现的依赖关系。
- 通过构建特定代码元素的依赖关系图,了解并分析建议的更改对代码的影响。
Call Hierarchy也可能有所帮助。正如文章所说
调用层次结构使您可以通过显示所选方法,属性或构造函数的所有调用来浏览代码。这使您可以更好地了解代码的流动方式并评估代码更改的效果。您可以检查多个级别的代码,以查看方法调用的复杂链和代码的其他入口点,这使您可以探索所有可能的执行路径。
此外,您可以随时调试并逐步执行代码以查看它在不同情况下的作用,然后查看调用堆栈等以跟踪您的调用和变量。