Přejít k navigační liště

Zdroják » PR Články » VS Code – ladění na všech platformách

VS Code – ladění na všech platformách

Články PR Články

Dnes si povíme, jak pomocí VS Code ladit Node.js (TypeScript a Javascript) aplikace, o podpoře IntelliSense, jak přizpůsobit VS Code a jaké máme možnosti automatizace – build či deploy pomocí úkolů.

image1

IntelliSense pro TypeScript

Pro prozkoumání ladění a IntelliSense vám doporučujeme vyzkoušet si tuto Node.js aplikaci.

Nainstalujte si nejdříve Node.js. Pro každou platformu je to jiné, na Mac OS X například přes Homebrew.

Nainstalujte si Express – Framework nad Node.js pro webové aplikace.

npm install -g express-generator

A pomocí Express si vytvořte kostru aplikace:

express myExpressApp

Pro doinstalování závislostí spustíme:

cd myExpressApp

npm install

A pro start aplikace:

npm start

Otevřete-li adresář myExpressApp ve VS Code, můžete si vyzkoušet možnosti IntelliSense například v souboru app.js:

image2

VS Code umí také použít definice pro TypeScript (např. node.d.ts) a doplnit tak IntelliSense, ale také varování při nesprávném použití kódu.

TypeScript Definition manager umožňuje dohledávat a instalovat definice.

npm install -g tsd

Nyní můžete stáhnout definice pro Node a Express:

tsd query node --action install

tsd query express --action install

Otevřete znovu app.js a všimněte si, že zmizelo varování u __dirname, protože VS Code již ví, kde najde jeho definici.

Dále použijte například http objekt a vyzkoušejte si IntelliSense u něj:

image3

Ještě více nápověd dostanete do VS Code pomocí konfiguračního souboru jsconfig.json v rootu webu.

Vložte do něj následující obsah:

{
    "compilerOptions": {
        "target": "ES5",
        "module": "commonjs"
    }
}

Tím dáte najevo compileru, že píšete ES5 kód ve frameworku commonjs.

V app.js potřebujeme modul ./routes/index, který exportuje třídu Express.Route. Vyzkoušíte-li nyní IntelliSense na routes, uvidíte nyní její vlastnosti a metody:

image4

Ladění

Jednou z klíčových vlastností VS Code je možnost ladění.

image5

V současné verzi je ve VS Code podpora pro ladění Node.js (JavaScript a TypeScript) na všech platformách a experimentální podpora Mono (C# a F#) pro OS X a Linux. Na konferenci //build byla zmíněna přidaná podpora pro ASP.NET 5.

Pro vyvolání ladicího pohledu ve VS Code stiskněte toto tlačítko:

image6

Před laděním musíte ovšem  nakonfigurovat projekt pomocí souboru launch.json. Stiskem konfiguračního ozubeného kolečka v ladicím pohledu vám VS Code vygeneruje výchozí.

Ve VS Code podporujeme spuštění aplikace nebo připojení se na již existující aplikaci.

Pro připojení musí být specifikována lokální adresa a port (vzdálené ladění není podporováno).

Ladění spustíte pomocí F5.

Breakpointy

Breakpointy nastavujete kliknutím na okraj editačního okna. Jejich seznam najdete v breakpoint sekci ladicího pohledu.

image7

Inspekce dat

V ladicím pohledu můžete kontrolovat obsah proměnných, dále je podporováno zobrazení obsahu při přejetí myší.

image8

Proměnné a výrazy mohou být vyhodnocovány v sekcích Variables a Watch.

image9

Ladicí konzola

Ladicí konzoli vyvoláte z Palety příkazů nebo pomocí Open Console.

image10

Ladicí akce

Po začátku ladění máte k dispozici následující ladicí akce:

image11

  • Continue / Pause – F5
  • Step Over – F10
  • Step Into – F11
  • Step Out – Shift+F11
  • Stop – Shift+F5

Více k ladění najdete v dokumentaci.

Úkoly

Pro usnadnění a automatizaci úkolů, jako je vytváření sestavení, balíčků nebo nasazování, existuje velké množství nástrojů, například MakeAntGulpJakeRake a MSBuild.

Ukázka použití úkolů pro kompilaci Markdown do HTML

Převod Saas a Less do CSS

Převod Typescriptu do JavaScriptu

Autodetekce úkolů Gulp, Grunt a Jake

VS Code umí detekovat úkoly ze souborů nástrojů Gulp, Grunt a Jake automaticky a přidá je do seznamu úkolů bez nutnosti dodatečné konfigurace.

Například následující Gulp soubor přidá dva úkoly: build a debug. První pustí kompilaci C# pomocí Mono a druhý spustí MyApp pod Mono debuggerem.

var gulp = require("gulp");
var program = "MyApp";
var port = 55555;
gulp.task('default', ['debug']);
gulp.task('build', function() {
    return gulp
        .src('./**/*.cs')
        .pipe(msc(['-fullpaths', '-debug', '-target:exe', '-out:' + program]));
});
gulp.task('debug', ['build'], function(done) {
    return mono.debug({ port: port, program: program}, done);
});

Stisknete-li Ctrl+Shift+P a napíšete Run Task a Enter, zobrazí se vám seznam úkolů.

image12

Více o úkolech a jejich konfiguraci se dozvíte v dokumentaci.

Přizpůsobení VS Code

Možnosti přizpůsobit si VS Code jsou mimo jiné následující:

Dále můžete importovat existující připravená témata nebo přidat rozpoznávání závorek a obarvování klíčových slov pro další jazyky.

Více o přizpůsobení VS Code najdete v dokumentaci.

image13

David Bureš | Technical Evangelist | Microsoft Czech Republic |  

Stav SIMD v Rustu v roce 2025

Různé
Komentáře: 0
SIMD - neboli Single Instruction, Multiple Data - znamená, že procesor může jednou instrukcí zpracovat více datových prvků najednou. Typicky to znamená, že místo sčítání dvou čísel přičtete dvě sady čísel paralelně. To může přinést výrazné zrychlení například při zpracování obrazu, audia nebo numerických výpočtů. Pokud již SIMD znáte, tato tabulka je vše, co budete potřebovat. A pokud s SIMD teprve začínáte, tabulku pochopíte do konce tohoto článku

GPUI Component: moderní Rust GUI komponenty pro cross-platform desktop aplikace

Různé
Komentáře: 0
GPUI Component je open-source Rust knihovna rozšiřující framework GPUI o více než 60 moderních, nativních a multiplatformních UI komponent. Staví na deklarativním přístupu, stateless renderování a jednoduchém API inspirovaném Reactem či Yew. Díky optimalizovanému výkonu, podpoře témat a flexibilním layoutům umožňuje rychlý vývoj desktopových aplikací, jako je například trading nástroj Longbridge Pro. Knihovna je licencována pod Apache 2.0 a dostupná na GitHubu.