AspScript для VS Code
🚀 Официальное расширение Visual Studio Code для AspScript v2.0.0 - сверхбыстрого реактивного фреймворка с WebAssembly Core и управлением памятью.

Русская версия | English
🎉 AspScript v2.0.0 "Production Ready"
Новые возможности:
- 🚀 WebAssembly Core - Ускорение в 10-20 раз для числовых операций
- 💾 Memory Management - Продвинутый менеджер памяти с обнаружением утечек
- ⚡ Сверхбыстрая Реактивность - Точная реактивная система с изолированными контекстами
- 🔥 Hot Module Replacement - Молниеносный HMR на основе WebSocket
- 🎯 TypeScript Support - Полная поддержка TypeScript из коробки
- 📊 Performance Monitoring - Встроенные инструменты профилирования
- 🎨 Scoped Styles - CSS изоляция на уровне компонентов
- 📦 Zero Dependencies - Полностью самодостаточный фреймворк
✨ Возможности расширения
🎨 Syntax Highlighting
- ✅ Полная подсветка синтаксиса для
.aspc файлов
- ✅ Секция скриптов с разделителями
--- или <script>
- ✅ HTML-шаблоны с интерполяцией
{variable}
- ✅ Реактивные ключевые слова:
$state, $computed, $effect, $global
- ✅ Новое v2.0:
$stateWASM, initWASM, benchmarkWASMvsJS
- ✅ Новое v2.0:
memory, MemoryManager, checkLeaks
- ✅ Директивы событий:
@click, @input, @submit.prevent
- ✅ Директивы привязки:
#bind, :class, :style
- ✅ Условные блоки:
{#if}, {:else if}, {:else}, {/if}
- ✅ Циклы:
{#for item in items}, {#each array as (item, i)}
- ✅ CSS/SCSS/SASS/LESS секции стилей с вложенностью
📝 30+ Snippets
Быстрые сниппеты для ускорения разработки:
| Префикс |
Описание |
Новое |
aspc |
Полный шаблон компонента |
|
state |
let x = $state(0) |
|
computed |
const x = $computed(() => ...) |
✨ v2.0 |
effect |
$effect(() => {...}) |
|
global |
$global('key', value) |
|
wasm |
WASM инициализация |
✨ v2.0 |
stateWASM |
const x = $stateWASM(0) |
✨ v2.0 |
memory |
Memory Management |
✨ v2.0 |
ssr |
SSR компонент |
✨ v2.0 |
if |
Условный блок {#if} |
|
for |
Цикл {#for} |
|
each |
Цикл с индексом {#each} |
|
counter |
Полный компонент счетчика |
|
form |
Полный компонент формы |
|
💡 IntelliSense
- ✅ Автодополнение реактивных API (
$state, $computed, $effect, $global)
- ✅ Новое v2.0: Автодополнение WASM API (
$stateWASM, initWASM, benchmarkWASMvsJS)
- ✅ Новое v2.0: Автодополнение Memory Management (
memory, checkLeaks, getSnapshot)
- ✅ Автодополнение хуков жизненного цикла (
onMount, onDestroy, onUpdate)
- ✅ Автодополнение директив (
@click, #bind, :class, :style)
- ✅ Автодополнение условных директив и циклов
- ✅ Новое v2.0: Поддержка TypeScript IntelliSense
- ✅ Hover документация с примерами и синтаксисом
- ✅ Go to Definition для переменных и функций
- ✅ Document Symbols (Outline панель)
- ✅ Code Actions для быстрых исправлений
✅ Linting & Diagnostics
- ⚠️ Обнаружение ошибок в реальном времени
- ⚠️ Предупреждения о дублирующихся переменных
- ⚠️ Обнаружение неверных директив
- ⚠️ Проверка незакрытых скобок
- ⚠️ Валидация структуры компонента
- ⚠️ Новое v2.0: Проверка синтаксиса
$computed() (вместо $:)
- ⚠️ Новое v2.0: Валидация WASM импортов
- ⚠️ Новое v2.0: Проверка Memory Management API
🔧 Commands
AspScript: Create Component - Создать новый .aspc компонент
AspScript: Compile Current File - Скомпилировать активный файл
AspScript: Preview Component - Предпросмотр компонента
AspScript: Format Document - Форматирование кода
AspScript: Initialize WASM Core - Инициализировать WASM Core ✨ v2.0
AspScript: Memory Profile - Профиль памяти ✨ v2.0
AspScript: SSR Preview - Предпросмотр SSR компонента ✨ v2.0
🎯 Code Actions
- 💡 Быстрые исправления частых ошибок
- 💡 Автоматическое добавление недостающих ключевых слов
- 💡 Миграция с
$: на $computed() ✨ v2.0
- 💡 Удаление пустых блоков
- 💡 Форматирование при сохранении
📦 Установка AspScript
1. Установите расширение VS Code
Из VS Code Marketplace (скоро):
- Откройте VS Code
Ctrl+Shift+X → Найдите "AspScript"
- Нажмите "Установить"
Из VSIX файла:
- Скачайте
aspscript-2.0.0.vsix
Ctrl+Shift+P → "Extensions: Install from VSIX..."
- Выберите файл и установите
2. Установите npm пакеты
# Создать новое приложение (рекомендуется)
npm create @aspscript/create-aspscript my-app
# Или установить вручную
npm install @aspscript/core @aspscript/compiler @aspscript/cli
# Для WASM поддержки
npm install @aspscript/core-wasm
# Для Memory Management
npm install @aspscript/memory
📦 Доступные пакеты:
🚀 Быстрый старт
1. Создайте компонент
Создайте файл Counter.aspc:
---
title: Counter Component
---
<script>
import { $state, $computed } from '@aspscript/core'
const count = $state(0)
const doubled = $computed(() => count.value * 2)
function increment() {
count.value++
}
</script>
<template>
<div class="counter">
<h1>AspScript Counter</h1>
<p>Count: {count.value}</p>
<p>Doubled: {doubled.value}</p>
<button @click={increment}>+1</button>
</div>
</template>
<style>
.counter {
padding: 2rem;
text-align: center;
}
button {
padding: 0.5rem 1rem;
background: #3b82f6;
color: white;
border: none;
border-radius: 8px;
cursor: pointer;
transition: transform 0.2s;
}
button:hover {
transform: translateY(-2px);
}
</style>
2. Используйте сниппеты
Наберите aspc и нажмите Tab для вставки полного шаблона!
3. Скомпилируйте
- Команда:
Ctrl+Shift+P → "AspScript: Compile Current File"
- Контекстное меню: Правый клик → "AspScript: Compile"
- Терминал:
npx aspc compile Counter.aspc
🆕 Новые возможности v2.0.0
WebAssembly Core
<script>
import { initWASM, $stateWASM, benchmarkWASMvsJS } from '@aspscript/core-wasm'
import { $effect } from '@aspscript/core'
const count = $stateWASM(0) // 10-20x быстрее!
$effect(async () => {
await initWASM()
const results = await benchmarkWASMvsJS(10000)
console.log(`WASM is ${results.speedup}x faster!`)
})
function increment() {
count.value++ // Ultra-fast!
}
</script>
<template>
<div>
<p>WASM Count: {count.value}</p>
<button @click={increment}>Increment</button>
</div>
</template>
Memory Management
<script>
import { memory } from '@aspscript/memory'
import { $effect } from '@aspscript/core'
$effect(async () => {
await memory.init()
// Получить снимок памяти
const snapshot = memory.getSnapshot()
console.log('Allocations:', snapshot.stats.currentAllocations)
// Проверить утечки
const leaks = memory.checkLeaks()
if (leaks.length > 0) {
console.warn('Leaks detected:', leaks)
}
return () => {
memory.cleanup()
}
})
</script>
Новый синтаксис $computed()
<script>
import { $state, $computed } from '@aspscript/core'
const count = $state(0)
// Новый синтаксис v2.0 (вместо $: doubled = count * 2)
const doubled = $computed(() => count.value * 2)
</script>
SSR Support
<script>
import { createSSRApp } from '@aspscript/core'
// SSR компонент
export default createSSRApp({
// ...
})
</script>
⚙️ Настройки
Откройте Settings (Ctrl+,) и найдите "AspScript":
{
"aspscript.compilerPath": "aspc",
"aspscript.autoCompile": false,
"aspscript.format.enable": true,
"aspscript.format.indentSize": 2,
"aspscript.lint.enable": true,
"aspscript.preview.autoRefresh": true,
"aspscript.typescript.enable": true,
"aspscript.wasm.enable": true,
"aspscript.memory.enable": true
}
📊 Производительность v2.0
| Метрика |
v1.4.0 |
v2.0.0 |
Улучшение |
| Cold Start |
280ms |
85ms |
3.3x быстрее |
| Hot Reload |
120ms |
25ms |
4.8x быстрее |
| Runtime FPS |
85 |
120 |
+41% |
| Memory |
67 MB |
42 MB |
-37% |
| Bundle Size |
246 KB |
145 KB |
-41% |
| WASM State |
N/A |
10-20x быстрее |
NEW! |
🎯 Горячие клавиши
| Клавиши |
Действие |
Ctrl+Shift+C |
Скомпилировать текущий файл |
Ctrl+Shift+P |
Предпросмотр компонента |
Alt+Shift+F |
Форматировать документ |
F12 |
Go to Definition |
Shift+F12 |
Find All References |
📚 Ресурсы
🤝 Участие в разработке
Мы приветствуем вклад! Смотрите DEVELOPMENT.md для деталей.
📝 Changelog
[2.0.0] - 2026-01-06
- 🚀 Добавлена поддержка WebAssembly Core
- 💾 Добавлена поддержка Memory Management
- ⚡ Обновлён синтаксис:
$computed() вместо $:
- 🎯 Добавлена поддержка TypeScript
- 📊 Добавлены новые команды (WASM, Memory, SSR)
- 🔥 Улучшен HMR и производительность
- 📦 Обновлены все зависимости до v2.0.0
Полный changelog
📄 Лицензия
MIT © Adel Petrov
🙏 Благодарности
Вдохновлено Vue, Svelte и Solid.js
Создано с ❤️ для сообщества разработчиков
Приятного кодирования с AspScript! 🚀
AspScript v2.0.0 - Write Less, Do Faster