質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

2691閲覧

phpstormとscssについて

退会済みユーザー

退会済みユーザー

総合スコア0

Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2016/08/11 03:42

お世話になります。
表題についてで、もし同じ環境の方が居ればですが、
phpstormの設定(file watchers)でコンパイル後にcssファイルごと出力されるファルダを振り分けたいのですが、色々と試行錯誤をしてみましたがうまくいきません。
具体的には、例えばwordpressではindex.phpと同フォルダにstyle.cssがなければいけませんが、それ以外のcssファイルをcssフォルダに入れてしまいたいと思っています。


index.php
style.css
cssフォルダ-base.css
scssフォルダ -style.css, base.scss


上記のようにscssファイルはscssフォルダ内で管理をし、コンパイル後は各々のcssの場所に出力されるようにといった具合です。
(すみません、ターミナルのtreeコマンドの様に記述できませんでした)

phpstormの設定を見てみると、プロジェクト単位では出力場所を調整できるが、cssファイル単位の設定ができないように見受けられます。

どなたかわかる方がいらっしゃいましたらご教授のほどお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Scope指定はあまり使い込んでないので見落としがあるかもしれませんが、File WatcherごとにScopeを指定できますので、それを利用すれば可能かと思います。

例えばこんなディレクトリ構成で、

D:\repo\PhpstormProjects\tt43980FileWatcherSample ├─.idea ├─css └─scss ├─abc.scss └─base.scss

追加押して css ディレクトリに置くものを選択する。
Watcher01

Scopeの参照ボタンを押す。
Watcher02

  1. +ボタン押して、Localを選び、All-Other-Scssという名前に
  2. scssディレクトリを選ぶ
  3. Include Recursivelyを選ぶ
  4. まだ閉じない

Scope1
5. そのままbase.scssを選ぶ
6. Excludeを選ぶ( && 条件になっている事も確認する。or だと効かなくなっちゃうので)
7. OK押す
Scope2

ポイントは先にExcludeして後からそこを含むディレクトリのInclude RecursiveやるとOr条件になるので注意です。

Watcherの画面では、ArgumentsとOutput paths to refresh: を変更して出力先を指定します。
Arguments:
--no-cache --update $FileName$:$ProjectFileDir$/css/$FileNameWithoutExtension$.css
Output paths to refresh:
$ProjectFileDir$/css/$FileNameWithoutExtension$.css

で、OKで閉じます。

再びWatcherを追加し、今度はScopeを開き、+ボタンを押し、Localで名前付けて、base.cssを指定してIncludeを押します。

イメージ説明

こちらは、プロジェクト直下に出すなら、ArgumentやOutput paths to refresh は以下のようにすればいいでしょう。
$ProjectFileDir$/$FileNameWithoutExtension$.css

ただ、これだとscssにサブディレクトリ作ってもすべてcssの直下に出力されます。
ディレクトリ構成も引き継ぎたいなら、
scssディレクトリを右クリックしてMark Directory As でSource Rootにしてやり、
Argument や Output ~ で
$ProjectFileDir$/css/$FileNameWithoutExtension$.css
ではなく、
$ProjectFileDir$/css/$/FileDirRelativeToSourcepath$/$FileNameWithoutExtension$.css
を指定すればいいでしょう。
(ただし、プロジェクト構成にもよりますのでご参考まで。)

あとはプロジェクトの内容に応じて修正すればよいかと思います。
Watcherを増やしすぎると重くなるかもしれないのでそこも注意してください。

投稿2016/08/11 04:54

flied_onion

総合スコア2604

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/08/16 23:23

filed_onionさん! 遅くなりましたが、詳しくありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問