Skip to Content
Krad ADE
User guide

Web frameworks

The language servers, highlighting and new-file templates the app brings for HTML, CSS, SCSS, React, Vue, Svelte and Astro projects.

Web projects get their language servers, highlighting and file templates from the app's built-in language manifests, like every other language. As with any language server, the app installs each server from the package registry after asking, the first time a file of its language opens.

Languages

LanguageFilesLanguage serverHighlighting
HTML.html, .htmhtml-lsp (vscode-html-language-server), with formatting and embedded CSS and JavaScriptYes
CSS.csscss-lsp (vscode-css-language-server), with formattingYes
SCSS.scsscss-lspYes
TypeScript.ts, .mts, .cts, .tsxvtslsYes
JavaScript.js, .jsx, .mjs, .cjsvtslsYes
Svelte.sveltesvelte-language-server (svelteserver)Yes
Vue.vueNoneYes, with the HTML grammar
Astro.astroNoneYes

Vue and Astro files are highlighted but have no language server yet, so they get no diagnostics, completion or go to definition.

New-file templates

Creating a file in the file tree opens New, with a Name field and the templates that fit the folder. Templates for web components are offered only in a project with a package.json in the folder or one of its parents, up to the root of the file tree.

TemplateGroupCreatesAlso needs
React componentTypeScript<name>.tsx, a function component named after the fileA package.json or tsconfig.json
React componentJavaScript<name>.jsx
Vue componentVue<name>.vue with <script setup lang="ts">, a template and a scoped style
Svelte componentSvelte<name>.svelte with a TypeScript script, markup and a style
Astro componentAstro<name>.astro with its frontmatter fence, markup and a style
Module, TestTypeScript, JavaScript<name>.ts or .js, and <name>.test.ts or .test.js with a describe block

The new file opens with the cursor where you start writing. A name that already exists is refused, and Empty file, under Other, is always offered.

Button.tsx
export function Button() {
  return <div></div>;
}
Card.svelte
<script lang="ts">

</script>

<div></div>

<style>
</style>

Project tasks

The package.json scripts of a web project run from the command palette, with the package manager its lockfile names. See Project search and tasks.

Languages, servers and templates are data in manifests. An extension can add more without a new app release.

On this page