7.3. 기본 확장 구성


기본 확장은 확장 프로그램 바이너리 .vsix 파일 경로를 DEFAULT_EXTENSIONS 환경 변수에 배치하여 지정된 사전 설치된 확장 집합입니다.

시작 후 편집기는 이 환경 변수를 확인하고 지정된 경우 확장의 경로를 가져와서 사용자를 방해하지 않고 백그라운드에 설치합니다.

기본 확장 구성은 편집기 수준에서 .vsix 확장을 설치하는 데 유용합니다.

참고

여러 개의 확장 기능을 지정하려면 해당 확장을 together으로 구분합니다.

  DEFAULT_EXTENSIONS='/projects/extension-1.vsix;/projects/extension-2.vsix'
Copy to Clipboard Toggle word wrap

DEFAULT_EXTENSIONS 환경 변수를 정의하는 방법을 알아보려면 작업 공간에 .vsix 파일을 추가하는 여러 예제를 참조하십시오.

기본 .vsix 확장을 작업 공간에 포함하는 세 가지 다른 방법이 있습니다.

  • 확장 바이너리를 소스 리포지토리에 넣습니다.
  • devfile postStart 이벤트를 사용하여 네트워크에서 확장 바이너리를 가져옵니다.
  • che-code 이미지에 확장의 .vsix 바이너리를 포함합니다.

확장 바이너리를 소스 리포지토리에 배치

확장 바이너리를 Git 리포지토리에 배치하고 devfile에서 환경 변수를 정의하는 것이 작업 공간에 기본 확장 기능을 추가하는 가장 쉬운 방법입니다. 리포지토리 루트에 extension.vsix 파일이 있는 경우 툴링 컨테이너에 DEFAULT_EXTENSIONS 를 설정할 수 있습니다.

프로세스

  • 다음 예와 같이 .devfile.yaml 에서 DEFAULT_EXTENSIONS 를 지정합니다.

    schemaVersion: 2.3.0
    metadata:
      generateName: example-project
    components:
      - name: tools
        container:
          image: quay.io/devfile/universal-developer-image:ubi8-latest
          env:
            - name: 'DEFAULT_EXTENSIONS'
              value: '/projects/example-project/extension.vsix'
    Copy to Clipboard Toggle word wrap

devfile postStart 이벤트를 사용하여 네트워크에서 확장 바이너리 가져오기

cURL 또는 GNU Wget을 사용하여 작업 공간에 확장을 다운로드할 수 있습니다. 이를 위해서는 다음이 필요합니다.

  • workpace에 확장을 다운로드하려면 devfile 명령을 지정합니다.
  • postStart 이벤트를 추가하여 작업 공간 시작 시 명령을 실행합니다.
  • devfile에서 DEFAULT_EXTENSIONS 환경 변수를 정의합니다.

프로세스

  • 다음 예에 표시된 값을 devfile에 추가합니다.

    schemaVersion: 2.3.0
    metadata:
      generateName: example-project
    components:
      - name: tools
        container:
          image: quay.io/devfile/universal-developer-image:ubi8-latest
          env:
            - name: DEFAULT_EXTENSIONS
              value: '/tmp/extension-1.vsix;/tmp/extension-2.vsix'
    
    commands:
      - id: add-default-extensions
        exec:
          # name of the tooling container
          component: tools
          # download several extensions using curl
          commandLine: |
            curl https://.../extension-1.vsix --location -o /tmp/extension-1.vsix
            curl https://.../extension-2.vsix --location -o /tmp/extension-2.vsix
    
    events:
      postStart:
        - add-default-extensions
    Copy to Clipboard Toggle word wrap
    주의

    경우에 따라 curl은 .gzip 압축 파일을 다운로드할 수 있습니다. 이로 인해 확장 기능을 설치할 수 없습니다. 이 문제를 해결하려면 파일을 .vsix.gz 파일로 저장한 다음 gunzip 으로 압축을 풉니다. 이렇게 하면 .vsix.gz 파일이 압축 해제된 .vsix 파일로 대체됩니다.

    curl https://some-extension-url --location -o /tmp/extension.vsix.gz
    gunzip /tmp/extension.vsix.gz
    Copy to Clipboard Toggle word wrap

che-code 이미지에 확장 .vsix 바이너리 포함

편집기 이미지에 번들된 기본 확장과 ConfigMap에 정의된 DEFAULT_EXTENSIONS 환경 변수를 사용하면 devfile을 변경하지 않고 기본 확장을 적용할 수 있습니다.

다음 단계에 따라 편집기 이미지에 필요한 확장을 추가합니다.

프로세스

  • 디렉토리를 만들고 이 디렉토리에 선택한 .vsix 확장을 배치합니다.
  • 다음 콘텐츠를 사용하여 Dockerfile을 생성합니다.

    # inherit che-incubator/che-code:latest
    FROM quay.io/che-incubator/che-code:latest
    USER 0
    
    # copy all .vsix files to /default-extensions directory
    RUN mkdir --mode=775 /default-extensions
    COPY --chmod=755 *.vsix /default-extensions/
    
    # add instruction to the script to copy default extensions to the working container
    RUN echo "cp -r /default-extensions /checode/" >> /entrypoint-init-container.sh
    Copy to Clipboard Toggle word wrap
  • 이미지를 빌드한 다음 레지스트리로 푸시합니다.

    $ docker build -t yourname/che-code:next .
    $ docker push yourname/che-code:next
    Copy to Clipboard Toggle word wrap
  • 새 ConfigMap을 사용자 프로젝트에 추가하고 DEFAULT_EXTENSIONS 환경 변수를 정의하고 확장에 대한 절대 경로를 지정합니다. 이 ConfigMap은 환경 변수를 사용자 프로젝트의 모든 작업 공간으로 설정합니다.

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: vscode-default-extensions
      labels:
        controller.devfile.io/mount-to-devworkspace: 'true'
        controller.devfile.io/watch-configmap: 'true'
      annotations:
        controller.devfile.io/mount-as: env
    data:
      DEFAULT_EXTENSIONS: '/checode/default-extensions/extension1.vsix;/checode/default-extensions/extension2.vsix'
    Copy to Clipboard Toggle word wrap
  • yourname/che-code:next 이미지를 사용하여 작업 영역을 생성합니다. 먼저 대시보드를 열고 왼쪽의 Create Workspace 탭으로 이동합니다.

    1. 편집기 선택기 섹션에서 편집기 정의 사용 드롭다운을 확장하고 편집기 URI를 편집기 이미지로 설정합니다.
    2. 샘플을 클릭하거나 Git 리포지토리 URL을 사용하여 작업 영역을 생성합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat