2012-09-22 5 views
1

MVC 면도기를 사용하면 @ Url.Content ("~/images/someimage.png")를 자주 쓰고 그 문자열에 인텔리 센스를 얻습니다. 어떻게 든 경로라는 것을 알게됩니다.intellisense on Url.Content

Url.Content()에 대한 확장 메서드를 만들었지 만 path 매개 변수를 입력 할 때 인텔리 센스를 얻지 못합니다.

매개 변수에 넣을 수있는 속성이 있는지 또는 더 좋은 방법 (재정의?)을 알고 있다면 기본 Url.Content의 동작을 바꿀 수 있습니까?

public static string ContentExtended(this UrlHelper urlHelper, string contentPath) 
    { 
     string result = urlHelper.Content(contentPath); 

     // do stuff here to remove application folder name on godaddy hosting 

     return result; 
    } 

편집 : ReSharper에서를 사용하고, 그냥 일반 VS 사용자가 실제로 필요가 없습니다하는 ReSharper에서 특정 기능을 수 있습니다 깨달았다. 나는 Resharper 인텔리 센스를 비활성화 시켰고 방금 VS 인텔리 센스를 켜 놓았습니다. 경로 특정 자동 완성은 작동하지 않았습니다. 그래서 이것은 ReSharper에서 기능이 아니라 프로그래밍 문제입니다

답변

5

속성 수있다. ContentPath 매개 변수를 PathReferenceAttribute 특성으로 표시해야합니다. ReSharper → 옵션 → 코드 검사 → 코드 주석에서 프로젝트의 구현을 복사 할 수 있습니다.

+0

환상적! 이것은 내가 필요로하는 것이 었으며 지시 사항을 요약 해 보았습니다. 함께 올 사람에게는 조금 더 명확하게 해줄 것입니다 : ReSharper → 옵션 → 코드 검사 → 코드 주석 → "기본 구현을 클립 보드로 복사"를 클릭하십시오. 새 클래스 파일을 만들고 결과를 붙여 넣습니다. 다음과 같이 매개 변수에 특성을 추가하십시오. public static string ContentExtended (이 UrlHelper urlHelper, [JetBrains.Annotations.PathReference] string contentPath) –

0

당신은 XML 문서를 제공해야 할 것 : 이것은 단지 확장 방법에 대한 아닙니다

/// <summary> 
/// Lorem ipsum... 
/// </summary> 
/// <param name="urlHelper">The helper to provide content to</param> 
/// <param name="contentPath">The path to the content</param> 

를 - 그것은 (에 의해 선택 방법이 문서를 제공입니다 IntelliSense). 당신은 인텔리이 가능한 값을 제안 측면에서 그 이상 뭔가에 대해 얘기하는 경우

, 것을 그것이 정말 ReSharper에서의 기능이다, ... 매트

+0

저는 매개 변수가 무엇인지에 대한 인텔리 센스 도움을 의미하지는 않습니다. 특정 "경로"인텔리 센스를 의미합니다. 즉 Url.Content를 사용할 때 ~/im을 입력하자마자 위의 예제를 사용하여 (필요하다면 CTRL + SPACE를 누름) "~/images /"를 입력하면됩니다. 그것은 그것이 길임을 안다. –