Syntax highlighting, autocomplete, formatting, and more
TypeSpec is supported by a variety of readily available tools, designed to boost your productivity right from the start.
Get started ![](/prs/5146/img/illustrations/ide-hero.dark.png)
![](/prs/5146/img/illustrations/ide-hero.light.png)
Style consistency
Built-in formatter
TypeSpec provides an opinionated formatter that enables you to enforce a consistent style in your codebase.
![](/prs/5146/img/fluent/text-edit-l-standard-128x128.png)
![](/prs/5146/img/fluent/text-edit-d-standard-128x128.png)
Formatter usage
See documentation on how to use the formatter.
Learn more →
Unformatted
import "@typespec/http";
using TypeSpec.Http;
@service({ title: "Accounting firm" }) namespace MyOrg.Accounting;
model Account { id: string; name: string; balance: decimal128;}
interface Accounts {
@route(":open") open(account: Account): void; @route(":close") close(id: string): void;
}
Formatted
import "@typespec/http";
using TypeSpec.Http;
@service({ title: "Accounting firm",})namespace MyOrg.Accounting;
model Account { id: string; name: string; balance: decimal128;}
interface Accounts { @route(":open") open(account: Account): void; @route(":close") close(id: string): void;}
Warning
Warning and errors
Errors and warnings in your spec are reported as you type.
![](/prs/5146/img/fluent/text-edit-l-standard-128x128.png)
![](/prs/5146/img/fluent/text-edit-d-standard-128x128.png)
Extension installation
See documentation on how to install editor extensions.
Learn more →
![](/prs/5146/img/illustrations/warnings-and-errors.dark.png)
![](/prs/5146/img/illustrations/warnings-and-errors.light.png)
Intellisense
Autocomplete and more
IntelliSense shows you intelligent code completion, hover information, and signature help so that you can quickly and efficiency write correct code.
![](/prs/5146/img/illustrations/autocomplete.dark.png)
![](/prs/5146/img/illustrations/autocomplete.light.png)
Refactor
Bulk renaming
One of the simplest forms of refactoring is renaming a reference. Rename an identifier and see all of its references updated across your TypeSpec project.