VS Code용 Looker 확장 프로그램 시작하기

Visual Studio Code (VS Code)용 Looker by Google Cloud 확장 프로그램을 사용하면 로컬 데스크톱 환경 내에서 직접 LookML을 개발할 수 있습니다. 풍부한 문법 강조 표시, Looker 인스턴스와의 양방향 파일 동기화, '바이브 코딩'을 위한 AI 코딩 에이전트와의 통합을 제공합니다.

이 확장 프로그램은 Visual Studio Code (VS Code) 프레임워크를 사용하여 빌드되며, 다음 IDE 및 코딩 도구와 같이 VS Code IDE를 기반으로 하는 통합 개발 환경 (IDE)을 지원합니다.

  • Claude Code
  • Codex
  • 커서
  • Kiro
  • VS Code
  • Windsurf
  • Zed

IntelliJ, Eclipse와 같이 VS Code의 포크가 아닌 IDE는 VS Code용 Looker 확장 프로그램에서 지원되지 않습니다.

이 가이드에서는 확장 프로그램을 설정하고 인증하는 방법을 설명합니다.

AI 기반 워크플로

VS Code용 Looker 확장 프로그램은 LookML 파일을 수정하고 생성하기 위한 AI 기반 에이전트 개발 워크플로의 일부입니다. 이 워크플로를 사용 설정하려면 다음 도구를 구성하세요.

  • VS Code를 기반으로 하는 로컬 IDE IDE에는 내장 AI 에이전트 (예: Cursor)가 포함되어야 합니다. IDE에 내장 AI 에이전트가 포함되어 있지 않은 경우 IDE는 독립형 에이전트 도구 (예: Gemini CLI 또는 Claude Code)와 통합되어야 합니다. IDE를 에이전트에 연결하는 방법은 로컬 IDE의 문서를 참고하세요.
  • VS Code용 Looker 확장 프로그램
  • Looker 관리 MCP 서버와 같은 MCP 서버

AI 지원 워크플로에 대해 자세히 알아보려면 Looker를 사용한 AI 지원 개발 (바이브 코딩) 문서 페이지를 참고하세요.

시작하기 전에

확장 프로그램을 설치하려면 다음 요구사항을 충족해야 합니다.

  • Looker 관리 MCP 서버 (선택사항이지만 권장): AI 지원 개발을 사용하려는 경우 IDE와 AI 에이전트를 Looker 관리 MCP 서버에 연결합니다. MCP 서버 설정에 관한 안내는 Looker 관리 MCP 서버 문서 페이지에 나와 있습니다. 자세한 내용은 도구 문서를 참고하세요.
  • Looker 권한: 수정하려는 모델에 대해 develop Looker 권한이 있어야 합니다.
  • Looker 인스턴스: 인스턴스는 Looker 26.6 이상을 실행해야 합니다.
  • 프로젝트 구성: Looker에 프로젝트가 있어야 합니다 (베어 저장소로 구성되거나 Git용으로 구성됨).
  • Git 설치 (선택사항): LookML 저장소를 클론하려면 로컬 머신에 Git이 설치되어 있어야 합니다.
  • OAuth 클라이언트 ID: OAuth 인증 (권장)을 사용하는 경우 Looker 관리자로부터 OAuth 클라이언트 ID를 받아야 합니다.

관리자 설정

조직에서 인증에 OAuth를 사용하는 경우 Looker 관리자가 Looker 관리 UI에서 VS Code용 Looker 확장 프로그램을 OAuth 클라이언트로 등록해야 합니다.

Looker API 탐색기를 사용하여 OAuth 통합을 설정합니다. 다음 방법 중 하나를 사용하여 API 탐색기에 액세스할 수 있습니다.

API 탐색기가 설치됨

Looker 인스턴스에 API 탐색기가 이미 설치되어 있으면 다음 URL 형식을 사용하여 액세스할 수 있습니다.

LOOKER_INSTANCE_URL/extensions/marketplace_extension_api_explorer::api-explorer/

API 탐색기가 설치되지 않음

Looker 인스턴스에 API 탐색기가 없는 경우 Looker Marketplace에서 설치할 수 있습니다. API 탐색기를 설치하는 방법에 대한 자세한 내용은 API 탐색기 사용 페이지를 참고하세요.

PSA 비공개 인스턴스

비공개 서비스 액세스를 사용하는 Looker (Google Cloud 핵심 서비스) 비공개 연결 인스턴스를 사용하는 경우 Looker Marketplace 및 API 탐색기는 지원되지 않습니다. AI 에이전트를 등록하려면 oauth_client_apps API 엔드포인트를 직접 호출해야 합니다. 이 방법을 사용하는 경우 이 API 탐색기 절차의 나머지 단계를 건너뛸 수 있습니다.

다음은 oauth_client_apps 엔드포인트와 함께 사용하여 에이전트를 등록할 수 있는 curl 명령어의 예입니다.

curl -X POST "https://LOOKER_INSTANCE_URL/api/4.0/oauth_client_apps/CLIENT_GUID" \
-H "Authorization: token ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
  "redirect_uri": "REDIRECT_URI",
  "display_name": "CLIENT_NAME",
  "description": "OAuth client to access MCP server using CLIENT_NAME",
  "enabled": true
}'

확장 프로그램을 등록하려면 다음 단계를 완료하세요.

  1. OAuth 클라이언트 애플리케이션 등록 문서의 안내에 따라 확장 프로그램을 등록합니다.
  2. client_guid 필드의 경우 다음 단계를 완료합니다.

    • 전역적으로 고유한 ID를 사용합니다.
    • 확장 프로그램을 사용하려는 LookML 개발자에게 ID를 배포할 준비를 합니다.
  3. redirect_uri의 경우 IDE의 콜백 URL을 입력합니다. IDE 또는 코딩 도구에 따라 다음 콜백 URL 중 하나를 사용하세요.

    IDE 또는 도구 콜백 URL
    Antigravity IDE (Looker 26.12 이상에서 사용 가능)
    antigravity-ide://google.vscode-looker-official/oauth_callback
    Code-OSS
    code-oss://google.vscode-looker-official/oauth_callback
    커서
    cursor://google.vscode-looker-official/oauth_callback
    HTTPS
    https://google.vscode-looker-official/oauth_callback
    Kiro (Kiro용 OAuth 지원은 Looker 26.16 이상에서 제공됨)
    kiro://google.vscode-looker-official/oauth_callback
    Looker
    looker://google.vscode-looker-official/oauth_callback
    VS Code
    vscode://google.vscode-looker-official/oauth_callback
    Windsurf
    windsurf://google.vscode-looker-official/oauth_callback
  4. 사용 설정됨 필드가 true로 설정되어 있는지 확인합니다.

  5. OAuth 클라이언트 애플리케이션 등록 문서에 설명된 대로 display_namedescription 필드를 작성합니다.

앱이 등록되면 API 탐색기는 등록 요약이 포함된 응답을 반환합니다. 리디렉션 URI가 요청 매개변수에 입력한 내용과 일치하는지 확인합니다. client_guid 값을 사용하여 OAuth 클라이언트 앱 가져오기 엔드포인트를 사용하여 등록 세부정보를 검토할 수 있습니다.

생성된 client_guid 값을 개발자에게 제공합니다. 개발자는 확장 프로그램을 구성할 때 이 값을 사용합니다.

확장 프로그램 설치

이 확장 프로그램은 다음과 같은 주요 확장 프로그램 마켓플레이스에서 사용할 수 있습니다.

확장 프로그램을 설치하려면 다음 단계를 완료하세요.

  1. VS Code 또는 Cursor와 같은 IDE를 엽니다.
  2. 작업 표시줄에서 확장 프로그램 아이콘을 클릭합니다.
  3. Looker by Google Cloud를 찾아 설치를 클릭합니다.
  4. 확장 프로그램이 설치되면 Looker 아이콘이 활동 표시줄에 표시됩니다.

확장 프로그램 구성

Looker 인스턴스 세부정보로 확장 프로그램을 구성하려면 대화형 온보딩 둘러보기를 실행하세요.

  1. 워크스페이스를 연 상태에서 명령어 팔레트 (macOS의 경우 Command-Shift-P, Windows/Linux의 경우 Ctrl+Shift+P)를 엽니다.
  2. Looker: 온보딩 둘러보기 표시 명령어를 실행하여 온보딩 둘러보기를 엽니다.
  3. 둘러보기의 안내에 따라 Looker 인스턴스 URL, 프로젝트 ID, 인증 세부정보를 입력합니다. 기본 저장소를 사용하는 경우 이 프로세스 중에 작업공간을 프로젝트의 LookML 파일로 채우라는 메시지도 표시됩니다.

OAuth 2.1이 권장되는 인증 흐름입니다. 온보딩 둘러보기 중에 메시지가 표시되면 OAuth를 선택하고 다음 구성 값을 제공합니다.

  • Looker 인스턴스 URL: Looker 인스턴스의 URL입니다.
  • OAuth 클라이언트 ID: Looker 관리자로부터 받은 OAuth 클라이언트 ID (client_guid)입니다.
  • 프로젝트 ID: 수정할 LookML 프로젝트의 이름입니다. Looker 인스턴스 내에서 LookML 프로젝트 페이지를 열면 확인할 수 있습니다. 프로젝트 ID는 프로젝트 열에 있습니다.

API 사용자 인증 정보로 인증

Looker API 키를 사용하려면 설명서에 따라 API 사용자 인증 정보를 만드세요. 온보딩 둘러보기 중에 메시지가 표시되면 API 사용자 인증 정보를 선택하고 다음 구성 값을 제공합니다.

  • Looker 인스턴스 URL: Looker 인스턴스의 URL입니다.
  • 클라이언트 ID클라이언트 보안 비밀번호: 인증에 사용하는 API 사용자 인증 정보의 클라이언트 ID 및 클라이언트 보안 비밀번호입니다. 이 사용자 인증 정보를 찾으려면 Looker 인스턴스 내에서 계정 페이지를 열고 API 키 섹션에서 관리 버튼을 클릭하여 클라이언트 ID와 보안 비밀을 확인합니다.
  • 프로젝트 ID: 수정할 프로젝트의 이름입니다. 프로젝트 이름을 찾으려면 Looker 인스턴스 내에서 LookML 프로젝트 페이지를 엽니다. 프로젝트 ID는 프로젝트 열에 있습니다.

설정

온보딩 둘러보기를 사용하는 것이 좋지만 VS Code settings.json 파일에서 확장 프로그램 설정을 구성할 수도 있습니다. 이 파일은 작업공간 .vscode 폴더 (.vscode/settings.json) 또는 전역 사용자 설정 파일 (settings.json)에 있습니다. 시각적 VS Code 설정 편집기 (Preferences: Open Settings (UI))를 사용하여 구성할 수도 있습니다.

모든 looker.<setting> 속성은 확장 프로그램 MCP 설정 looker.mcpServerUrl를 비롯하여 VS Code settings.json 파일에 정의해야 합니다. AI 에이전트의 MCP 구성 파일 (예: .agents/mcp_config.json) 또는 기타 설정 파일에서 이러한 설정을 정의하면 확장 프로그램이 작동하지 않습니다.

settings.json에서 다음 확장 프로그램 설정을 구성할 수 있습니다.

설정 설명 기본값
looker.instanceURL Looker 인스턴스의 기본 URL (예: https://mycompany.looker.com)입니다. -
looker.authURL OAuth 인증에 사용할 URL입니다. 인스턴스 URL과 다른 경우에만 설정합니다. looker.instanceURL
looker.sdkURL API 요청에 사용할 URL입니다. 인스턴스 URL과 다른 경우에만 설정합니다. looker.instanceURL
looker.oauthClientId Looker OAuth 클라이언트 ID입니다. OAuth에 필요합니다. -
looker.clientId Looker API 클라이언트 ID입니다. API 키 인증에 필요합니다. -
looker.clientSecret Looker API 클라이언트 보안 비밀번호입니다. 지원이 중단되었습니다. 온보딩 둘러보기를 사용하여 API 사용자 인증 정보를 구성합니다. -
looker.projectId LookML 프로젝트 ID입니다. -
looker.mcpServerUrl 확장 프로그램의 로컬 MCP 프록시가 요청을 전달하는 타겟 MCP 서버의 URL입니다. looker.instanceURL/mcp와 다른 경우에만 설정됩니다 (예: http://localhost:5000/mcp). looker.instanceURL/mcp
looker.acceptSelfSignedCertificates SSL 인증서 오류를 무시합니다 (예: 자체 서명 인증서의 경우). 경고: 이 옵션을 사용 설정하는 것은 권장되지 않습니다. false
looker.askBeforeOverwritingRemote 충돌이 감지되면 원격 파일을 덮어쓰기 전에 항상 묻습니다. false

MCP 클라이언트 구성

AI 에이전트가 확장 프로그램을 통해 Looker와 상호작용하도록 하려면 http://127.0.0.1:5050/mcp에서 확장 프로그램의 로컬 MCP 프록시에 연결하도록 에이전트를 구성해야 합니다.

AI 에이전트가 자체 MCP 구성 파일 (예: VS Code의 .agents/mcp_config.json, Claude Code의 .mcp.json, Cursor의 .cursor/mcp.json)을 참조합니다. 이 구성을 로컬 프록시로 지정하면 확장 프로그램이 에이전트의 MCP 요청을 캡처하고 적절한 인증 헤더와 함께 전달할 수 있습니다.

Looker 관리 MCP 서버 (기본값, 권장)

이 확장 프로그램은 Looker의 기본 제공 관리형 MCP 서버 (LOOKER_INSTANCE_URL/mcp)에 연결되는 로컬 역방향 프록시(기본값: http://127.0.0.1:5050/mcp)를 실행합니다. 프록시는 보류 중인 로컬 파일 동기화가 완료될 때까지 OAuth 전달자 토큰을 자동으로 삽입하고 AI 에이전트 도구 요청을 버퍼링하여 검증 도구가 서버에서 오래된 코드를 평가하지 않도록 합니다.

맞춤 또는 자체 호스팅 MCP 서버 (선택사항)

조직에서 맞춤 MCP 서버 (예: 데이터베이스용 독립형 MCP 도구 상자)를 호스팅하는 경우:

  1. VS Code 설정에서 looker.mcpServerUrl을 맞춤 서버 URL (예: http://localhost:5000/mcp)로 설정합니다.
  2. IDE의 MCP 클라이언트가 http://127.0.0.1:5050/mcp의 확장 프로그램 프록시를 가리키도록 구성합니다.

Visual Studio Code(Copilot)

  1. VS Code를 열고 프로젝트 루트에 .agents 디렉터리가 없으면 이 디렉터리를 만듭니다.
  2. .agents/mcp_config.json 파일이 아직 없으면 만들고 엽니다.
  3. 다음 구성을 추가하고 파일을 저장합니다.
      {
        "mcpServers": {
          "Looker": {
            "serverUrl": "http://127.0.0.1:5050/mcp",
            "disabledTools": [
              "query_url",
              "get_looks",
              "run_look",
              "make_look",
              "get_dashboards",
              "run_dashboard",
              "make_dashboard",
              "add_dashboard_element",
              "add_dashboard_filter",
              "generate_embed_url",
              "health_pulse",
              "health_analyze",
              "health_vacuum",
              "get_project_files",
              "get_project_file",
              "create_project_file",
              "update_project_file",
              "delete_project_file",
              "get_project_directories",
              "create_project_directory",
              "delete_project_directory",
              "project_git_branch"
            ]
          }
        }
      }
  

Claude Code

  1. 프로젝트 루트에 .mcp.json 파일이 없으면 이 파일을 만듭니다.
  2. 다음 구성을 추가하고 파일을 저장합니다.
      {
        "mcpServers": {
          "Looker": {
            "type": "http",
            "url": "http://127.0.0.1:5050/mcp"
          }
        }
      }
  

커서

  1. 프로젝트 루트에 .cursor 디렉터리가 없으면 이 디렉터리를 만듭니다.
  2. .cursor/mcp.json 파일이 아직 없으면 만들고 엽니다.
  3. 다음 구성을 추가하고 파일을 저장합니다.
      {
        "mcpServers": {
          "Looker": {
            "type": "http",
            "url": "http://127.0.0.1:5050/mcp"
          }
        }
      }
  
  1. 커서를 열고 설정 > 커서 설정 > MCP로 이동합니다. 서버가 연결되면 녹색 활성 상태가 표시됩니다.

Cline

  1. VS Code에서 Cline 확장 프로그램을 열고 MCP 서버 아이콘을 클릭합니다.
  2. MCP 서버 구성을 클릭하여 구성 파일을 엽니다.
  3. 다음 구성을 추가하고 파일을 저장합니다.
      {
        "mcpServers": {
          "Looker": {
            "type": "http",
            "url": "http://127.0.0.1:5050/mcp"
          }
        }
      }
  

Windsurf

  1. Windsurf를 열고 Cascade 어시스턴트로 이동합니다.
  2. MCP 아이콘을 클릭한 다음 구성을 클릭하여 구성 파일을 엽니다.
  3. 다음 구성을 추가하고 파일을 저장합니다.
      {
        "mcpServers": {
          "Looker": {
            "type": "http",
            "url": "http://127.0.0.1:5050/mcp"
          }
        }
      }
  

Looker를 통한 인증

OAuth 인증을 사용하는 경우 로그인하여 로컬 IDE를 Looker 계정에 연결해야 합니다.

  1. 명령어 팔레트를 엽니다.
  2. Looker: Sign In (OAuth) 명령어를 실행합니다.
  3. 브라우저를 열라는 메시지를 확인합니다.
  4. 브라우저에서 확장 프로그램이 Looker 계정에 액세스하도록 승인합니다.
  5. 승인 후 브라우저가 IDE로 다시 리디렉션됩니다. Looker에 로그인했습니다.라는 알림이 표시됩니다.

로컬 LookML 프로젝트 채우기

개발을 시작하려면 저장소 구성에 적합한 방법을 사용하여 로컬 IDE에서 LookML 프로젝트를 여세요.

Git 저장소

LookML 프로젝트가 Git으로 구성된 경우 다음 단계를 따르세요.

  1. VS Code에서 새 창을 엽니다.
  2. 명령어 팔레트를 열고 Git: Clone을 선택합니다.
  3. 원격 Git 저장소의 URL (예: GitHub 또는 GitLab)을 입력하고 로컬 폴더를 선택합니다.
  4. IDE에서 복제된 폴더를 엽니다.

베어 저장소 모드

LookML 프로젝트가 베어 저장소로 구성된 경우 다음 단계를 따르세요.

  1. 작업공간이 열린 상태에서 프로젝트의 빈 로컬 폴더를 만들고 엽니다.
  2. 명령어 팔레트를 엽니다 (macOS의 경우 Command-Shift-P, Windows/Linux의 경우 Ctrl+Shift+P).
  3. Looker: 온보딩 둘러보기 표시 명령어를 실행하여 온보딩 둘러보기를 엽니다.
  4. 프로젝트 선택 단계에서 작업할 LookML 프로젝트를 선택하고 다음을 클릭합니다.
  5. 확장 프로그램은 로컬 폴더가 비어 있음을 인식하고 작업공간에 프로젝트 파일을 채우라는 메시지를 표시합니다. 작업공간 채우기를 클릭하여 작업공간을 채웁니다.
  6. 온보딩 둘러보기를 완료합니다.

작업공간이 채워지면 확장 프로그램이 Looker 인스턴스의 개발 모드에서 체크아웃된 브랜치와 로컬 폴더를 자동으로 동기화하기 시작합니다.

문제 해결

IDE의 출력 패널에서 확장 프로그램 로그를 볼 수 있습니다. Looker 채널을 선택하여 로그를 확인합니다. 자세한 로그를 보려면 명령어 팔레트를 열고 개발자: 로그 수준 설정 명령어를 실행한 다음 디버그 또는 추적을 선택합니다.

  • 인증 오류: looker.instanceURLlooker.oauthClientId가 올바른지 확인합니다. Looker의 리디렉션 URI가 정확히 일치하는지 확인합니다.
  • 동기화 문제: 확장 프로그램 로그를 확인하여 동기화 문제를 해결합니다. 로그를 보려면 출력 패널을 열고 드롭다운 메뉴에서 Looker를 선택합니다.
  • OAuth 중 잘못된 요청 응답: Looker 인스턴스에 로컬 네트워크에서 액세스할 수 있고 유효한 인터넷 연결이 있는지 확인합니다.

확장 프로그램에 문제가 발생하면 명령 팔레트에서 개발자: 창 새로고침 명령어를 실행하여 문제를 해결할 수 있습니다.

다음 단계