cloudstudio
Version:
Run VS Code on a remote server.
128 lines (117 loc) • 4.58 kB
HTML
<!-- Copyright (C) Microsoft Corporation. All rights reserved. -->
<html>
<head>
<script>
performance.mark('code/didStartRenderer');
</script>
<meta charset="utf-8" />
<!-- Mobile tweaks -->
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-title" content="Code">
<link rel="apple-touch-icon" href="{{WORKBENCH_WEB_BASE_URL}}/code-lite-192.png" />
<!-- Disable pinch zooming -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
<!-- Workbench Configuration -->
<meta id="vscode-workbench-web-configuration" data-settings="{{WORKBENCH_WEB_CONFIGURATION}}">
<!-- Workbench Auth Session -->
<meta id="vscode-workbench-auth-session" data-settings="{{WORKBENCH_AUTH_SESSION}}">
<!-- NLS Configuration -->
<meta id="vscode-remote-nls-configuration" data-settings="{{NLS_CONFIGURATION}}">
<!-- Workbench Icon/Manifest/CSS -->
<link rel="icon" href="{{WORKBENCH_WEB_BASE_URL}}/resources/server/favicon-lite.ico" type="image/x-icon" />
<link rel="manifest" href="{{STATIC_ROUTE}}/resources/server/manifest.json" crossorigin="use-credentials" />
<link data-name="vs/workbench/workbench.web.main" rel="stylesheet" href="{{WORKBENCH_WEB_BASE_URL}}/out/vs/workbench/workbench.web.main.css">
<style>
.loading-iframe {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
border: none;
}
.workspace-loader {
visibility: hidden;
position: absolute;
}
</style>
</head>
<body aria-label="">
<iframe class="loading-iframe" src="{{WORKBENCH_WEB_BASE_URL}}/out/vs/code/browser/workbench/loading.html"></iframe>
<iframe class="workspace-loader" src="{{HIDDEN_IFRAME_URL}}"></iframe>
</body>
<!-- Startup (do not modify order of script tags!) -->
<script src="{{WORKBENCH_WEB_BASE_URL}}/out/vs/loader.js"></script>
<script src="{{WORKBENCH_WEB_BASE_URL}}/out/vs/webPackagePaths.js"></script>
<script>
try {
const colorInfo = JSON.parse(localStorage.getItem("monaco-parts-splash")).colorInfo;
const { background, foreground } = colorInfo;
document.body.style.background = background;
window.frames[0].postMessage({ background, foreground }, '*')
} catch (error) {
document.body.style.background = '#1e1e1e';
}
if (typeof navigator !== 'undefined' && 'serviceWorker' in navigator) {
navigator.serviceWorker.register('/_static/out/browser/serviceWorker.js', {
scope: '/',
}).then(function() {
console.info('[Service Worker] registered');
})
.catch(function(error) {
console.error('[Service Worker] registration', error);
});
}
/**
* Updated to use relative path.
* Use relative paths and NLS configuration (based on
* ../../../../bootstrap.js).
* @author cs
*/
let nlsConfig;
try {
nlsConfig = JSON.parse(document.getElementById("vscode-remote-nls-configuration").getAttribute("data-settings"));
if (nlsConfig._resolvedLanguagePackCoreLocation) {
const bundles = Object.create(null)
nlsConfig.loadBundle = (bundle, _language, cb) => {
const result = bundles[bundle]
if (result) {
return cb(undefined, result)
}
const path = nlsConfig._resolvedLanguagePackCoreLocation + "/" + bundle.replace(/\//g, "!") + ".nls.json";
fetch(`${window.location.origin}/vscode-remote-resource?path=${encodeURIComponent(path)}`)
.then((response) => response.json())
.then((json) => {
bundles[bundle] = json
cb(undefined, json)
})
.catch(cb)
}
}
} catch (error) { /* Probably fine. */ }
Object.keys(self.webPackagePaths).map(function (key, index) {
self.webPackagePaths[key] = `{{WORKBENCH_WEB_BASE_URL}}/node_modules/${key}/${self.webPackagePaths[key]}`;
});
require.config({
baseUrl: `{{WORKBENCH_WEB_BASE_URL}}/out`,
recordStats: true,
trustedTypesPolicy: window.trustedTypes?.createPolicy('amdLoader', {
createScriptURL(value) {
return value;
}
}),
paths: self.webPackagePaths,
'vs/nls': nlsConfig
});
</script>
<script>
performance.mark('code/willLoadWorkbenchMain');
</script>
<script src="{{WORKBENCH_WEB_BASE_URL}}/out/vs/workbench/workbench.web.main.nls.js"></script>
<script src="{{WORKBENCH_WEB_BASE_URL}}/out/vs/workbench/workbench.web.main.js"></script>
<script src="{{WORKBENCH_WEB_BASE_URL}}/out/vs/code/browser/workbench/workbench.js"></script>
</html>