3

나는 관찰 가능한 컬렉션 m_Tree를 가지고 있습니다. 그것은 Name 속성을 가진 Planet 타입의 객체를 포함합니다. 컬렉션에는 수백 개의 항목이있을 수 있습니다. VS의 QuickWatch 창에서 Planet.Name = "Jupiter"를 빨리 찾는 방법은 무엇입니까?Visual Studio QuickWatch - 빠른보기 창에서 컬렉션의 항목을 빠르게 찾는 방법

현재 수동으로 컬렉션의 각 차량을 확장하고 이름을 찾아야하지만 문제가 될 수 있습니다. Lambda 식 또는 LINQ는 내가 볼 수있는 한 QuickWatch에서 작동하지 않습니다. 여기

내가 LINQ

from item in m_Tree where item.Name == "Jupiter" select item 

으로 뭘하려하지만, 간략한는 item.Name는 == "목성"쿼리 표현식을 포함 할 수 없습니다 항목
표현을 선택 m_Tree의 항목에서 오류

을 보여줍니다

+1

참조 http://stackoverflow.com/questions/36264959/is-there-a-data-grid-for-the-watch-window-in-visual-studio –

답변

1

제 대답은 QuickWatch에서하는 것이 아니지만 직업을 얻는 데 도움이 될 수 있습니다. 끝난.

디버그 모드에있는 동안 Immediate Window을 사용하면이를 수행 할 수 있습니다. 아직 열려 있지 않으면 직접 실행 창을 열고 쿼리를 실행하십시오.

var jupiters = (from item in m_Tree where item.Name == "Jupiter" select item).ToList(); 
jupiters // prints the objects in the Immediate Window 

저는 직접 실행 창을 많이 사용하며 매우 유용합니다. 희망도 당신을 도와줍니다.

+1

OP는 이것을 VS2013 질문으로 태그 지정했지만, 그리고 당신이 제안하는 것은 VS2015 이상에서만 작동합니다. –

+0

죄송합니다. VS2013에서는 사용할 수 없다는 것을 알지 못했습니다. 그 점을 지적 해 주셔서 감사합니다. –

+0

감사하지만 LINQ 나 lambdas는 직접 실행 창이나 QuickWatch에서 작동하지 않습니다.이 질문을 게시하기 전에 시도했습니다. – cd491415

3

정확하게이 문제를 해결하기 위해 commercial extension for Visual Studio을 만들었습니다. OzCode는 일반적인 QuickWatch 및 DataTip (변수 위에 마우스를 올려 놓음) 창을 대체합니다. 그냥 텍스트로 속성 값을 찾고 있다면, 당신은 검색 기능을 사용할 수 있습니다

Search

그러나 당신이 "목성"에만 "이름"에서의 값 특성,하지를 원하는 경우 다른 모든 속성에서 OzCode의 필터를 사용할 수 있습니다. Filter

그리고 [obj].Name == "Jupiter"을 입력하십시오.

+1

니스! 나는 이것이 OP의 요구 사항을 만족시킬 것이라고 생각한다. +1 멋진 애니메이션. –

+0

감사합니다. 유용합니다. 나는 OzCode가 자유다고 생각하지 않는다. – cd491415

+0

@ cd491415 오머의 제안이 도움이된다면 대답으로 표시해 주시겠습니까? 그래서 같은 이슈를 만난 다른 커뮤니티 회원들을 도울 수 있습니다. –