Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>M365 Code AgentNew to Visual Studio Code? Get it now.
M365 Code Agent

M365 Code Agent

Preview

JIN HOON KIM

|
1 install
| (0) | Free
Unofficial, experimental coding agent that uses your signed-in M365 Copilot through Edge to read and edit a VS Code workspace.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

M365 Code Agent

Experimental preview · Unofficial · Windows + Microsoft Edge

An independent VS Code coding agent that uses your signed-in Microsoft 365 Copilot web session through Playwright. It can read, search, create and edit files in your local workspace without a browser extension, clipboard relay or separate AI API key. This project is not affiliated with, endorsed by, or supported by Microsoft. You need an eligible Microsoft 365 Copilot account and permission to use browser automation in your organization.

이 확장은 Microsoft가 제공하거나 보증하는 제품이 아닙니다. 실제 회사 테넌트 연동은 아직 검증되지 않은 실험적 버전입니다.

VS Code의 프로젝트를 읽고 수정하며, 로그인된 M365 Copilot 웹과 자동으로 대화하는 로컬 확장입니다. 별도 Edge 확장, 클립보드 중계, Copilot Studio, 외부 AI API 키를 사용하지 않습니다.

설치

  1. Marketplace에서 설치하거나, … → VSIX에서 설치…에서 m365-code-agent-0.7.0.vsix를 선택합니다.
  2. 프로젝트 폴더를 열고 왼쪽 활동 표시줄의 M365 Agent 아이콘을 선택합니다.
  3. 입력창 아래 연결을 누릅니다. VS Code 편집기 탭에 M365 Copilot 브라우저가 열립니다. PC에 설치된 Edge의 실제 자동화 페이지를 이 탭에서 보고 조작합니다.
  4. 이 브라우저 탭에서 회사 계정 로그인과 MFA를 직접 완료하고 Copilot 대화 화면으로 이동합니다. 마우스·스크롤·입력·한글 IME를 지원합니다. 네이티브 OS 인증 창이 필요한 경우 외부 브라우저로 전환을 사용하세요.
  5. VS Code에서 작업 요청을 입력하고 Enter 또는 ↑를 누릅니다. Shift+Enter로 줄바꿈합니다. 이후 입력·전송·응답 수집은 자동입니다.

회사 PC에는 VS Code와 Microsoft Edge가 필요합니다. Python 또는 별도 Node.js 설치는 필요하지 않습니다. 기존 Edge의 기본 프로필이나 비밀번호를 가져오지 않습니다. 확장 전용 Edge 프로필에 로그인 상태를 보관하며 표시 모드를 전환해도 같은 프로필을 사용합니다. 첫 로그인, 인증 만료, MFA와 CAPTCHA는 직접 처리해야 합니다.

VS Code 브라우저 표시

기본값인 m365Agent.browserView=editor는 실제 Edge 화면을 VS Code Webview에 표시하고 직접 입력을 같은 페이지로 전달합니다. 모델의 자동 입력·전송·응답 수집과 모델 메뉴 조작 중에는 직접 입력을 잠급니다. 로그인 준비를 기다리는 동안에는 직접 입력할 수 있습니다. 상단 드롭다운에서 로그인 팝업 등 같은 전용 브라우저의 탭을 선택할 수 있습니다.

더 보기(⋯) → Copilot 브라우저 열기로 화면을 다시 열 수 있습니다. 브라우저 편집기 탭을 닫아도 현재 자동화는 계속됩니다. 네이티브 비밀번호 관리자·인증서 선택·패스키 등 별도 OS/브라우저 창이 필요한 흐름은 보장하지 않으며, 패널의 외부 브라우저로 전환을 사용하세요. 전환은 진행 중인 작업을 중지합니다. 준비 중이던 요청은 입력창에 복구되므로 로그인 후 다시 보낼 수 있습니다. 영구적으로 외부 창을 사용하려면 설정을 external로 바꾸고 창을 다시 로드하세요.

이 화면은 iframe 또는 VS Code의 실험적 BrowserTab API가 아닙니다. 기존 Playwright 페이지의 화면을 메모리에서 전달합니다. 별도 로컬 HTTP 서버·쿠키/토큰 추출·화면 파일 저장·웹 보안 헤더 변경을 사용하지 않습니다. 패널이 숨겨지면 캡처를 멈추며, 주소 표시에는 인증 쿼리·조각을 포함하지 않습니다.

사용

채팅 중심으로 작업하고, 파일 문맥을 첨부하고, 도구 실행과 변경을 검토하는 흐름입니다. GitHub Copilot·Codex·Claude Code의 일반적인 작업 방식을 참고한 독립 구현이며, 동일한 성능·기능 전체를 제공하는 제품은 아닙니다.

모드 선택 없이 같은 입력창에서 분석·계획·수정을 요청합니다. 알 수 없는 표현을 읽기 전용으로 막지 않습니다. 명확한 설명·검토·계획 질문에는 읽기 전용 보호를 적용하고 /ask, /plan, /review는 항상 읽기 전용입니다. 문장 판별은 완전한 의미 이해를 보장하지 않으며, 특정 단어만으로 파일 변경을 강제하지 않습니다. 파일 변경과 명령 실행의 승인은 그대로 유지합니다.

  • 처음 요청을 보낸 뒤 로그인 화면이 열려도 요청을 보관합니다. 로그인·MFA와 입력창 로딩이 끝나면 자동 전송합니다(기본 최대 10분 대기). 제출 전에 입력창이 초기화된 경우에만 다시 입력하며, 이미 누른 전송 버튼을 자동으로 다시 누르지 않습니다. 실패한 요청은 VS Code 입력창에 복구합니다. 그동안 새로 작성한 내용은 덮어쓰지 않습니다.

  • 모델 불러오기로 현재 계정의 실제 웹 메뉴를 읽고 드롭다운에서 모델을 변경합니다. 웹에서 제공되지 않는 모델을 추가하거나 라이선스 제한을 우회하지 않습니다. 메뉴가 없거나 구조가 다르면 웹의 현재 모델로 작업할 수 있습니다.

  • 모델 답변과 수정 요약은 현재 사용자가 입력한 언어를 기본으로 하며, “영어로 답해줘”처럼 응답 언어를 명시하면 그 요청을 우선합니다. /review·/test도 원래 입력을 보존합니다. 확장 UI와 작업 기록 문구는 한국어입니다.

  • 답변의 제목·목록·표·코드 블록을 Markdown으로 표시하고 코드 복사 버튼을 제공합니다. 답변의 HTML과 외부 이미지는 실행·로드하지 않습니다.

  • + 파일로 최대 5개 파일을 명시적으로 첨부합니다. 현재 파일은 열린 편집기 또는 선택 영역을 포함합니다.

  • /ask는 읽기 전용으로, /agent는 파일·명령 도구를 사용할 수 있는 일반 작업으로 명시합니다. 자동 판별을 바로잡을 때 요청 앞에 붙이면 됩니다. /agent도 파일 변경을 강제하지 않습니다. /plan, /review, /test는 계획·검토·테스트 단축 요청입니다.

  • 대화 문맥을 이어서 요청할 수 있습니다. +는 새 대화, 시계 모양의 대화 기록 아이콘은 기록 목록을 엽니다. 제목 검색, 이름 변경, 개별 삭제, 전체 삭제를 지원합니다. 이름 변경·삭제는 현재 작업 영역의 VS Code 저장 기록에만 적용되며 Copilot 웹 원본과 프로젝트 파일은 유지됩니다. 삭제에는 확인창이 표시됩니다. 최근 20개 대화를 현재 VS Code 작업 영역의 로컬 저장소에 보관합니다. 기록 전환과 새 웹 대화는 현재 자동화 탭을 재사용합니다. 작성 중인 웹 초안이나 진행 중인 웹 응답이 있으면 전환하지 않습니다. 모델에 전달하는 이전 대화는 크기에 맞춰 최근 일부로 제한됩니다.

  • 연결된 웹 대화의 주소와 VS Code 대화를 매핑합니다. 사이드바가 보이고 작업 중이 아닐 때 5초마다 현재 연결된 웹 대화를 읽습니다. 상단 더 보기(⋯) → 웹 대화 동기화로 바로 동기화할 수도 있습니다. 웹에서 추가한 질문·답변은 로컬 기록과 다음 요청의 문맥에 반영합니다. 동일 메시지는 중복 추가하지 않고 로컬 도구 기록도 유지합니다. 기록에서 연결된 대화를 고르면 해당 웹 대화도 다시 엽니다. 기록 선택·새 대화·작업 시작 이후 도착한 오래된 동기화 결과는 적용하지 않습니다.

  • VS Code의 새 요청은 연결된 웹 대화로 전송됩니다. 과거 로컬 기록 전체를 웹으로 재전송하거나, 열지 않은 웹 대화 전체를 내려받거나, 삭제를 양쪽에 전파하는 기능은 아닙니다. 현재 연결된 탭에 렌더링된 메시지만 가져오므로 웹의 가상 스크롤·화면 구조에 따라 오래된 메시지가 빠질 수 있습니다. 이력 가져오기로 JSON 파일 수정·명령 실행을 재실행하지 않습니다. 원시 도구 프롬프트는 질문으로, 응답 JSON은 사용자에게 보일 설명으로 정리합니다. 웹 화면 자체의 원시 JSON 표시를 바꾸지는 않습니다.

  • 파일 읽기·검색·명령의 진행 상태는 채팅의 도구 카드에 표시됩니다. 명령의 실제 출력은 M365 Code Agent 출력 패널에 표시됩니다.

  • 첫 요청 전에 확장이 프로젝트 파일을 탐색하고, 요청과 관련된 소스·진입점·설정 중 기본 예산에서는 최대 2개(큰 예산에서는 최대 4개)를 범위 읽기해 실제 본문을 전달합니다. 현재 파일이나 수동 첨부가 없어도 동작합니다. 전체 프로젝트를 모두 읽었다고 간주하지 않으며, 모델이 추가로 목록·검색·읽기를 요청합니다.

  • 상단의 프로젝트 점검은 M365 연결 없이 파일 읽기와 임시 파일 생성·읽기·삭제를 검사합니다. 프로젝트 루트의 .m365-agent-check-<임의 ID>.tmp만 잠시 만들며 기존 코드는 수정하지 않습니다. 이는 루트에 대한 쓰기 점검으로, 모든 소스 파일의 개별 권한을 보장하지는 않습니다.

예: src/average.js가 빈 배열을 받으면 null을 반환하도록 수정하고 테스트 파일을 만들어줘.

  • VS Code 확장이 로컬 파일 도구를 실행합니다. Copilot 웹 자체에는 로컬 파일 접근 권한을 주지 않으며, 확장이 읽은 본문과 도구 결과를 웹 프롬프트로 전달합니다.
  • 읽은 파일의 해시가 맞는 수정안만 적용합니다. 수정 중 파일이 바뀌었거나 저장하지 않은 사용자 편집이 있으면 적용을 거부합니다.
  • 기본적으로 변경 승인이 켜져 있습니다. 파일명을 눌러 VS Code diff를 열고 적용 또는 거절을 선택합니다. 체크를 해제하면 검증된 수정안을 자동 적용·저장합니다.
  • package.json, *.config.{js,cjs,mjs,ts,cts,mts,jsx,tsx}, .mocharc.js, .eslintrc.js, jest.setup.ts, setup.jest.js, test/setup.js, .pre-commit-config.yaml 등 실행 설정·초기화 파일과 conftest.py, pytest.ini, tox.ini, noxfile.py, gradlew, mvnw, .cargo/, 작업·CI·빌드 설정과 셸 스크립트는 변경 승인을 꺼도 항상 검토받습니다. 명령 승인 카드에도 이번 확장 실행에서 해당 작업 영역에 적용한 파일 변경과 diff를 표시하고, 이번 요청과 이전 요청에서 변경한 파일을 구분합니다. 이전 요청의 변경 내역을 지우지는 않습니다. 이 보호 장치가 프롬프트 인젝션을 완전히 막거나 셸을 격리해 주지는 않습니다.
  • 생성·수정한 파일은 일반 VS Code 편집 및 Git diff로 검토할 수 있습니다.
  • 중지 이후의 응답은 파일에 적용하지 않습니다. 이미 적용·저장된 파일은 유지합니다.
  • 되돌리기는 마지막 파일 수정 묶음을 복원합니다. 새로 만든 파일도 제거합니다. 이후 사용자 편집이 있으면 덮어쓰지 않습니다. 최대 20개 묶음을 이번 확장 실행 동안 보관하며 VS Code 재시작 후에는 사용할 수 없습니다. 터미널에서 발생한 변경은 포함하지 않습니다.
  • Agent가 테스트·빌드 명령을 요청하면 실행할 명령과 작업 폴더를 표시하고 매번 승인받습니다. 명령은 해당 PC의 기본 셸에서 실행되며, 별도 샌드박스는 아닙니다. 120초 제한, 중지, 출력 크기 제한이 적용됩니다. 프로젝트 실행 도구(Node.js, Python 등)는 해당 프로젝트에 맞게 설치되어 있어야 합니다.
  • 파일 편집 도구는 생성·전체 교체·부분 수정을 지원합니다. 큰 파일은 read_file의 startLine/startColumn/lineCount로 나누어 읽고, 읽은 범위의 고유한 oldText를 newText로 바꾸는 edit 작업으로 고칩니다. nextLine/nextColumn으로 긴 한 줄도 이어 읽을 수 있습니다. 파일 해시 충돌, 읽지 않은 범위, 중복 문구, 겹치는 수정은 거부합니다. 전체 교체에는 전체 읽기가 필요합니다.
  • 모든 완료 응답 뒤에 실제 적용 파일 수를 별도로 표시합니다. 모델이 설명만 반환하면 변경 0개를 표시하며, changes 응답을 강제하는 재요청은 하지 않습니다. 모델의 설명을 파일 적용 증거로 취급하지 않습니다.
  • 파일 삭제·이름 변경 전용 도구, 인라인 자동 완성, 원격·백그라운드 에이전트는 제공하지 않습니다.

.git, node_modules, 가상환경, .env*, 개인 키·인증서, .npmrc/.netrc, 확장자 없는 SSH 키, credentials, *.tfstate*, appsettings*.json 등의 경로와 루트 .gitignore / .m365agentignore에 지정된 파일은 제외합니다. 이름 기반 차단은 모든 비밀을 식별하지 못하므로 프로젝트의 민감 경로는 .m365agentignore에 추가하세요. 심볼릭 링크·정션 및 프로젝트 밖 경로는 접근하지 않습니다. 단일 로컬 폴더를 대상으로 동작하며 다중 루트에서는 작업할 폴더를 선택합니다. 텍스트 파일 크기는 기본 16MB, 설정에서 최대 128MB입니다. 한 번의 변경은 최대 30개 파일, 변경 요청 본문 총 512KB로 제한합니다. 부분 수정은 큰 파일 전체 크기가 아니라 교체할 oldText/newText를 기준으로 이 한도를 계산합니다. 웹에는 파일 전체를 올리지 않고 필요한 범위를 전달합니다. UTF-8 및 BOM이 있는 UTF-16을 읽으며, 다른 인코딩은 VS Code에서 열린 문서의 텍스트를 사용할 수 있습니다.

검증 실패 후 같은 질문을 되풀이하지 않도록 후속 요청에 고정된 작업 ID·완료한 도구·적용 파일·최근 오류를 전달합니다. 실패한 수정안의 대상 파일은 한 번 범위 읽기해 실제 내용·hash로 교정을 요청합니다. 같은 결과나 검증 실패만 계속되면 무의미한 재전송을 중지하고 실제 적용 수·원인을 표시합니다. 새 범위를 읽거나 파일이 바뀐 경우는 새 근거로 처리합니다. 이를 통해 모델이 항상 복구한다고 보장하지는 않으며, 실패한 수정안을 임의로 적용하지 않습니다.

회사 Code Assistant 에이전트 사용

기존에 만든 M365 Code Assistant를 사용할 수 있습니다. 그 에이전트를 연 웹 주소를 VS Code 설정의 m365Agent.copilotUrl에 입력합니다. 필수는 아니며 일반 M365 Copilot 대화에서도 프로토콜 지침을 매 요청 전달합니다. 데스크톱 M365 앱에 직접 IPC/API로 연결하는 제품은 아닙니다. Edge에서 M365 웹을 자동 조작합니다.

연결 진단과 화면 변경

실제 회사 테넌트의 로그인된 화면에서는 아직 검증하지 못했습니다. M365의 화면 구조·실험적 UI·조직 정책에 따라 자동 감지를 조정해야 할 수 있습니다. 더 보기(⋯) → 연결 진단은 현재 주소, 제목, 입력창 감지 결과와 최근 전송 단계를 VS Code 출력 패널에 표시합니다. 쿠키·토큰과 파일 내용은 연결 진단 로그에 기록하지 않습니다. 승인한 명령과 그 출력은 출력 패널에 표시됩니다. 응답이 화면에 보이는데 기다리는 경우에는 응답 수집 진단의 후보 수·현재 요청 ID 수·JSON 해석·생성 상태를 확인하세요. 수집은 코드 블록 외에 현재 요청 ID가 있는 작은 응답 영역, 열린 Shadow DOM과 자식 프레임도 탐색합니다. 언어명·복사 버튼 문구는 JSON 객체 밖에서 분리하며, 캡처한 답변 본문은 진단 로그에 저장하지 않습니다. 닫힌 Shadow DOM이나 화면에 전체 텍스트를 노출하지 않는 위젯은 수집하지 못할 수 있습니다.

설정에서 다음을 조정할 수 있습니다.

  • m365Agent.composerSelector: 입력창의 CSS 선택자. 기본값은 자동 감지입니다.
  • m365Agent.sendButtonSelector: 전송 버튼의 CSS 선택자. 기본값은 한국어·영어 버튼 자동 감지입니다. 활성화된 버튼을 클릭하고 입력창 초기화·생성 시작·새 응답으로 제출을 확인합니다. 제출을 확인하지 못하면 빠르게 오류를 표시하고 자동 재전송하지 않습니다.
  • m365Agent.responseSelector: 응답 코드/메시지를 감싸는 CSS 선택자. 기본값은 코드 블록과 알려진 응답 컨테이너입니다.
  • m365Agent.responseTimeoutSeconds: 응답 대기 제한(기본 240초).
  • m365Agent.loginTimeoutSeconds: 로그인·입력창 준비 대기 제한(기본 600초). 대기 중 요청은 보관하고 중지로 취소할 수 있습니다.
  • m365Agent.modelButtonSelector: 모델 선택 메뉴의 CSS 선택자(기본 자동 감지).
  • m365Agent.maxRounds: 읽기·수정 반복 제한(기본 20회, 최대 30회). 이전에 직접 설정한 값은 유지합니다. 작업 중에는 현재 요청 번호와 이후 남은 횟수를 별도로 표시합니다. 기본 12,000자 예산에서는 도구를 한 응답당 최대 2개 실행하며, 초과 호출은 실행하지 않았다고 명시해 다음 요청에서 다시 요청하게 합니다. 입력 예산에 따라 한 번에 1~4개를 허용합니다. 기본 입력 한도를 실제 테넌트 검증 없이 높이지 않습니다.
  • m365Agent.maxFileSizeMB: 로컬 텍스트 파일 크기 상한(기본 16MB, 최대 128MB).
  • m365Agent.maxPromptCharacters: 요청 길이 상한(기본 12,000자). 입력창의 실제 한도가 더 작다고 전송 전에 확인되면 오래된 대화·파일 목록·첨부 문맥을 줄여 재구성합니다. 본문 범위를 더 줄일 때는 complete=false와 이어 읽기 위치를 명시합니다. 범위를 전달할 수 없으면 도구 오류로 모델에 알립니다. 사용자 요청과 코드 내용을 중간에서 잘라 보내지 않습니다.
  • m365Agent.browserView: 기본 editor(VS Code 브라우저 탭). external은 별도 브라우저 창입니다.
  • m365Agent.browserChannel: Edge(msedge) 또는 Chrome(chrome).
  • m365Agent.commandOutputEncoding: 기본 utf8. CP949 전용 도구는 cp949로 설정합니다. Windows 명령의 코드페이지와 출력 디코더를 함께 맞추며, 멀티바이트 문자가 출력 조각 경계에서 깨지지 않도록 스트림으로 처리합니다.

설정을 변경한 뒤 VS Code의 개발자: 창 다시 로드로 전용 브라우저 연결을 다시 만드세요. Copilot 입력창에 직접 작성 중인 내용이 있으면 덮어쓰지 않고 작업을 중단합니다. 응답은 요청별 ID가 일치하는 구조화된 JSON만 받습니다. 응답 형식 오류나 시간 초과 시 파일을 적용하거나 요청을 자동 재전송하지 않습니다. 현재 요청 ID가 같은 여러 JSON은 중복을 제거하고 합칩니다. 서로 다른 파일의 수정안은 한 묶음으로, 같은 파일의 부분 수정은 같은 hash일 때 함께 검증합니다. 동일 파일의 다른 전체 본문·다른 hash·상충하는 교체 내용은 응답 생성이 끝난 뒤에도 충돌이 유지되면 적용하지 않습니다. 겹치는 부분 수정은 로컬 파일 검증에서 거부합니다. 여러 완료 설명은 합쳐 표시합니다. 도구 요청과 수정안이 함께 오면 도구만 먼저 실행하고 실제 결과·hash로 수정안을 다시 받습니다. 미리 온 수정안이나 완료 설명을 실행 결과로 취급하지 않습니다. 응답 코드 블록은 표준 json을 사용합니다. 과거 m365-agent 언어 이름으로 인한 구문 강조 경고를 피합니다. 입력은 DOM의 문단과 실제 텍스트로 검증하고, 진단에는 요청·확인 글자 수와 표시된 한도를 포함합니다. 길이가 달라도 곧바로 길이 제한으로 단정하지 않습니다. 0.2.0이 남긴 식별 가능한 자동화 요청 초안은 다음 작업 전에 정리합니다. 일반 사용자 초안은 자동 삭제하지 않습니다. 자동 전송이 중단됐을 때 브라우저의 전송 버튼을 직접 누르지 말고 오류를 확인하세요.

동작 방식과 제약

VS Code 파일 도구 ↔ Playwright ↔ 전용 Edge의 M365 Copilot 웹

파일 내용은 사용자가 로그인한 M365 Copilot 웹에 프롬프트로 전달됩니다. 별도 개발자 서버, 텔레메트리, 다른 AI 서비스로 보내지 않습니다. 비공개 API 호출, 로그인 토큰 추출, 회사 보안 정책 우회는 하지 않습니다. 이 방식은 Microsoft의 공식 Copilot API 연동이 아니며 웹 UI 변경, 조직의 브라우저 자동화 정책, 사용량 제한에 영향을 받습니다. Microsoft의 데이터 보호 설명은 적용 계약·관리 설정에 따른 보호를 설명하지만, 이 비공식 확장이나 브라우저 자동화의 사용 승인을 보장하지 않습니다. 회사의 DLP·코드 반출·브라우저 자동화 정책 및 적용 계약에 맞는 환경에서만 사용하세요. 로컬 파일을 웹 프롬프트에 붙이는 동작에 원본 파일의 민감도 레이블이 자동으로 따라간다고 보장하지 않습니다. Microsoft의 기업 데이터 보호 설명을 참고하세요. 전용 Edge를 사용하는 웹 자동화입니다. 기본값에서는 화면을 VS Code 탭에 표시하며, 외부 모드의 브라우저 창을 직접 닫으면 다시 연결해야 합니다. 실제 회사 로그인과 응답 언어 동작은 해당 테넌트에서 검증해야 합니다. WSL/SSH/컨테이너 등 원격 프로젝트는 이번 버전의 대상이 아닙니다.

개발과 검증

npm ci
npm run check
npm test
npm run test:integration
npm run package

테스트는 로컬 파일 시스템, 해시·경로 보호, 모의 Copilot 페이지를 사용한 실제 Edge 입출력, 웹뷰의 키보드·한글 입력·승인 UI, 별도 VS Code 테스트 호스트의 파일 생성·편집·저장·되돌리기 및 명령 승인을 확인합니다. 모의 페이지 검증이 회사 테넌트의 연동 검증을 대신하지는 않습니다. CI에서도 VS Code 확장 호스트를 실행해 큰 파일의 부분 수정과 실행 설정의 강제 검토를 검사합니다. 로컬에서 설치된 VS Code로 검증하려면 M365_AGENT_VSCODE_PATH에 실행 파일 경로를 지정할 수 있습니다. 배포 스크립트는 .test-output, Edge 프로필·쿠키·키 경로가 VSIX에 포함되거나 테스트 프로필이 Git에서 추적되면 패키징을 중단합니다. 소스 ZIP은 git archive로 생성하며 작업 폴더 전체를 압축하지 않습니다.

참고: Playwright, VS Code Webview, VSIX 설치·패키징.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft