PyCharm 2018.1 Help

Compiling Sass, Less, and SCSS to CSS

PyCharm integrates with compilers that translate Sass, Less, and SCSS code into CSS. To use a compiler in PyCharm, you need to configure it as a File Watcher. For each supported compiler, PyCharm provides a predefined File Watcher template. To run a compiler in your project, create a project-specific File Watcher based on the relevant template.

Before you start

  1. Install Node.js and configure it as a local Node.js interpreter.
  2. Install and enable the NodeJS repository plugin on the Plugins page as described in Installing, Updating and Uninstalling Repository Plugins and Enabling and Disabling Plugins.

Installing Sass/SCSS

Sass and SCSS compilers are managed through the Ruby Gem manager.

  1. Download and install Ruby.
  2. Specify a path variable for the folder where the Ruby executable file and the gem.bat file are stored. This lets you launch Ruby and Gem Manager from any folder and ensures that Ruby is successfully launched during compilation.
  3. Type the following command at the command prompt:
    gem install sass

    The tool is installed to the folder where Ruby executable file and the gem.bat file are stored.

Installing Less

Open the embedded Terminal (View | Tool Windows | Terminal) and type npm install --global less at the command prompt for global installation. Learn more from the Less Official website.

Creating a file watcher

PyCharm provides a common procedure and user interface for creating File Watchers of all types. The only difference is in the predefined templates you choose in each case.

  1. To start creating a File Watcher, open the Settings/Preferences dialog box by choosing File | Settings for Windows and Linux or PyCharm | Preferences for macOS on the main menu, and then click File Watchers under the Tools node. The File Watchers page that opens, shows the list of File Watchers that are already configured in the project.
  2. Click the Add button new.png or press Alt+Insert. Depending on the tool you are going to use, choose the appropriate predefined template from the pop-up list:
    • Less
    • Sass
    • SCSS
  3. In the Program text box, specify the path to the compiler executable file or archive depending on the chosen predefined template.
    • lessc.cmd for Less If you installed the tool through the Node Package Manager, PyCharm locates the required file itself at <node.js_home>/node_modules/bin/lessc.cmd and fills in the field automatically. Otherwise, type the path manually or click Browse browseButton.png and choose the file location in the dialog box that opens.
    • sass.bat for Sass
    • scss.bat for SCSS

    If you installed the Sass and SCSS tools through Ruby, PyCharm locates the required files itself at <ruby_home>/bin/sass.bat <ruby_home>/bin/scss.bat respectively and fills in the field automatically. Otherwise, type the path manually or click Browse browseButton.png and choose the file location in the dialog box that opens.

  4. Proceed as described on page Using File Watchers.

Compiling the code

When you open a Less, Sass, or SCSS file, PyCharm checks whether an applicable file watcher is available in the current project. If such file watcher is configured but disabled, PyCharm displays a pop-up window that informs you about the configured file watcher and suggests to enable it.

If an applicable file watcher is configured and enabled in the current project, PyCharm starts it automatically upon the event specified in the New Watcher dialog.

  • If the Auto-save edited files to trigger the watcher checkbox is selected, the File Watcher is invoked as soon as any changes are made to the source code.
  • If the Auto-save edited files to trigger the watcher checkbox is cleared, the File Watcher is started upon save (File | Save All, Ctrl+S) or when you move focus from PyCharm (upon frame deactivation).

PyCharm creates a separate file with the generated output. The file has the name of the source Sass, Less, or SCSS file and the extension css. The location of the generated files is defined in the Output paths to refresh text box of the New Watcher dialog. However, in the Project Tree, they are shown under the source file which is now displayed as a node.

Last modified: 23 July 2018

See Also