PhpStorm 7.1.0 Web Help

PhpStorm provides CoffeeScript support. PhpStorm recognizes *.coffee files, and allows you to edit them providing full range of coding assistance without any additional steps from your side. CoffeeScript files are marked with icon_CoffeeScript icon.

To run, debug, and test your code you will need it translated into JavaScript which requires a transpiler and Node.js. For more details on CoffeeScript transpilation, see Transpiling CoffeeScript to JavaScript.

In this section:

Preparing for CoffeeScript development
  1. Make sure the CoffeeScript and Node.js plugins are installed and enabled.

    These plugins are not bundled with PhpStorm, but they are available from the PhpStorm plugin repository. Once enabled, the plugins are available at the IDE level, that is, you can use them in all your PhpStorm projects.

  2. Download and install the Node.js framework.
  3. Configure the Node.js interpreter in PhpStorm:
    1. Click update_node_js.png on the main toolbar.
    2. On the Node.js page that opens, specify the location of the desired Node.js interpreter.

Coding assistance

CoffeeScript support includes:

  • Code completion for keywords, labels, variables, parameters and functions.
  • Error and syntax highlighting.
  • Code formatting and folding.
  • Refactoring:
    • Common refactoring procedures, such as extract method , inline, rename/move, etc.
    • CoffeeScript-specific refactoring procedures, such as change signature, extract parameter, extract variable. These types of refactoring are identical with JavaScript, for more details, see the section JavaScript-Specific Refactorings
  • Code generation
    • Generating code stubs based on file templates during file creation.
    • Ability to create line and block comments (Ctrl+Slash or Ctrl+NumPad /Ctrl+Slash or Ctrl+NumPad /Ctrl+Slash or Ctrl+NumPad /Ctrl+Slash or Ctrl+NumPad /Alt+SemicolonCtrl+Slash, Ctrl+NumPad / or Ctrl+ColonCtrl+Slash, Ctrl+NumPad / or Ctrl+Shift+CCtrl+Slash or Ctrl+NumPad /Command Slash or Command NumPad /Command Slash or Command NumPad /Command Slash or Command NumPad //Ctrl+Shift+Slash or Ctrl+Shift+NumPad /Ctrl+Shift+Slash or Ctrl+Shift+NumPad /Ctrl+Shift+Slash or Ctrl+Shift+NumPad /Ctrl+Shift+Slash or Ctrl+Shift+NumPad /Ctrl+Shift+Slash or Ctrl+Shift+NumPad /Ctrl+Shift+Slash, Ctrl+Shift+NumPad / or Ctrl+Shift+ColonCtrl+Shift+Slash or Ctrl+Shift+NumPad /Ctrl+Shift+SlashAlt Command Slash, Alt Command NumPad /, Control Shift Slash, Control Shift NumPad /, Shift Command Slash or Shift Command NumPad /Control Shift Slash, Control Shift NumPad /, Shift Command Slash or Shift Command NumPad /Control Shift Slash).
  • Navigation through source code
    • Navigating with Structure View.
    • Navigate | Declaration (Ctrl+B, Ctrl+Button1 Click or Button2 ClickCtrl+B, Ctrl+Button1 Click or Button2 ClickCtrl+B, Ctrl+Button1 Click or Button2 ClickCtrl+B, Ctrl+Button1 Click or Button2 ClickCtrl+Alt+G, Escape, Period, Alt+Period or Ctrl+Button1 ClickF12, Shift+F2, Ctrl+B, Ctrl+Button1 Click or Button2 ClickCtrl+B, Ctrl+Button1 Click or Button2 ClickF3 or Ctrl+Button1 ClickCommand B, Command Button1 Click or Button2 ClickCommand B, Command Button1 Click or Button2 ClickF3 or Control Button1 Click).
    • Navigate | Implementation (Ctrl+Alt+B or Ctrl+Alt+Button1 ClickCtrl+Alt+B or Ctrl+Alt+Button1 ClickCtrl+Alt+B or Ctrl+Alt+Button1 ClickCtrl+Alt+B or Ctrl+Alt+Button1 ClickCtrl+Alt+B or Ctrl+Alt+Button1 ClickCtrl+Alt+B or Ctrl+Alt+Button1 ClickCtrl+Alt+B or Ctrl+Alt+Button1 ClickCtrl+T or Ctrl+Alt+BAlt Command B or Alt Command Button1 ClickAlt Command B or Alt Command Button1 ClickAlt Command B or Alt Command Button1 Click) from overridden method / subclassed class.
  • Compiling to JavaScript for further running, testing, and debugging.
  • Executing CoffeeScript files involves:
    • Ability to preview results of CoffeeScript files compilation to JavaScript.
    • Ability to launch CoffeeScript files from the context menu.
    • Run/debug configuration for NodeJS includes the ability to use CoffeeScript plugin.

See Also

Language and Framework-Specific Guidelines:

External Links:

Web Resources: