Visual Studio 2008 jQuery Intellisense가 산발적으로 실패, 재시작 대 수정 사항

StackOverflow https://stackoverflow.com/questions/895270

문제

박쥐에서 바로, 이것은 당신의 표준이 아닙니다. 기록을 위해 :

  • Visual Studio 2008을 사용하고 있습니다
  • SP 1을 설치했습니다
  • -vsdoc.js 문서 파일 용 HotFix를 설치했습니다 KB958502

클래스 라이브러리에서 리소스로 패키지 할 수있는 상호 관련된 JQuery 플러그인 제품군을 개발하고 있습니다. 디렉토리 내에서 (예를 들어) : 다음과 같습니다.

  • jQuery-vsdoc.js
  • Core.js
  • 플러그1.js
  • plug2.js

Core.js에서는 파일 상단에 다음과 같습니다.

/// <reference path="jquery-vsdoc.js" />

그런 다음 각 플러그#.js에서 다음과 같습니다.

/// <reference path="jquery-vsdoc.js" />
/// <reference path="core.js" />

Intellisense는 플러그인에서 작업 할 때 Core.js의 추가 기능을 포함하여 처음에는 작동합니다. 그러나 때로는 참조 XML 태그에서 공간을 추가하고 제거하거나 CTRL-Shift-J를 누르면서도 가장 작은 변경으로 인해 끔찍한 "오류 업데이트 jscript Intellisense : 클라이언트 측 스크립트 지능형 정보가 오류로 인해 생성되지 않았습니다. 외부 스크립트 참조에서. " 1 초 전에 외부 스크립트 참조와 함께 작동하는 것을 제외하고!

jQuery-vsdoc.js의 경우 댓글 버전 1.3.2B (파일에서 말하는 것)를 사용하고 있습니다. http://jqueryjs.googlecode.com/files/jquery-1.3.2-vsdoc2.js. 필연적으로 업데이트 될 때 많은 참조를 변경할 필요가 없도록 파일에서 버전 번호를 생략하고 있습니다.

그렇다면 문제는 무엇 일 수 있습니까? Visual Studio를 다시 시작하면 끔찍한 공격적인 (및 시간 소모적) 해결 방법으로 입증되었습니다.

올바른 솔루션이 없습니다

다른 팁

Intellisense 타임 아웃을 늘리셨습니까?

기본적으로 모든 Intellisense 요청은 15s 만 실행할 수 있습니다. 이것은 무한 루프가있는 스크립트에서 Intellisense를 방지하기위한 것입니다. 대규모 스크립트 또는 느린 기계가있는 경우 시간 초과 제한을 늘리는 것이 합리적 일 수 있습니다. 다음 레지스트리 키 (Express 또는 전체 제품을 사용하는지에 따라 다름). 값은 밀리 초에 있으므로 15000보다 큰 것을 선택하십시오.

hkey_current_user Software Software Microsoft Microsoft VisualStudio 9.0 html 편집기 jsfailsafetimeout hkey_current_user Software Software Microsoft vwdexpress 9.0 html 편집기 jsfailsafetimeout

파일을 닫고 열기 상태를 재설정합니까?

작업 관리자를 열고 프로세스를보십시오. Ctrl-Shift-J를 누를 때 "typelibbuilder.exe"라는 프로세스가 시작됩니다.

나는 어떤 종류의 문제가 Vs의 재시작이 필요한지를 이미지화하려고 노력하고 있습니다. CTRL-Shift-J를 누를 때마다 새롭고 별도의 프로세스에서 참조 처리 (해당 메시지와 관련된)가 수행됩니다 (처리가 비활성화되지 않은 경우 다른 메시지가 표시되지 않는 한). VS와 TypelibBuilder의 통신이나 다른 필요한 구성 요소가 실패하는 것처럼 들립니다.

SP1에서는 "-VSDOC"파일을 직접 참조 할 필요가 없습니다. "foo.js"를 참조하고 그 옆에 "foo-vsdoc.js"파일이있는 경우 vs는 vsdoc 버전을 사용하여 Intellisense를 생성합니다. 그래도 그것이 당신의 문제와 관련이 있는지 의심합니다.

나는 이것이 크게 위안이 아니라는 것을 알고 있지만 Visual Studio 2010에서 JavaScript Intellisense의 성능과 신뢰성을 크게 향상 시켰습니다. Beta1은 현재 MSDN 가입자에게 사용할 수 있습니다 (베타이지만 여전히 일부 버그가 있습니다).

신뢰할 수있는 재 시도 단계를 얻을 수 있다면 버그 보고서를 제출할 수도 있습니다. http://connect.microsoft.com/.

이것이 당신에게 도움이 될지 모르겠지만, vs 2008 JS Intellisense에서 다음 버그를 만났습니다.

외부 파일에서 jquery를 참조로 추가 한 다음 js를 업데이트 할 때 다음을 업데이트합니다.

'xmlhttprequest는 정의되지 않았습니다'라인에서 :

return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();

JS Intellisense 엔진이 실제로 일부 jQuery 코드를 실행하는 것 같습니다 (더 많은 정보를 제공 할 수 있도록 검사 할 가능성이 높습니다). 그러나 window.ActiveXObject는 엔진에 null이므로 '새로운 XMLHTTPREQUEST ()'블록으로 떨어집니다.

IE를 제외한 모든 브라우저를 깨뜨리는 해결 방법을 해킹했습니다. 따라서 좋은 솔루션은 아닙니다. 내 수정 사항은 다음을 변경합니다.

    xhr: function()
    {
        // hack to fix VS 2008 intellisense... note this breaks any browser
        // except IE
        var objXhr = { open: function() { },
            setRequestHeader: function() { } 
        };

        return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : objXhr;
    },

이제 내 Intellisense가 작동합니다.

Visual Studio에서 JavaScript Intellisense를 비활성화 할 수 있습니다.

SP1이 설치되면 JavaScript IntellIsense를 비활성화 할 수 있습니다.
도구, 옵션으로 이동 ...

옵션 대화 상자가 나타납니다.

왼쪽 측면 패널의 다음 노드로 이동하십시오.
텍스트 편집기 :: jscript :: 일반

다음 옵션을 비활성화합니다 (그룹 명령문 완료) :
* 자동 목록 멤버
* 매개 변수 정보

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top