Overview
Simplify your workflow with .LESS files in Visual Studio Code.
Automatically compile your .LESS stylesheets upon saving, without the need for a build task.
When To Use
Use this extension when you want to compile your .less
files to .css
files automatically on save.
You can use this extension right out of the box without any configuration. However, you also have the option to customize the settings to suit your personal preferences.
Check the Configuration process Here.
Requirements
Make sure LESS is installed in your machine.
Features
This extension is onfigurable at multiple levels: workspace, user, and individual file.
This flexibility allows you to tailor settings to meet specific project needs or personal preferences.
Compile .less
files to .css
:
From the command palette with "Compile LESS Easy Mode: Compile". How To
Automatically on save, keeping the same base name.
for example: styles.less
--> styles.css
.
Compress the .css
.
remove unnecessary white-spaces from the compiled file.
Change the extension to which the .less
file is compiled.
for example: .wxss
instead of .css
.
Support for main
file.
Alternative output file.
Suppress the compilation for the .css
file.
Included Features
The standard Errors and Warnings list manages the compilation errors.
autoprefixer plugin included.
IE8 Compatibility included.
Default Settings
- The compilation on save occurs for every
.less
file in the project.
- Output Extension:
.css
.
- Output Path:
null
.
- The
.css
file is compiled in the same directory of the .less
file.
- Source maps creation (
.css.map
files): disabled
.
- Keep Folder Structure:
disabled
.
- CSS sub-folder:
disabled
.
- Compression:
disabled
.
- Relative URLs:
disabled
.
- Inline Javascript:
disabled
.
- Auto prefixer:
disabled
.
- IE8 Compatibility:
enabled
.
Basic Usage
Create a .less
file.
Save your file using:
CMD + S
on Mac.
CTRL + S
on Windows.
Or from the command palette: "Compile LESS Easy Mode: Compile". How To
A .css
file is automatically generated.
The default extension is .css
.
If everything went right you should see a temporary message in the status bar:
LESS file compiled in X ms,
Advanced Usage
Configuration
To configure this extension, follow these steps:
- Open the Command Palette. How To
- Type
Preferences: Open Settings (UI)
and select it.
- In the settings UI, search for
Compile LESS Easy Mode
.
For more detailed information on configuring settings in Visual Studio Code, refer to the User and Workspace Settings documentation.
Project-Wide Settings
Project-wide settings are configured using the standard settings.json
file at the root level of your project., searching for it using the Command Palette (How To).
But if you don't want to get your hands dirty writing code, you can follow the Configuration process Above.
The properties with a default value should not be visible inside the settings.json
file.
If instead you like getting your hands dirty writing code, use the "compileLessEasyMode.compile.property"
key changing property
with any of the following properties:
outputPath: { boolean | filepath: string | folderpath: string }
outputPath: false
-> don't compile the .css
file.
outputPath: true/null
-> compile the .css
file in the same folder as the .less
file.
outputPath: folderPath
-> compile the .css
file with the same .less
base name.
Filepath is relative to the current file, so relative paths can be used, e.g. ../../styles.css
folderPath
can contain any of these:
${workspaceFolder}
— the root folder for the VS Code project containing the .less
file.
$1
is the "base" name of the .less
file.
for example: styles.css
, $1
would be styles
.
$2
is the extension of the css file, usually .css
unless outputExtension
is used.
Example: ${workspaceFolder}/style/css/style-$1$2
outputExtension: { string }
Default value: .css
.
Allows you to specify a different file extension for the output file.
for example: .wxss
instead of .css
This applies also the .map
file
for example: .wxss.map
sourceMap: { boolean }
- Enables generation of source map files.
- When enabled:
- A
.css.map
file will be compiled in the same folder as the .css
file.
outputPath
setting is respected.
compress: { boolean }
- Compresses the compiled file by removing surplus white spaces.
sameBaseWithCssFolder: { boolean }
- Compiles the file in a 'css' folder inside the same .less file folder.
- When enabled:
outputPath
property must be null/true. (null meaning there is no outputPath
property inside settings.json).
- This setting will be ignored if
outputPath
is NOT null/true.
keepFolderStructure: { boolean }
- Compiles the file inside the specified
outputPath
keeping the same folder structure as the .less
file.
- When enabled:
outputPath
property must be a valid path (string).
- This setting will be ignored if
outputPath
is NOT a valid path (string).
relativeUrls: { boolean }
Specifies whether URLs in @import
inside of compiled file, should be rewritten relative to the importing file.
Has no effect on the outputPath
parameter.
/main.less:
// relativeUrls: true
@import 'css/feature/feature.less';
autoprefixer: { string | string[] }
Enables the autoprefixer plugin for less.
- Automatically adds or removes vendor-prefixes needed to support a set of browsers specified in the
settings.json
file.
The autoprefixer
option can be:
- A the comma-separated list of
browsers
.
- A string array of this list.
Example of autoprefixer
:
"compileLessEasyMode.compile.autoprefixer": "> 5%, last 2 Chrome versions, not ie 6-9" // Value set by default
See browserslist documentation for further examples of browser queries.
If used as per-file configuration, the browsers listed has to be semi-colon separated
for example using
// autoprefixer: "> 5%; last 2 Chrome versions; not ie 6-9", sourceMap: true, out: "../css/style.css"
ie8Compatibility: { boolean }
- When:
true
: prevents inlining of data-uri
that exceed 32KB.
false
: removes restriction on data-uri
size.
javascriptEnabled: { boolean }
math: { "parens-division" | "parens" | "always" | "strict" | "strict-legacy" }
Per-File Configuration
Per-file configuration is possible, but the settings available in the User Workspace, as described in the Configuration Process, should manage most, if not all, cases you might encounter.
So I would suggest first to try them, and if they do not meet your needs, use this setting, or if you have any suggestion, feel free to ask me.
Otherwise about per-file configuration:
Settings can also be specified per .less
file as a comment on the first line.
Settings are comma-separated and strings are not "quoted".
Example:
// out: "../dist/app.css", compress: true, sourceMap: false
body,
html {
...;
}
Settings Cascade Order
Settings are applied in the following order:
- User Settings
- Workspace Settings (
settings.json
)
- Per-file Settings
Acknowledgements
- Configuration borrowed from the
Easy LESS
Extension made by mrcrowl
How To
Mac
Open Command Palette on Mac: CMD + SHIFT + P
;
windows
Open Command Palette on Windows: CTRL + SHIFT + P
;