diff --git a/extension/src/webview/factory.ts b/extension/src/webview/factory.ts
index 13a44200c9..5455685cba 100644
--- a/extension/src/webview/factory.ts
+++ b/extension/src/webview/factory.ts
@@ -35,6 +35,7 @@ export const createWebview = async (
title,
viewColumn || ViewColumn.Active,
{
+ enableCommandUris: true,
enableScripts: true,
localResourceRoots: [Uri.file(distPath), ...getWorkspaceRootUris()],
retainContextWhenHidden: true
diff --git a/webview/icons/codicons.mjs b/webview/icons/codicons.mjs
index 08bc78eda3..7a5c988732 100644
--- a/webview/icons/codicons.mjs
+++ b/webview/icons/codicons.mjs
@@ -10,6 +10,7 @@ export const codicons = [
'copy',
'ellipsis',
'error',
+ 'extensions',
'filter',
'git-commit',
'git-merge',
diff --git a/webview/src/setup/components/remotes/AmazonS3.tsx b/webview/src/setup/components/remotes/AmazonS3.tsx
index 463f973a71..4d59df6fbe 100644
--- a/webview/src/setup/components/remotes/AmazonS3.tsx
+++ b/webview/src/setup/components/remotes/AmazonS3.tsx
@@ -3,6 +3,7 @@ import styles from './styles.module.scss'
import { InfoText } from './InfoText'
import { CloudVersioning } from './CloudVersioning'
import { CustomAuth } from './CustomAuth'
+import { ShowExtension } from './ShowExtension'
export const AmazonS3 = () => (
@@ -13,7 +14,7 @@ export const AmazonS3 = () => (
. This reads the default AWS credentials file (if available) or env vars.
-
+
The AWS user needs the following permissions: s3:ListBucket, s3:GetObject,
s3:PutObject, s3:DeleteObject.
diff --git a/webview/src/setup/components/remotes/AzureBlobStorage.tsx b/webview/src/setup/components/remotes/AzureBlobStorage.tsx
index 262d6133cf..e237a059f8 100644
--- a/webview/src/setup/components/remotes/AzureBlobStorage.tsx
+++ b/webview/src/setup/components/remotes/AzureBlobStorage.tsx
@@ -1,6 +1,7 @@
import React from 'react'
import styles from './styles.module.scss'
import { CloudVersioning } from './CloudVersioning'
+import { ShowExtension } from './ShowExtension'
export const AzureBlobStorage = () => (
)
diff --git a/webview/src/setup/components/remotes/ShowExtension.tsx b/webview/src/setup/components/remotes/ShowExtension.tsx
new file mode 100644
index 0000000000..97cd43c735
--- /dev/null
+++ b/webview/src/setup/components/remotes/ShowExtension.tsx
@@ -0,0 +1,31 @@
+import React from 'react'
+import styles from './styles.module.scss'
+import { Icon } from '../../../shared/components/Icon'
+import { Extensions } from '../../../shared/components/icons'
+
+export const ShowExtension: React.FC<{ id: string; name: string }> = ({
+ id,
+ name
+}) => {
+ const idQuery = `"@id:${id}"`
+
+ return (
+
+ {' '}
+ View the{' '}
+
+ {name}
+ {' '}
+ extension.
+
+ )
+}
diff --git a/webview/src/shared/components/icons/Extensions.tsx b/webview/src/shared/components/icons/Extensions.tsx
new file mode 100644
index 0000000000..6f22eadad6
--- /dev/null
+++ b/webview/src/shared/components/icons/Extensions.tsx
@@ -0,0 +1,19 @@
+import * as React from 'react'
+import type { SVGProps } from 'react'
+const Extensions = (props: SVGProps) => (
+
+)
+export default Extensions
diff --git a/webview/src/shared/components/icons/index.ts b/webview/src/shared/components/icons/index.ts
index 0a0d2e8462..1d4e51cddf 100644
--- a/webview/src/shared/components/icons/index.ts
+++ b/webview/src/shared/components/icons/index.ts
@@ -10,6 +10,7 @@ export { default as Close } from './Close'
export { default as Copy } from './Copy'
export { default as Ellipsis } from './Ellipsis'
export { default as Error } from './Error'
+export { default as Extensions } from './Extensions'
export { default as Filter } from './Filter'
export { default as GitCommit } from './GitCommit'
export { default as GitMerge } from './GitMerge'