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

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

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

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

SCSS

SCSSは、SassのCSSメタ言語です。Webページのスタイルを指定するCSSを効率的に記述することができます。ネストと呼ばれる入れ子構造で記述するため、CSSの全体の記述量を減らせる点が特徴です。さらに変数も利用できるため、変更や修正の際に少ない作業量で対応することもできます。

Q&A

解決済

2回答

801閲覧

VSCodeのコンパイルエラー:pxをremに自動変換できない

m.o

総合スコア1

Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

SCSS

SCSSは、SassのCSSメタ言語です。Webページのスタイルを指定するCSSを効率的に記述することができます。ネストと呼ばれる入れ子構造で記述するため、CSSの全体の記述量を減らせる点が特徴です。さらに変数も利用できるため、変更や修正の際に少ない作業量で対応することもできます。

0グッド

0クリップ

投稿2023/08/13 02:01

実現したいこと

  • VSCodeのエラーの解決法がわかりません。

前提

scssでpxをremに自動変換する式を今まで問題なく使えていましたが、
突然VSCodeに変換できていないと思われるエラーが出ました。
過去に作った問題のなかったscssファイルを再保存してみても同じエラーが出ます。

webスクール終了後まもない初心者で、聞ける人がいなくて困っています。
アドバイスいただけたら助かります。

発生している問題・エラーメッセージ

Compilation Error
Error: 2 arguments required, but only 1 was passed.

56 │ padding: 0 rem(184) 0 rem(183);
│ ^^^^^^^^

※上の波線の位置はこの欄ではズレて表示されていますが、実際にはrem(184) の下にあります。

該当のソースコード

scss

1@charset "UTF-8"; 2/* 文字コードの指定 */ 3 4/* ページ全体のスタイル 5------------------------------------------ */ 6/* pxをremに自動変換 PC用 */ 7@function rem($px) { 8 @return calc($px / 16) * 1rem; 9} 10 11/* pxをvwに自動変換 SP用 */ 12@function vw($px) { 13 @return calc($px * 100vw / 375); // 例: カンプ幅 375pxの場合 100vw/375 14} 15 16/* コンテナ */ 17.container { 18 padding: 0 vw(27) 0 vw(29); 19 20 @media (min-width: 768px) { 21 padding: 0 rem(184) 0 rem(183); 22 } 23}

試したこと

⚫︎.containerの「@media (min-width: 768px) 〜」の部分を消すとエラーは出ない
⚫︎コピペではなく、打ち直してもエラーが出る
⚫︎過去作ったエラーのないscssファイルからコピペした新規ファイル(フォルダ)でもエラーが出る
⚫︎過去作ったエラーのないscssファイルを再保存してもエラーが出る
⚫︎VSCodeの再インストール。拡張機能Live Sass Compilerをアンインストール後、再インストール
⚫︎Macの再起動
⚫︎ネットでエラー内容を検索(見つけられません...)

補足情報(FW/ツールのバージョンなど)

macOS Ventura 13.4.1
Visual Studio Code 1.81.1 (Universal)

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

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

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

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

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

guest

回答2

0

ベストアンサー

私も同じく使えなくなってしまいました。
同じ原因かもしれないと思ったので、候補として回答いたします。

英語が苦手なのできちんとした翻訳はできていないですが、rem() はカスタム関数ではなくなってしまった、と書いてありました。
rem() ではなく、別のカスタム関数(例えば、abc() など)に置き換えると、エラーがでずにコンパイルできるようになりました。

少し自分の環境と異なる部分もあるので、違うかもしれませんがお試しください。

SCSS

1/* pxをremに自動変換 PC用 */ 2@function abc($px) { 3 @return calc($px / 16) * 1rem; 4} 5/* コンテナ */ 6.container { 7 @media (min-width: 768px) { 8 padding: 0 abc(184) 0 abc(183); 9 } 10}

投稿2023/08/17 04:52

yuki666

総合スコア22

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

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

m.o

2023/08/17 05:06

ありがとうございます!! remと書いてた部分をabcにしたらエラーがなくコンパイルされました! rem()が使えなくなってたんですね。。わかりやすくて良かったんですが。 もうscssはやめてcssで練習していたところです。本当に助かりました、ありがとうございます!!
yuki666

2023/08/21 12:36

解決してよかったです。 本日、別件でrem()のまま試したところ、私の環境でエラーにならずにコンパイルできるように戻っていました、、 そちらではどうでしょうか? あまり不確かなことは書けないですが、Sassのバージョンの影響かもしれません、、
m.o

2024/03/23 14:55

pepeke様 返信に気づかず何ヶ月も放置してしまって本当にすみません!! 今偶然このサイトを見ていて初めて気づきました(汗) 親切にお答えいただいたのに申し訳ないです、本当にごめんなさい。 今さらなんですが、pepeke様の言ってたrem()を今、私も試してみたら 普通にコンパイルされました...! 一時的なことだったのでしょうか。。 私みたいな初心者にはよくわかりませんが、今後はrem()に戻してやってみます。 ご返信ありがとうございました。
guest

0

.container〜部分のコピペをやってるうちに、「 } 」がないというエラーに変わりました。
px変換は関係なく、自動インデントが効かなくなったことが原因かもしれません。
VS Codeの環境設定ファイルに原因がありそうなので、もう少し自分で調べてみます。

↑「 } 」がないエラーはただのコピペミスでした。

ターミナルアプリに下記を記入、エンターキー押してVSCodeをアンインストール後、再インストール。

rm -rf /Applications/Visual\ Studio\ Code.app/ rm -rf ~/Library/Application\ Support/Code rm -rf ~/.vscode/

質問のエラーは変わらず出ます。解決策をアドバイス頂けないでしょうか、よろしくお願いします。

投稿2023/08/13 05:39

編集2023/08/13 08:32
m.o

総合スコア1

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問