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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

0回答

913閲覧

Visual Studio Code の自動整形機能とコードの色分けのバグ

nickel

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2020/05/29 09:41

編集2020/05/30 07:26

前提・実現したいこと

Visual Studio Code(VScode) でJavaを記述しているとき、自動整形機能が正常に動作せず、コードの色分けが行われる場所がおかしいです。
#####追記
Java › Semantic Highlightingのチェックを外すと、奇妙な色分けはなくなりましたが、format on save が機能しなくなりました。

自動整形機能のバグ(?)

以下のコードが、format on save機能を実行した際に次のように整形されてしまいます。
整形前

Java

1public Day(){} 2 public Day(int year){this.year = year;} 3 public Day(int year, int month){this(year); this.month = month;} 4 public Day(int year, int month, int date){this(year, month); this.date = date;} 5 public Day (Day d) {this(d.year, d.month d.date);} 6 7 public Day(int year, int month, int date) { 8 this(year, month); 9 this.date = date; 10 }

整形後

Java

1public Day() 2 { 3 4 } 5 6 7 8 9 10 11 12 13 public Day(int year) { 14 15 16 17 18 this.year = year; 19 } 20 21 public Day(int year, int month) { 22 this(year); 23 this.month = month; 24 } 25 26 public Day(int year, int month, int date) { 27 this(year, month); 28 th is .d a te = da te; 29 } 30 31 publi 32 33 public Day(int year, int month, int date) { 34 this(year, month); 35 this.date = date; 36 }

コードの色分け

this.year = year;

という文であれば、
"thi"までが青色
"s.y"が黄色
"ear = yea"が水色
"r;"は白色
という感じで明らかに異常な箇所で色分けがされてしまいます。
また、自動整形

補足情報(使用しているプラグイン等)

VScodeのバージョンは投稿時最新版です。
・使用している拡張機能
Japanese Language Pack for VSCode
Java extension pack
Remote-WSL

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

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

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

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

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

maisumakun

2020/05/29 09:53

コードの途中に「p」だけの行がありますが、これは何かを意図して書いたものですか?
退会済みユーザー

退会済みユーザー

2020/05/29 10:09

そもそも VSコードのバージョン、インストール済みのプラグインの名前とバージョン等なにも上げてない状態でこたえられるわけがない。 とりあえず別のJava プラグイン入れたら?
nickel

2020/05/29 10:10

「p」はおそらく"public"という語がVScode上で整形されたものだと思われます。 整形前のコードを自動整形機能をoffにして書き直した後、もう一度自動整形を行いました。整形前後のコードを掲載します。
cateye

2020/05/29 10:14 編集

java用拡張機能(Java Extension Pack)入ってますか? 参考→https://www.suzu6.net/posts/130-vscode-for-java
nickel

2020/05/29 10:20

Java Extension Pack は入っています。 使用している拡張機能等追加しました。大変申し訳ありません。
退会済みユーザー

退会済みユーザー

2020/05/29 10:24

設定でJava>format enableにはチェックが入っていますか?
nickel

2020/05/29 10:31

format enableはチェックが入っていたことを確認しましたが、その際に、 Java>format>settings:profileの項目で、 「設定に無効な型が含まれています。"String"が必要です。JSONで修正してください。」というメッセージのエラーを発見しました。
nickel

2020/05/29 10:34

settingjsonのjava.format.settings.profileを確認すると、 "java.format.settings.profile": "" となっていました。これが原因でしょうか?
退会済みユーザー

退会済みユーザー

2020/05/29 10:53

>「設定に無効な型が含まれています。"String"が必要です。JSONで修正してください。」というメッセージのエラーを発見しました。 私の環境でも同じエラーが出ているので、今回のバグ?とは関係ないと思います。 "java.format.settings.profile": ""は設定しやすいようにsettings.jsonを開いたときに自動生成されたものです。逆に設定を変更してしまう可能性があるので消してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問