web-dev-qa-db-ja.com

phpstormでコンパスを使用する方法は?

私はこの質問を知っています: Jetbrains PhpStormにコンパス構文サポートを追加する方法は? しかしそれは役に立ちません。

私はファイルをコピーすることを選択しました。私のプロジェクトでははるかに簡単です。しかし、phpstormはまだコンパスについて不平を言っています。コンパスがないと、Ruby 1.9.3を使用して問題なくscssをコンパイルします。私の設定は正しいですか?

enter image description here

[〜#〜]編集[〜#〜]

これはPhpStorm6-用です

コンパスがサポートされています PhpStorm7 +で

16
Tjorriemorrie

まず、リンクした質問は、コンパススタイルのインポートのサポートを有効にすることに関するものであり、すべてのプロジェクトで機能するとは限らない回避策です。

あなたの質問は別のことについてです:Compassプロジェクトのコンパイル

両方の問題は、PHPStormの7番目のバージョンで対処されます。PHPStormはまもなくリリースされる予定はありません。6番目のバージョンがリリースされたばかりです。今のところ、いくつかの回避策があります。

PHPStormを使用してCompassプロジェクトを手動でコンパイルする

  1. PHPStorm IDE設定)の外部ツールセクションに移動します。
  2. new外部ツールを作成します。 「コンパスコンパイルマニュアル」などの名前を付けます。
  3. Programをコンパスバイナリを指すように設定します。 WindowsではC:\Ruby193\bin\compass.batのようになり、LinuxとMacでは単にcompassになります。ただし、RVMを使用している場合、Programbashである必要があります。
  4. Parametersフィールドは、RVMを使用している場合を除き、すべてのOSでcompileである必要があります。 RVMの場合、Parameters–login -c "compass compile"に設定する必要があります。
  5. 作業ディレクトリフィールドは$ProjectFileDir$に設定する必要があります。

手動コンパイルは、ツールメニューから起動できます。ホットキーを割り当てて、すばやく実行することもできます。ホットキーが既存のホットキーと衝突しないことを確認してください。

変更を保存するたびにPHPStormにプロジェクトをコンパイルさせる

  1. PHPStormの最新の早期アクセスプレビューバージョンを使用していることを確認してください。 ここ からダウンロードできます。
  2. File Watchersプラグインがインストールされていることを確認してください。 PHPStormのプラグインセクションに移動しますIDE設定、ファイルウォッチャーを探しますリストにない場合は、リポジトリを参照してインストールし、PHPStormを再起動します。
  3. まだ行っていない場合は、PHPStormでプロジェクトを開きます。
  4. PHPStormプロジェクト設定のファイルウォッチャーセクションに移動します。
  5. newファイルウォッチャーを作成します。 customテンプレートを使用します。ウォッチャーに「保存時にコンパスをコンパイルする」などの名前を付けます。
  6. ファイルタイプを、プロジェクトで使用するものに応じて、SCSSまたはSASSのいずれかに設定します。
  7. Scopeを「プロジェクトファイル」のままにします
  8. Programをコンパスバイナリを指すように設定します。 WindowsではC:\Ruby193\bin\compass.batのようになり、LinuxとMacでは単にcompassになります。ただし、RVMを使用している場合、Programbashである必要があります。
  9. Argumentsフィールドは、RVMを使用している場合を除き、すべてのOSでcompileである必要があります。 RVMの場合、引数–login -c "compass compile"に設定する必要があります。 UPD:@ ezekiel-victorは、これを–login -c "compile --sass-dir=$ProjectFileDir$ --css-dir=$ProjectFileDir$"と提案しています。
  10. 作業ディレクトリフィールドは$ProjectFileDir$に設定する必要があります。
  11. Check for syntax errorsを無効にします。
  12. 残りは空白のままにして保存します。

これで、SCSSまたはSASSファイルのいずれかに変更を保存するたびに、PHPStormはCompassにプロジェクトをコンパイルするように指示します。

[〜#〜] upd [〜#〜]Bundlerを使用している場合(プロジェクトにGemfileがあり、bundle installを実行している場合依存関係を取得するには)、bundle exec compass compileの代わりにcompass compileを使用する必要があります。つまり、bundlebundle.bat)の代わりにcompass実行可能ファイル(Windowsではcompass.bat)を使用し、それに応じてArgumentsフィールドを調整する必要があります。

OSコンソールでcompass watchを手動で実行する(推奨)

compass compileの実行に関する問題は、実行されるたびにプロジェクト全体を再コンパイルするため、処理が遅いことです。

代わりに、OSコンソールを使用してプロジェクトフォルダーでcompass watchコマンドを手動で実行できます。 Compass Watchは、プロジェクトの変更を常に監視します。変更が検出されると、変更された部分のみが再コンパイルされ、はるかに高速になります。

Compass Watchは、プロジェクト内のすべてのファイルを監視しないほど賢いです。非部分ファイルまたはインポートされた部分ファイルによって再帰的にインポートされた非部分ファイル(例:screen.scss)と部分ファイル(例:_layout.scss)のみを監視します。

ネットワークファイルシステムを介してプロジェクトを操作する場合(たとえば、仮想マシンまたは開発サーバーを使用してコードを実行する場合)、変更のコンパイルと追跡が遅くなりすぎます。したがって、リモート/仮想マシンを使用する場合の最良のオプションは、そのマシンでcompass watchを実行して、ネットワークファイルシステム経由ではなくローカルで変更を追跡することです。

コンパスの蘇生

Compassは、コンパイルを高速化するための独自の作業をキャッシュします。キャッシュがプロジェクトの内容と矛盾する場合があります。これにより、Compassはあらゆる種類の奇妙なエラーを報告し、プロジェクトのコンパイルを拒否します。

Compassが正しくないエラーを報告したと感じたら、compass cleanを実行して、プロジェクトを再コンパイルします。クリーニングすると、Compassキャッシュとコンパイルされたファイルが削除されるため、最初から開始されます。

コンソールでcompass cleanを手動で実行するか、PHPStorm外部ツールとして追加できます。

それが誰かを助けるなら-SnowLeopardでは、コンパスは次のディレクトリにインストールされます(明らかにパスのバージョン番号はインストールされたバージョンによって異なります):

/Library/Ruby/Gems/1.8/gems/compass-0.12.2/bin/compass

したがって、Program:オプションの場合は、そこで選択できます。

1
Spencer Mark

PhpStorm2017.1.4を使用しています

Rubyパス変数を設定し、PhpStormでコンパスを有効にすることは私にとってうまくいきませんでした。

ターミナルがRubyインストールディレクトリからの実行可能ファイルでコマンドコンパスを解決できなかったため、プロジェクトディレクトリからコンパスを使用できませんでした(「コンパスの実行に失敗しました」)。

したがって、私はこれに続いてWindows(win10を使用)環境変数を永続的に設定します 説明

簡単な説明:

  • すでにRubyとコンパスをインストールしていると仮定します。

  • 移動先:Control Panel -> System -> Advanced System Settings -> Environment Variables...

  • C:\Ruby22\binPATH変数に追加します

  • PhpStormを再起動します

さらなるアドバイス:

プロジェクトを別のシステムからインポートした場合は、config.rbファイルを削除し、プロジェクトルートからcompass initを実行すると役立つ場合があります。

0
Ueffes

JetBrains課題追跡システムの対応するチケット(コンパスのサポート)のコメントを確認してください。現在のバージョンのIDEでも機能させる方法についての説明が記載されているコメントはほとんどありません。

http://youtrack.jetbrains.com/issue/WEB-5802#comment=27-471454

0
LazyOne