1

Visual Studio 코드 (VSCode)에서 JavaScript ES5의 레거시 응용 프로그램을 사용하고 있습니다. IntelliSense가 내가 설치 한 모든 타이핑에 대해 작동하지 않는다는 것을 알았습니다. Intellisense는 외부 입력을 위해 작동하지 않지만 전역 입력을 위해 노력하고 있습니다. 이 코드는 기존 코드이므로 Intellisense가 작동하도록 소스 .js 파일을 변경하지는 않습니다.Visual Studio 코드 Intellisense 및 JavaScript ES5

각도 및 jquery와 같은 전역 입력에 대한 Intellisense가 작동하는 것 같습니다. 그러나 외부 입력을위한 IntelliSense가 작동하지 않습니다.

여기 네 개의 타이핑이 설치되어 있음을 알 수 있습니다. Angular 및 jQuery는 전역 변수로 설치됩니다. LoDash와 Ramda는 외부로 설치됩니다. jsconfig.json 파일을 만들었습니다. 그것은 비어 있습니다. jsconfig.json 파일을 사용하면 IntelliSense가 Angular 및 Jquery에서 작동하지만 LoDash 및 Ramda에서는 작동하지 않습니다. 다음 두 이미지에서

VSCode Typings

, 당신은 인텔리이 각도와 jQuery를 위해 일하는 것을 볼 수 있습니다. 지금, 나는이 LoDash을 사용하고

VSCode Typings with jQuery

VSCode Typings with Angular

하지만, 인텔리가 작동하지 않습니다. 나는 LoDash 라이브러리를 가져 오는 경우

VSCode Typings with LoDash

, 다음 인텔리 작동합니다. 코드가 레거시 ES5 JavaScript이고 가져 오기가 ES5에서 지원되지 않으므로 가져 오기를 사용할 수있는 옵션이 아닙니다.

VSCode Typings with LoDash and imports

좋은 테스트는 LoDash 근무 인텔리를 얻을 수있을 것이다. "_"을 입력하고 싶습니다. VSCode가 소스에 추가 코드를 포함하지 않고 LoDash 속성 및 메서드 목록을 표시하게하십시오.

누구든지이 문제를 해결하는 방법을 알고 있습니까? 그렇다면, 당신을 위해 일한 것을 제공해주십시오.

자원

BarDev official VS Code JS Intellisense documentation에 기록 된대로

+0

타이핑은 TypeScript에만 해당됩니다 (그러므로 ".ts"파일 엔딩).파일 이름을 "main.ts"로 변경하면 작동 할 것으로 추측됩니다. TypeScript 컴파일러를 ES5를 대상으로 설정하면 완료됩니다. –

+0

@MikeMcCaughan - 반항 증거를 기반으로 intellisense는 확장자가 ".ts"인 파일없이 AngularJS 및 jQuery와 함께 작동합니다. 또한 VSCode 문서에서 JavaScript 파일이 인텔리 센스를 사용할 수 있다고 설명합니다. 자바 스크립트 - 리치 편집 지원 내 typings.json 파일에 나타났습니다 이, 각도 및 JQuery와 "globaDependency"에 위치하지만,에 lodash 있습니다 https://code.visualstudio.com/docs/languages/javascript "의존". 전 세계적으로 lodash 입력을 시도했지만, lodash 입력이 외부 모듈이라는 오류가 발생했습니다. –

+0

나는 Intellisense에 관해 아무 말도하지 않았다. 필자는 입력, 정의 파일 또는 ".dts"파일에 대해 구체적으로 말하고있었습니다. 스크린 샷은 "타이핑 \ 글로벌"아래에 "각진"폴더를 보여줍니다. 거기에서 들여다 볼 수도 있습니다 :). JavaScript의 Intellisense는 JavaScript 파싱 엔진을 사용하여 프로젝트의 ".js"파일에 대한 메타 데이터를 검색합니다. –

답변

2

,

당신은 비주얼 스튜디오 코드 1.8 이상을 사용하는 경우 교대 수 폭발하다 귀하의 jsconfig.json에서 타이핑을 얻기 위해 패키지를 나열하십시오.

"typeAcquisition": { 
    "include": [ 
     "lodash" 
    ] 
} 

이제 필요하거나 수입 lodash이, 비주얼 스튜디오 코드가 풍부한 인텔리을 제공하는 라이브러리의 자동으로 다운로드 typings 파일을 사용할 때. 가장 보편적 인 자바 스크립트 라이브러리는 타이핑을 사용할 수 있습니다.

+1

하지만 lodash를 요구하거나 가져 오지 않으려는 경우, 실제로 기존의 ES5 코드에서 전역 변수가되기를 기대하기 때문에 어떻게해야합니까? –

관련 문제