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

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

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

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

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

294閲覧

VSCodeでHTML、CSS、PHP、Javascriptの自動整形をしたい

homepage-site

総合スコア52

Visual Studio Code

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

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2024/10/11 09:04

編集2024/10/11 09:09

実現したいこと

VSCodeのコードを書いた際やペーストした際にインデントを自動的に整えるようにしたいです。

発生している問題・分からないこと

VSCodeの公式によると JavaScript, TypeScript, JSON, HTML はデフォルトのフォーマッターが入っているということで、PHPをフォーマットするために PHP Intelephense をインストールしたのですが、HTML と PHP と JavaScript が混在した場合に自動整形が実行されず困っております。

該当のソースコード

PHP

1<?php 2/* 3Template Name: bbs_que_answer 4固定ページ: 回答画面 5*/ 6header('X-FRAME-OPTIONS: SAMEORIGIN'); 7get_header(); 8$sql = 'SELECT * FROM sortable'; 9$query = $wpdb->prepare($sql); 10$rows = $wpdb->get_results($query); 11// アップロードディレクトリ(パス名)を取得する 12$upload_dir = wp_upload_dir(); 13echo '<div>'; 14foreach ($rows as $row) { 15 $files = array_filter([$row->attach1, $row->attach2, $row->attach3]); 16 $views = []; //HTMLをため込む配列の初期化する 17 foreach ($files as $file) { 18 $info = pathinfo($file); 19 $attach_url = $upload_dir['baseurl'] . '/attach/' . $info['basename']; 20 $ext = $info['extension']; 21 switch ($ext) { 22 case 'jpeg': 23 case 'png': 24 $views[] = '<img style="height: 50px;" src="' . $attach_url . '">'; 25 break; 26 case 'mp4': 27 $views[] = '<video style="height: 50px;" src="' . $attach_url . '">'; 28 break; 29 case 'pdf': 30 $views[] = '<iframe style="height: 50px;" src="' . $attach_url . '"></iframe>'; 31 break; 32 default: 33 break; 34 } 35 } 36 if (empty($row->usericon)) { 37 $usericon_src = 'wp-content/themes/sample_theme/images/noimage.png'; 38 } else { 39 $usericon_src = $upload_dir['baseurl'].'/attach/'.$row->usericon; 40 } 41 // echo '<div><a href="'.$url.'">'.$row->unique_id.'</a></div>'; 42 echo '<div>' . mb_strimwidth($row->title, 0, 40, '・・・') . '</div>'; // タイトル30文字 43 echo '<div><input type="radio" name="stamp" value="' . $row->stamp . '" id="stamp"><label for="stamp"></label></div>'; // スタンプ画像 44 foreach ($views as $view) { 45 echo '<div>' . $view . '</div>'; // アップロードファイル 46 } 47 echo '<div>' . mb_strimwidth($row->text, 0, 40, '・・・') . '</div>'; // 質問文 48 echo '<div><img src="' . $usericon_src . '"></div>'; // アイコン画像 49 echo '<div>' . mb_strimwidth($row->name, 0, 10, '・・・') . '</div>'; // 名前 50} 51echo '</div>'; 52// var_dump($attach_dir); 53 54<!-- ここから回答機能 --> 55//追加コード 56// $upload_dir = wp_upload_dir(); 57$camera_url = $upload_dir['baseurl'] . '/camera.png'; 58$noimage_url = $upload_dir['baseurl'] . '/noimage.png'; 59?> 60<html> 61<div class="board_respond" id="js_board_respond"> 62 <div id="answer_Input_area"> 63 <form name="answer_Input_form"> 64 <div class="uploadfile-warning"> 65 ※ファイルサイズ15MB以内、JPG/GIF/PNG/MP4 66 </div> 67 68 <div class="user-area"> 69 <label> 70 <div class="user-icon"> 71 <img src="<?php echo $noimage_url; ?>" class="changeImg" style="height:90px;width:90px"> 72 </div> 73 </label> 74 <input type="file" class="attach" name="attach[]" data-maxsize="5" accept=".png, .jpg, .jpeg" style="display: none;"> 75 <div class="viewer" style="display: none;"></div> 76 <button type="button" class="attachclear">clear</button> 77 </div> 78 79 <div class="answer-name-area"> 80 <div class="contents"> 81 <input class="input" type="text" name="name" id="name" data-length="<?php echo MAX_LENGTH::NAME; ?>" data-minlength="<?php echo MIN_LENGTH::NAME; ?>" placeholder="未入力の場合は、匿名で表示されます"> 82 <div></div> 83 </div> 84 </div> 85 86 <div class="answer-text-area"> 87 <div class="contents"> 88 <textarea class="input" name="text" id="question" data-length="<?php echo MAX_LENGTH::TEXT; ?>" data-minlength="<?php echo MIN_LENGTH::TEXT; ?>" placeholder="荒らし行為や誹謗中傷や著作権の侵害はご遠慮ください"></textarea> 89 <div></div> 90 </div> 91 </div> 92 93 <div class="uploadfile-area"> 94 <div class="uploadfile-selector-button"> 95 <label> 96 <div class="uploadfile-camera-icon"> 97 <img src="<?php echo $camera_url; ?>" class="changeImg" style="height:150px;width:150px"> 98 </div> 99 <input type="file" class="attach" name="attach[]" accept=".png, .jpg, .jpeg, .pdf, .mp4" style="display: none;"> 100 </label> 101 <div class="viewer" style="display: none;"></div> 102 <button type="button" class="attachclear">clear</button> 103 </div> 104 <div class="uploadfile-selector-button"> 105 <label> 106 <div class="uploadfile-camera-icon"><img src="<?php echo $camera_url; ?>" class="changeImg" style="height:150px;width:150px"> 107 </div> 108 <input type="file" class="attach" name="attach[]" accept=".png, .jpg, .jpeg, .pdf, .mp4" style="display: none;"> 109 </label> 110 <div class="viewer" style="display: none;"></div> 111 <button type="button" class="attachclear">clear</button> 112 </div> 113 <div class="uploadfile-selector-button"> 114 <label> 115 <div class="uploadfile-camera-icon"> 116 <img src="<?php echo $camera_url; ?>" class="changeImg" style="height:150px;width:150px"> 117 </div> 118 <input type="file" class="attach" name="attach[]" accept=".png, .jpg, .jpeg, .pdf, .mp4" style="display: none;"> 119 </label> 120 <div class="viewer" style="display: none;"></div> 121 <button type="button" class="attachclear">clear</button> 122 </div> 123 </div> 124 <style> 125 .hideItems { /* カメラ画像 */ 126 display: none; 127 } 128 129 .concealItems { 130 display: none; 131 } 132 133 .wait { /* ローディング画像 */ 134 height: 40px; 135 width: 40px; 136 border-radius: 40px; 137 border: 3px solid; 138 border-color: #bbbbbb; 139 border-left-color: #1ECD97; 140 font-size: 0; 141 animation: rotating 2s 0.25s linear infinite; 142 } 143 144 @keyframes rotating { /* ローディング画像 */ 145 from { 146 transform: rotate(0deg); 147 } 148 149 to { 150 transform: rotate(360deg); 151 } 152 } 153 </style> 154 155 <div class="post-button"><!-- ボタンを押せなくする --> 156 <button type="button" id="submit_button" name="mode" value="confirm">確認画面へ進む</button> 157 </div> 158 <!-- type、name、id、valueの順番 --> 159 </form> 160 </div> 161 <div id="confirm_area"></div> 162 <div id="result_area"></div> 163</div> 164</html>

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

コマンドパレットから setting.json を入力後に以下の記述を追加しました。
{
"editor.formatOnSave": true
}

何かしらの理由で HTML や PHP の自動整形が出来なくなった際の対処法が参考サイトに載っていたので、 @lang:html format (Prettier - Code formatter)と @lang:php format (PHP Intelephense)にそれぞれ設定したのですが、変化がなくエラーの原因が分かりません。

補足

※VSCode でファイルを保存するときに自動でフォーマット
https://qiita.com/nyanchu/items/a9ff780a4f969722cd28

※HTMLとPHPコードをどちらもフォーマットするための設定
https://snowantenna.com/vscode-format/

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

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

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

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

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

guest

回答1

0

自己解決

Vscode コードエラーの問題に <!-- ここから回答機能 --> が表示されており削除したところ自動整形することが出来ました。

投稿2024/10/12 04:28

homepage-site

総合スコア52

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問