AppCode 2018.3 Help

Sass and SCSS in Compass Applications

AppCode integrates with the Compass framework so your Sass or SCSS style sheets in Compass applications are compiled into CSS on the fly.

Before you start

  1. Download and install Ruby.

  2. Install and enable the File Watchers repository plugin on the Plugins page as described in Managing Plugins.

Installing Compass

  • Open the embedded Terminal (⌥F12) and type gem install compass at the command prompt. Compass is installed in the folder where Ruby executable file and the gem.bat file are stored.

Starting with a Compass application in AppCode

If you have no Compass application yet, you can create it or add Compass support to an existing AppCode project. In either case, a conf.rb configuration file is generated.

To create a new Compass application

  • Open the embedded Terminal (⌥F12), and type compass create <the name of the application to be created> at the command prompt.

To add Compass to an existing AppCode project

  1. Open the folder with the code where you want to use Compass (click Open on the Welcome screen or select File | Open on the main menu). See Opening, Reopening, and Closing Projects for details.

  2. Open the embedded Terminal (⌥F12), and type:

    cd <application folder> compass init

To open the application sources that are already on your machine

  • Click Open on the Welcome screen or choose File | Open on the main menu. In the dialog that opens, select the folder where your sources are stored.

To check out the application sources from your version control

  1. Click Check out from Version Control on the Welcome screen or choose VCS | Check out from Version Control on the main menu.

  2. Select your version control system from the list.

  3. In the VCS-specific dialog that opens, type your credentials and the repository to check out the application sources from.

To activate Compass-aware support in your application

  1. Open a .sass or .scss file, click the red bulb next to the @import 'compass' statement or press ⌥⏎, and then choose Configure Compass from the suggestion list.

  2. Select the Enable Compass support checkbox, and specify the paths to the Compass executable file and to the conf.rb configuration file.

Compiling Sass and SCSS

To compile your code on the fly, you need to configure the compiler as a AppCode File Watcher.

To create a File Watcher

  1. In the Settings/Preferences dialog (⌘,), click File Watchers under Tools. The File Watchers page that opens shows the list of already configured File Watchers.

  2. Click Add button or press ⌘N. Depending on the tool you are going to use, choose the compass sass or compass scss predefined template from the list. The New Watcher dialog opens.

  3. In the Program text box, specify the path to the compass executable file.
    Type the path manually or click Browse browseButton.png and choose the file location in the dialog box that opens.

Compiling the code

When you open a file, AppCode checks whether an applicable file watcher is available in the current project. If such file watcher is configured but disabled, AppCode 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, AppCode 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, ⌘S) or when you move focus from AppCode (upon frame deactivation).

AppCode creates a separate file with the generated output. The file has the name of the source Sass 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: 28 March 2019

See Also