다음을 통해 공유


JScript IntelliSense 개요

업데이트: 2007년 11월

Microsoft JScript용 IntelliSense를 사용하면 Visual Studio 또는 Microsoft Visual Web Developer Express Edition의 코드 편집기에서 클라이언트 스크립트 프로그래밍 요소에 쉽게 액세스할 수 있습니다. IntelliSense에서는 클라이언트 스크립트 코드를 입력할 때 속성, 함수, 개체 등의 컨텍스트에 따라 적절한 코드 옵션을 제공합니다. 따라서 구문이나 매개 변수 설명을 검색하기 위해 코드 편집기를 벗어날 필요가 없습니다. 대신 코드 편집기 안에서 필요한 정보를 찾고 언어 요소를 코드에 직접 삽입할 수 있습니다. JScript용 IntelliSense는 관리 코드 언어용 IntelliSense와 매우 비슷한 방식으로 작동합니다.

이 항목에는 다음과 같은 단원이 포함되어 있습니다.

  • 배경

  • JScript IntelliSense 기능

  • JScript IntelliSense 오류 이해

  • 추가 리소스

Visual Studio의 IntelliSense 기능에 대한 자세한 내용은 IntelliSense 사용을 참조하십시오.

배경

IntelliSense를 사용하면 코드를 작성하는 동안 적절한 정보가 제공되므로 코드를 빠르게 작성하면서 오류도 줄일 수 있습니다. 즉, 클라이언트 스크립트를 작성할 때 IntelliSense에는 현재 컨텍스트를 기준으로 사용할 수 있는 개체, 함수, 속성 및 매개 변수가 나열되므로 사용자는 IntelliSense에서 제공하는 팝업 목록에서 코딩 옵션을 선택하여 코드를 완성할 수 있습니다.

IntelliSense를 사용하면 다음과 같은 작업을 더욱 쉽게 완료할 수 있습니다.

  • 멤버 정보 찾기

  • 코드에 언어 요소 직접 삽입

  • 코드 편집기를 벗어나지 않고 컨텍스트 유지

  • XML 코드 주석을 사용한 사용자 지정 IntelliSense 지원

JScript IntelliSense 작동 방식

JScript IntelliSense는 현재 프로그래밍 컨텍스트와 관련된 모든 스크립트를 기준으로 코딩 옵션을 제공합니다. 여기에는 현재 파일의 스크립팅 요소뿐만 아니라 스크립트 파일 참조, 어셈블리 스크립트 참조, 서비스 참조, 페이지 연관 참조 등 스크립트에서 직간접으로 참조되는 모든 코드가 포함됩니다.

IntelliSense 컨텍스트 확인

현재 프로그래밍 컨텍스트는 다음과 같은 항목을 기준으로 결정됩니다.

  • 현재 스크립트 블록에 정의되어 있는 함수. 인라인 스크립트 블록은 파일 이름 확장명이 .aspx., .ascx, .master, .html 및 .htm인 파일에서 지원됩니다.

  • 스크립트 파일을 가리키는 src 특성이 포함된 각 script 요소. 대상 스크립트 파일의 파일 이름 확장명은 .js여야 합니다.

  • references 지시문을 사용하여 다른 JScript 파일을 참조하는 JScript 파일

  • XML Web services에 대한 참조

  • 웹 응용 프로그램이 ASP.NET AJAX 응용 프로그램인 경우 ScriptManagerScriptManagerProxy 컨트롤

  • AJAX 사용 ASP.NET 웹 응용 프로그램에서 작업하는 경우 Microsoft AJAX 라이브러리

    참고:

    HTML 요소의 이벤트 처리기 특성에 있는 스크립트나 href 특성에 정의되어 있는 스크립트에서는 IntelliSense가 지원되지 않습니다.

IntelliSense 정보 처리

JScript IntelliSense를 제공하기 위해 Visual Studio에서는 다음 작업을 수행합니다.

  • 활성 문서의 참조와 참조된 파일의 스크립트 참조에 대한 재귀적 검사를 기반으로 하는 종속 JScript 파일의 목록을 만듭니다.

  • 목록 전체를 검색하여 각 파일의 형식 정보와 기타 관련 데이터를 수집합니다.

  • 데이터를 집계하여 형식 정보와 데이터를 IntelliSense에서 사용할 수 있도록 JScript 엔진에 전달합니다.

  • IntelliSense 목록에 영향을 미칠 수 있는 변경 내용이 있는지 파일을 모니터링하여 필요한 경우 목록을 업데이트합니다.

맨 위로 이동

JScript IntelliSense 기능

JScript IntelliSense는 다음과 같은 개체를 지원합니다.

  • DOM(문서 개체 모델) 요소

  • 내장 개체

  • 사용자 정의 변수, 함수 및 개체

  • 외부 파일 참조

  • XML 코드 주석

  • ASP.NET AJAX 개체

HTML DOM 요소

JScript IntelliSense는 body, form 및 div 같은 DHTML(Dynamic HTML) DOM 요소에 대한 프로그래밍 참조를 제공합니다. IntelliSense는 현재 문서와 마스터 페이지에 포함된 요소만 표시합니다. 또한 JScript IntelliSense는 window 및 document 개체와 그 멤버를 지원합니다.

내장 개체

JScript IntelliSense는 네이티브 내장 개체 Array, String, Math, Date 및 Number에 대한 프로그래밍 참조를 제공합니다. 내장 개체에 대한 자세한 내용은 내장 개체을 참조하십시오.

사용자 정의 변수, 함수 및 개체

JScript 파일을 변경하면 Visual Studio에서 열린 문서와 참조된 문서를 검색하여 사용 가능한 모든 코드 리소스를 확인합니다. 여기에는 사용자가 만든 변수, 함수 및 개체가 포함됩니다. 그런 후에는 JScript IntelliSense에서 해당 리소스를 사용할 수 있습니다. 

사용자 정의 변수, 함수 및 개체에 대한 자세한 내용은 MSDN 웹 사이트에서 Creating Your Own Objects를 참조하십시오.

외부 파일 참조

모든 클라이언트 스크립트를 한 페이지에 작성하는 대신 스크립팅 코드를 포함하는 외부 파일을 참조할 수 있습니다. 그렇게 하면 다른 페이지에서도 코드를 쉽게 재사용할 수 있고 브라우저에서 클라이언트 스크립트를 캐시할 수 있습니다.

ASP.NET AJAX 사용 웹 페이지로 작업하는 경우 ScriptManager 컨트롤의 ScriptReference 개체를 사용하여 스크립트 파일을 참조할 수 있습니다.

다음 예제에서는 ScriptManager 컨트롤의 ScriptReference 개체를 사용하여 스크립트 파일을 참조하는 태그를 보여 줍니다.

<asp:ScriptManager ID="ScriptManager1" >
  <Scripts>
    <asp:ScriptReference Path="~/Scripts/JScript.js" />
  </Scripts>
</asp:ScriptManager>

ASP.NET AJAX 사용 웹 페이지에서 작업하는 경우가 아니라면 script 요소의 여는 태그에서 src 특성을 사용하여 외부 스크립트 파일을 참조할 수 있습니다. src 특성은 소스 코드나 데이터가 들어 있는 외부 파일의 URL을 지정합니다.

다음 예제에서는 <script> 태그의 src 특성을 사용하여 스크립트 파일을 참조하는 태그를 보여 줍니다.

<script type="text/javascript" src="~/Scripts/JScript.js">
  
</script>

IntelliSense는 ASP.NET AJAX 웹 응용 프로그램에서 어셈블리의 리소스로 포함된 스크립트 파일도 지원합니다. 포함된 스크립트 리소스에 대한 자세한 내용은 연습: 어셈블리에 JavaScript 파일을 리소스로 포함을 참조하십시오.

참조 지시문

references 지시문을 사용하면 Visual Studio에서 현재 편집하고 있는 스크립트와 다른 스크립트 사이에 관계를 설정할 수 있습니다. references 지시문을 사용하면 현재 스크립트 파일의 스크립팅 컨텍스트에 스크립트 파일을 포함시킬 수 있습니다. 그러면 코드를 작성할 때 외부에서 정의된 함수, 형식 및 필드를 참조할 수 있습니다. 

references 지시문은 XML 주석 형태로 작성합니다. 이 지시문은 파일에서 다른 스크립트보다 먼저 선언해야 합니다. reference 지시문은 디스크 기반 스크립트 참조, 어셈블리 기반 스크립트 참조, 서비스 기반 스크립트 참조 또는 페이지 기반 스크립트 참조를 포함할 수 있습니다

다음 예제에서는 디스크 기반 참조 지시문을 사용하는 예를 보여 줍니다.

/// <reference path="ScriptFile1.js" />

/// <reference path="Scripts/ScriptFile2.js" />

/// <reference path="../ScriptFile3.js" />

/// <reference path="~/Scripts/ScriptFile4.js" />

다음 예제에서는 어셈블리 기반 스크립트에 대한 참조를 만드는 방법을 보여 줍니다.

/// <reference name "Ajax.js" assembly="System.Web.Extensions, ..." />

다음 예제에서는 서비스 기반 스크립트를 참조하는 방법을 보여 줍니다.

/// <reference path="MyService.asmx" />

/// <reference path="Services/MyService.asmx" />

/// <reference path="../MyService.asmx" />

/// <reference path="~/Services/MyService.asmx" />

참고:

WAP(웹 응용 프로그램 프로젝트)의 웹 서비스 파일(.asmx)에 포함된 스크립트에서는 JScript IntelliSense가 지원되지 않습니다.

다음 예제에서는 페이지 기반 스크립트를 참조하는 방법을 보여 줍니다.

/// <reference path="Default.aspx" />

/// <reference path="Admin/Default.aspx" />

/// <reference path="../Default.aspx" />

/// <reference path="~/Admin/Default.aspx" />

다음 규칙은 reference 지시문에 적용됩니다.

  • reference XML 주석은 다른 스크립트보다 먼저 선언해야 합니다.

  • XML 주석 구문에는 슬래시 세 개를 사용해야 합니다. 표준 주석 구문(슬래시 두 개)을 사용하여 만든 참조는 무시됩니다.

  • 지시문 하나 당 하나의 파일 또는 리소스만 지정할 수 있습니다.

  • 페이지 기반 스크립트에 대한 다중 참조는 허용되지 않습니다.

  • 페이지 참조가 지정되면 다른 형식의 참조 지시문은 사용할 수 없습니다.

  • 파일 이름에는 상대 경로를 사용합니다. 물결표 연산자(~)를 사용하여 응용 프로그램 루트에 상대적인 경로를 만들 수 있습니다.

  • 절대 경로는 무시됩니다.

  • 현재 프로젝트 외부 파일에 대한 참조는 무시됩니다.

  • 참조된 페이지의 참조 지시문은 처리되지 않습니다. 즉, 참조 지시문이 페이지에 대해 재귀적으로 해석되지 않고 페이지에서 직접 참조하는 스크립트만 포함됩니다.

XML 코드 주석

XML 코드 주석은 스크립트에 추가하는 텍스트 설명입니다. 이러한 텍스트 설명은 주석 처리된 스크립트를 참조할 때 IntelliSense를 통해 표시됩니다. 참조된 파일, 어셈블리 및 서비스에서만 XML 코드 주석을 사용할 수 있습니다.

매개 변수와 함수의 반환 값에 대한 요약 및 정보를 제공하는 XML 코드 주석을 포함할 수 있습니다. 다음 예제에서는 XML 코드 주석을 사용하는 스크립트를 보여 줍니다.

function areaFunction(radiusParam)
{
    /// <summary>Determines the area of a cicle based on a radius parameter.</summary>
    /// <param name="radius" type="Number">The radius of the circle.</param>
    /// <returns type="Number">Returns a number that represents the area.</returns>
    var areaVal;
    areaVal = Math.PI * radiusParam * radiusParam;
    return areaVal;
}

IntelliSense에서는 다음과 같은 파일 참조 시나리오에서 XML 주석의 코드 참조를 표시합니다.

  • .js 파일을 참조하는 .aspx 파일

  • 다른 .js 파일을 참조하는 .js 파일

  • .aspx 파일을 참조하는 .js 파일

한 .aspx 파일이 다른 .aspx 파일을 참조하는 경우 IntelliSense를 사용할 수 없습니다.

JScript IntelliSense를 제공하는 XML 코드 주석을 추가하는 방법에 대한 자세한 내용은 연습: JScript IntelliSense를 참조하십시오.

ASP.NET AJAX 개체

ASP.NET AJAX도 JScript IntelliSense를 지원합니다. ASP.NET AJAX에는 ECMAScript(JavaScript 및 JScript)에서 사용할 수 있는 표준 형식을 확장하는 클라이언트 프레임워크가 포함됩니다. JScript IntelliSense에서 ASP.NET AJAX 개체에 대한 세부 정보를 제공할 수 있도록 하기 위해 Microsoft AJAX 라이브러리 전체에 XML 코드 주석이 추가되었습니다. 이러한 XML 코드 주석은 ASP.NET AJAX 라이브러리에 들어 있는 형식과 멤버를 사용할 때 표시됩니다.

참고:

전용 멤버는 JScript IntelliSense에서 표시되지 않습니다. ASP.NET AJAX에서 전용 멤버는 밑줄(_)로 시작하는 멤버로 나타납니다.

JScript IntelliSense 오류 이해

Visual Studio의 JScript IntelliSense 엔진은 스크립트 참조 링크와 전처리기 실행을 확인하여 자동으로 유효성 검사를 수행합니다. 스크립트 참조 링크 유효성은 현재 프로그래밍 컨텍스트를 기준으로 결정됩니다. 특정 참조를 찾을 수 없는 경우 Visual Studio에서 참조에 대한 오류 정보를 제공합니다. 종속 파일을 실행할 수 없으면 전처리기 오류가 보고됩니다.

링크 유효성을 확인하는 방법에 대한 자세한 내용은 IntelliSense 컨텍스트 확인을 참조하십시오. 전처리기 오류를 확인하는 방법에 대한 자세한 내용은 IntelliSense 정보 처리를 참조하십시오.

Jscript 유효성 검사 호출

Visual Studio에서 JScript IntelliSense 유효성 검사는 다음 두 방식으로 호출됩니다.

  • 유휴 상태에서. 스크립트가 포함된 활성 문서에서 유휴 상태가 발생하면 자동으로 유효성 검사가 호출됩니다.

  • 수동으로. JScript IntelliSense 유효성 검사를 수동으로 호출할 수도 있습니다. 이 작업을 수행하려면 편집 메뉴에서 고급을 클릭한 다음 문서 유효성 검사를 클릭합니다. 이 명령은 열려 있는 모든 문서에 적용됩니다.

유효성 검사 결과

Visual Studio에서 스크립트 참조를 해결할 수 없는 경우나 다른 유형의 스크립팅 오류로 인해 IntelliSense 엔진이 현재 스크립팅 컨텍스트에서 전체 결과를 수집하지 못하는 경우 Visual Studio에서는 다음과 같은 방식으로 피드백을 제공합니다.

  • 편집기에서 요소에 밑줄 표시. 물결 모양의 빨간색 밑줄은 오류를 나타냅니다. 오류 위에 마우스 포인터를 놓으면 오류를 설명하는 도구 설명이 표시됩니다.

  • 오류 목록 창. 오류 목록 창에 오류 설명, 오류가 발생한 파일, 줄 및 열 번호, 프로젝트가 표시됩니다. 오류 목록 창을 표시하려면 보기 메뉴에서 오류 목록을 클릭합니다.

맨 위로 이동

추가 리소스

연습: JScript IntelliSense

방법: JScript XML 코드 주석 만들기

맨 위로 이동

참고 항목

작업

연습: JScript IntelliSense

동적으로 스크립트 참조 할당

참조

멤버 목록

기타 리소스

IntelliSense 사용

About the DHTML Object Model

JScript 개체