2013-01-31 3 views
7

생성 된 모델로 면도기 템플릿을 구문 분석하기 위해 개발 한 사내 도구를 사용하고 있습니다. 이제 파싱하기 위해 매번 템플릿을로드해야합니다. 나는 그것을 작성하는 동안 cshtml을 미리 볼 수 있도록 edior를 추가하려고 했으므로 가장 좋은 방법은 시각적 인 스튜디오 확장으로 만드는 것이라고 생각했습니다.cshtml 면도기 편집기의 디자이너보기를 추가하는 방법이 있습니까?

나는 웹을 연구했고 VS에 대한 사용자 지정 편집기를 작성할 수있는 것처럼 보이지만 편집자 자체를 작성해야한다.

VS2012에 내장 된 기존의 면도기 편집기를 사용하고 면도기 편집기에서 현재 텍스트를 가져 오는 미리보기 탭을 추가하여 미리보기를 표시 할 수 있습니까?

이유는 기존의 에디터가 처리 착색, 인텔리, 에러를 사용하려는 등

답변

9

가 더 내장 지원 면도기 (CSHTML 및 VBHTML) 파일의 디자인보기를.하지 그 이유 중 하나는 코드와 HTML이 혼합되어 있기 때문입니다.이 코드는 "매우 어렵다"에서 "불가능"까지 분석 할 수 있습니다.

VS2012에는 페이지 인스펙터라는 멋진 기능이 있습니다. 페이지 인스펙터는 실제 렌더링 된 페이지를 생성 한 코드 (예 : 면도기 뷰)와 그 사이의 매핑을 보여줄 수 있습니다. 일부 콘텐츠 레이아웃 페이지 또는 부분보기에서 가져온 것입니다.

http://msdn.microsoft.com/en-us/library/hh420390(v=VS.110).aspx을 확인하고 기능을 자세히 설명하는 여러 블로그 게시물 및 비디오에 대한 링크가 포함 된 "페이지 검사기"섹션을 찾으십시오.

여기 발췌입니다 :

페이지 관리자가 직접 비주얼 스튜디오 IDE 내에서 웹 페이지 (HTML, 웹 양식, ASP.NET MVC, 또는 웹 페이지)를 렌더링하는 도구입니다. Page Inspector를 사용하여 소스 코드와 결과 출력을 검사 할 수 있습니다. ASP.NET 페이지의 경우 페이지 관리자를 사용하여 브라우저에 렌더링되는 HTML 태그를 생성 한 서버 측 코드를 확인할 수 있습니다. Page Inspector는 기본 ASP.NET 번들 및 축소 기능이 활성화 된 경우에도 작동합니다.

+0

디자인 타임에 구문 분석하는 것이 "불가능"하다고 판단되는 경우 어떻게 런타임에 왜 그렇게 쉽게 파싱됩니까? 코드 세그먼트를 정적 자리 표시 자 값으로 바꿀 수없는 이유는 무엇입니까? – Dan

+0

@ 면도기 파서는 HTML이나 C#을 약간 파싱합니다. 주로 전환을 나타내는 '@'와 HTML과 C# 사이의 전환이 암시 적으로 나타나는 몇 가지 다른 장소 (예 : C# 블록에 직접 HTML 태그가있는 경우 (C#). C#과 HTML이 진화하고 있다는 사실을 덧붙여 면도기 파서는 해당 언어 중 하나의 * 대부분의 변경 사항이 파서에 영향을 미치지 않도록 작성되었습니다. 그래서 아마도 진실은 "불가능하다"보다는 "매우 어렵다". – Eilon

+1

페이지 검사기가 VS 2015에 존재하지 않습니다. :( – Dan

관련 문제