Skip to content

Latest commit

 

History

History
executable file
·
76 lines (57 loc) · 5.23 KB

using-proposed-api.md

File metadata and controls

executable file
·
76 lines (57 loc) · 5.23 KB
layout parent title nav_order description
default
Advanced Topics
Using Proposed API
3

제안된 API 사용

Visual Studio Code에서는, 익스텐션 API의 호환성을 중요하게 생각합니다. API 변경을 피하기 위해 최선을 다하고 있으며 익스텐션 작성자는 게시된 익스텐션이 지속적인 작동을 기대 할 수 있습니다. 그러나 이는 큰 제약이 됩니다: API를 도입하면 더이상 쉽게 변경 할 수 없습니다.

제안된 API는 이러한 문제를 해결 합니다. 제안된 API는 VS Code에서 구현되었지만 안정적인 API처럼 퍼블릭에 노출되지않은 불안정한 API들입니다. 이는 변경 될 수 있으며, 내부 배포에서만 가능하며 그리고 게시된 익스텐션에서는 사용불가합니다. 그럼에도 불구하고 익스텐션 작성자는 새로운 API를 로컬 개발에서 테스트 할 수 있으며 VS Code 팀에게 API를 반복하도록 피드백을 제공 할 수 있습니다. 이를 통해 제안된 API는 안정된 API가 되어 일반적인 경우에도 사용 가능 할 수 있게 됩니다.

제안된 API 사용

로컬 익스텐션 개발에서 제안된 API를 테스트 하기 위한 단계입니다 :

  • VS Code의 Insiders릴리즈 사용.
  • package.json"enableProposedApi": true추가.
  • 프로젝트 소스 위치에 최신버전의 vscode.proposed.d.ts 복사.

vscode-dts CLI 유틸리티는 개발을 위한 최신 vscode.proposed.d.ts 를 다운로드 할 수 있게 합니다.

다음은 제안된 API를 이용한 예시 입니다: 제안된 API 예시.

> npx vscode-dts dev
Downloading vscode.proposed.d.ts to /Users/username/Code/vscode-docs/vscode.proposed.d.ts
Please set "enableProposedApi": true in package.json.
Read more about proposed API at: https://code.visualstudio.com/api/advanced-topics/using-proposed-api

제안된 API 비호환성

마스터 브랜치에서, vscode.proposed.d.tsvscode.d.ts와 항상 호환됩니다. 그러나 @types/vscode를 사용하여 프로젝트에 vscode.proposed.d.ts를 더하는 경우, 최신 vscode.proposed.d.ts@types/vscode의 버전과 호환되지 않을 수 있습니다.

다음을 통해 이 문제를 해결하십시오:

  • @types/vscode의 의존성을 제거한 뒤, npx vscode-dts master를 사용하여 microsoft/vscode 마스터 브랜치에서 vscode.d.ts를 다운로드 하십시오.
  • @types/vscode@<version>npx vscode-dts dev <version>를 모두 사용하여 microsoft/vscode의 구형 브랜치에서 vscode.proposed.d.ts를 다운로드 하십시오. API는 최신 버전의 VS Code 개발용에서는 변경 될 수 있음에 주의하십시오.