Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>SharePoint Folder DownloaderNew to Visual Studio Code? Get it now.
SharePoint Folder Downloader

SharePoint Folder Downloader

Sridharan Selvaraj

|
1 install
| (0) | Free
Download missing files from SharePoint, OneDrive, Google Drive and Amazon S3 in a full-page VS Code dashboard.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

SharePoint Folder Downloader — v0.4.0

Download missing files from SharePoint, OneDrive, Google Drive and Amazon S3 in a full-page VS Code dashboard. The existing extension ID remains SridharanSelvaraj.sharepoint-missing-files; this is an upgrade, not a second extension.

Open the full page

Install sharepoint-folder-downloader-0.4.0.vsix using Extensions → … → Install from VSIX…, reload if prompted, and click the SharePoint Downloader folder/download icon in the Activity Bar. The dashboard opens in an editor tab and hides the side/panel areas to give it the available editor width. It also works without an open project. SharePoint Downloader: Open Full-Page Dashboard reopens it if the icon is hidden.

Saved connections are on the left of the page; the selected connection's progress and controls are on the right. Add/Edit forms open as full editor tabs. The layout adapts to narrow windows and VS Code light/dark themes.

Providers and prerequisites

Source Authentication Supported scope
SharePoint / OneDrive for Business direct folder Interactive Playwright Edge/Chromium sign-in Direct /sites/, /teams/, /personal/ paths and classic/modern folder view links
OneDrive personal/business shared link Microsoft Graph device-code sign-in; your public-client app ID Personal OneDrive URLs, 1drv.ms, and SharePoint sharing links such as /:f:/g/personal/...
Google Drive Your Desktop OAuth app ID/client secret; standard browser sign-in Accessible files/folders and shared-drive content; supported native documents exported
Amazon S3 private bucket/prefix Existing AWS profile/SSO/credential chain s3://bucket/prefix and standard S3 HTTPS bucket/prefix URLs
Amazon S3 public bucket Anonymous mode, with list/read permission Publicly listable prefixes
Amazon S3 pre-signed link Authorization already in the signed URL One object per URL; expiration still applies

Private Microsoft/Google connections require app registrations you or your organization controls. No developer-owned OAuth application IDs are bundled. Click Provider Setup in the dashboard or form for the bundled step-by-step CLOUD-SETUP.md guide. Organizational permissions, consent and download policies still apply.

Microsoft sharing-link resolution requires Files.ReadWrite delegated consent according to its API; this extension only lists/downloads and does not write or delete cloud files. Google sign-in requests drive.readonly. AWS credentials are obtained through boto3's existing credential chain; the form does not store access keys.

Install dependencies

Desktop VS Code 1.85+, Python 3.10+, and a writable filesystem with hard-link support (for example NTFS/APFS/ext4) are required.

Install packages into the same Python environment the extension uses:

python -m pip install playwright msal requests google-auth google-auth-oauthlib boto3
python -m playwright install chromium

Use py on Windows or your virtual environment's executable as appropriate. Chromium/Edge is needed for the SharePoint browser connector. You can instead install the bundled worker/requirements.txt.

Click Select Python to choose the executable if detection fails or you installed dependencies in another environment. sharepointMissing.pythonPath remains available as a machine/user setting and accepts an executable path, without arguments.

Add and run a connection

  1. Click Add Folder Pair.
  2. Enter a name and source URL. The provider-specific setup fields appear automatically.
  3. Click Browse… for the local destination, or enter an absolute path.
  4. For Microsoft/Google API connections, enter the required app details. For S3, select an existing profile/region or anonymous public access.
  5. Choose one-time or automatic mode and 5, 15, 30, 60 minutes or a custom 1–1440 whole-minute interval. Include subfolders is optional.
  6. Save, select the connection, and click Start, Download Missing Files, or Start Auto Check.

Sign-in depends on the provider:

  • SharePoint browser: sign in/MFA in the visible browser, then click I've signed in.
  • Microsoft Graph: click Open Microsoft Sign-in, enter the displayed device code and complete consent/MFA.
  • Google: complete the standard browser consent flow; the temporary localhost callback returns control automatically.
  • S3: use the configured AWS credentials/SSO session, public access, or pre-signed URL.

Reconnect Account forgets the connection's saved OAuth token cache and restarts sign-in. It does not revoke provider-side app permissions; use the provider's account settings to revoke access.

Controls and truthful progress

Edit updates a connection. Cancel discards the form. Delete removes configuration and its stored source/credentials while keeping downloaded files. Stop a connection before editing/deleting it.

The dashboard shows actual status, discovered/downloaded/skipped/failed counts, current filename, processed-file progress, last successful check and next scheduled check. The total is unknown until discovery finishes; progress counts processed files, not bytes. No success is fabricated while waiting for sign-in/setup.

Retry Failed retries the last run's failed remote file IDs/keys. Discovery/authentication errors require a whole check. Stop Auto Check also stops a one-time download. It terminates this job's worker/process tree and cleans its incomplete staging files. Existing files and completed downloads are kept. Open Folder opens Explorer/Finder/the system file manager. View Logs opens the Output channel.

Multiple non-overlapping destinations can run independently. Overlapping destinations cannot run concurrently. Automatic checks run while VS Code and the required session remain active, with the next check scheduled after the current check. Transient listing/network errors are reported and scheduled again; authentication errors stop the job. Reloading/restarting VS Code stops jobs; restart them explicitly. Connections and last-success timestamps are restored.

Missing-only behavior and limits

Skip existing, preserve relative folder structure, never overwrite and never delete are always enabled. Files stage on the destination filesystem and publish through exclusive hard links. Filesystems without hard-link support, including exFAT/FAT and some network shares, are rejected. Do not let other processes modify the destination tree during a job; symlink/junction destinations are rejected where detectable.

  • Existing local names are skipped regardless of timestamps, size or newer cloud revisions.
  • Google Docs/Sheets/Slides/Drawings export as DOCX/XLSX/PPTX/PDF. Other Google-native types and shortcuts fail explicitly. Provider export-size/policy limits still apply. Duplicate remote names mapping to one local path are reported.
  • S3 prefixes preserve paths beneath the selected prefix. A pre-signed URL authorizes one object, not listing an entire bucket. Replace expired signed URLs with fresh authorized links.
  • Microsoft API connectors target the global Microsoft cloud. Sovereign-cloud endpoints are not configured.
  • SharePoint files currently buffer response bodies in memory; cloud API downloads stream to staging files. Very large SharePoint files can require substantial memory.
  • SharePoint internal folders named Forms remain excluded from recursive traversal.

Privacy

No organization-specific folders are preconfigured. Ordinary global storage holds connection metadata, redacted labels/fingerprints for sensitive URLs, and last-check timestamps. Sharing links, signed URLs, Google desktop client secrets and OAuth caches use VS Code SecretStorage. Sensitive runtime sources and credentials pass to Python over stdin, not command-line arguments. Credential events are intercepted before logs or webview delivery. No analytics are sent.

Logs can contain file names, non-secret paths and provider errors; review them before sharing. Authentication profiles, runtime logs, private configurations and credentials are excluded from the package. The source and screenshots use generic examples only.

Troubleshooting

  • Missing Python/dependencies: install them in the selected environment; use Select Python and Provider Setup.
  • Microsoft app/consent error: verify app ID, account audience, tenant, public-client/device-code enablement and required delegated permissions. Reconnect if the account/cache is wrong.
  • Google consent error: use a Desktop client, enable Drive API, configure consent/test users and satisfy organizational/Google app-verification rules.
  • S3 error: verify bucket/prefix, profile/SSO login, region and list/get/KMS permissions. Public object access does not guarantee bucket listing permission.
  • HTTP 401/403 or expired session: reconnect/restart and check permissions. Policies are never bypassed.
  • Filesystem error: choose a writable NTFS/APFS/ext4 destination, with no symlink/junction or concurrent writer.

Validation and release status

The full-page UI, original engine, provider adapters and secure IPC have automated offline tests. Real Microsoft/Google/AWS sign-in, tenant/sharing policies, and live provider downloads have not been validated because no authorized app registrations/accounts were configured for this session. Windows/Linux native behavior also remains unverified. See TEST-REPORT.md and RELEASE-CHECKLIST.md in the source distribution. Do not interpret support for a provider as a guarantee for every link type or policy.

npm ci
npm run check
npm test
npm run package

Real UI screenshots are bundled in media/screenshots/; source viewers can open UI-GALLERY.md. Public image hosting remains needed before embedding screenshots into a Marketplace README. No new Marketplace publication is performed automatically.

License

Proprietary / UNLICENSED. All rights reserved. Existing publisher identity and licensing terms are retained; see LICENSE.txt.

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