headwind

An opinionated Tailwind CSS class sorter built for Visual Studio Code

Github星跟蹤圖

Headwind

CircleCI

Headwind is an opinionated Tailwind CSS class sorter for Visual Studio Code. It enforces consistent ordering of classes by parsing your code and reprinting class tags to follow a given order.

Headwind runs on save, will remove duplicate classes and can even sort entire workspaces.


Get it from the VS Code Marketplace →

Use PHPStorm? Get @WalrusSoup's Headwind port →

Usage

You can install Headwind via the VS Code Marketplace, or package it yourself using vsce. Headwind works globally once installed and will run on save if a tailwind.config.js file is present within your working directory.

You can also trigger Headwind by:

  • Pressing CMD + Shift + T on Mac
  • Pressing CTRL + ALT + T on Windows

Headwind can sort individual files by running 'Sort Tailwind CSS Classes' via the Command Palette. Workspaces can also be sorted by running 'Sort Tailwind CSS Classes on Entire Workspace'.

Any breakpoints or unknown classes will be moved to the end of the class list, whilst duplicate classes will be removed.

Customisation

Headwind ships with a default class order (located in package.json). You can edit this (and other settings) to your liking on the extension settings page.

headwind.classRegex:

An object with language IDs as keys and their values determining the regex to search for Tailwind CSS classes.
The default is located in package.json but this can be customized to suit your needs.

There can be multiple capturing groups, that should only contain a string with Tailwind CSS classes (without any apostrophies etc.). If a new group, which doesn't contain the class string, is created, ensure that it is non-capturing by using (?:).

Example from package.json:

"headwind.classRegex": {
		"html": "\\bclass\\s*=\\s*[\\\"\\']([_a-zA-Z0-9\\s\\-\\:\\/]+)[\\\"\\']",
		"javascriptreact": "(?:\\bclassName\\s*=\\s*[\\\"\\']([_a-zA-Z0-9\\s\\-\\:\\/]+)[\\\"\\']), (?:\\btw\\s*`([_a-zA-Z0-9\\s\\-\\:\\/]*)`)"
}

headwind.sortTailwindClasses:

An array that determines Headwind's default sort order.

headwind.removeDuplicates:

Headwind will remove duplicate class names by default. This can be toggled on or off.

"headwind.removeDuplicates": false

headwind.prependCustomClasses:

Headwind will append custom class names by default. They can be prepended instead.

"headwind.prependCustomClasses": true

headwind.runOnSave:

Headwind will run on save by default (if a tailwind.config.js file is present within your working directory). This can be toggled on or off.

"headwind.runOnSave": false

Contributing

Headwind is open-source and contributions are always welcome. If you're interested in submitting a pull request, please take a moment to review CONTRIBUTING.md.

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]










主要指標

概覽
名稱與所有者heybourn/headwind
主編程語言TypeScript
編程語言TypeScript (語言數: 2)
平台
許可證MIT License
所有者活动
創建於2019-11-20 13:42:25
推送於2023-07-29 15:50:22
最后一次提交2021-08-02 16:23:42
發布數0
用户参与
星數1.4k
關注者數10
派生數47
提交數202
已啟用問題?
問題數116
打開的問題數80
拉請求數68
打開的拉請求數8
關閉的拉請求數5
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?