0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

VSCodeにてJSXコーディング中にattributeの補完候補が表示されない時の対処法

Last updated at Posted at 2023-03-12

目次

1. 問題解決の経緯
2. 開発環境
3. 解決方法
4. 実証
5. おわりに

1. 問題解決の経緯

備忘録として記事を書きます。
動画を見ながらNext.jsの勉強をしていた時です。
VSCodeでJSXを記述していると以下のような補完が効きませんでした。

1-1. JSX中のHTMLでの補完

スクリーンショット 2023-03-12 13.27.08.png

1-2. コンポーネントでの補完

スクリーンショット 2023-03-12 13.31.04.png

2. 開発環境

  • Visual Studio Code 1.76.1
  • React 18.2.0
  • Next.js 13.2.3
  • 編集するファイルの拡張子が"jsx"であること

3. 解決方法

以下のコマンドで@types/reactをインストールしたら補完が効くようになりました。

> npm install --save @types/react
# または
> yarn add @types/react

2023/12/12追記
@types/reactは、TypeScriptプロジェクトでReactライブラリを使用する際に役立つ、Reactの型定義(TypeScriptの型情報)を提供するnpmパッケージです。これにより、TypeScriptを使用してReactコンポーネントを記述する際に、コード補完や型の安全性などが向上します。

4. 実証

実際にインストール前後で確認してみましょう!

4-1. プロジェクトの作成

まず、Next.jsのプロジェクトを作成します。(プロジェクト名は任意)

> npx create-next-app@latest
# または
> yarn create next-app

今回、筆者は「sample01」というプロジェクト名にしました。

# 以下、任意の選択でOK
> ? What is your project named? › sample01
> ? Would you like to use TypeScript with this project? › No
> ? Would you like to use ESLint with this project? › Yes
> ? Would you like to use `src/` directory with this project? › Yes
> ? Would you like to use experimental `app/` directory with this project? › No
> ? What import alias would you like configured? › ~/*

作成できたら、プロジェクトに移動してVSCodeを開きます。

> cd sample01
> code .

4-2. 補完機能の確認(@types/reactインストール)

以下のHTMLタグとコンポーネントをindex.jsxに追加します。

src/pages/index.jsx
<button></button>
<Link></Link>

そして、以下を試してみてください。

  • buttonの開始タグ内に「onClick」と入力する。
  • Linkコンポーネントの開始タグ内に「prefetch」と入力する。

すると、筆者の環境では、"onc"まで入力しても補完候補が表示されません。
スクリーンショット 2023-03-12 14.17.32.png

また、Linkコンポーネントでも同様に補完候補が表示されません。
表示されているのはスニペットです。
スクリーンショット 2023-03-12 14.19.15.png

4-3. 補完機能の確認(@types/reactインストール)

3. 解決方法で述べたように、@types/reactをインストールしたら補完が効くようになりました。

> npm install --save @types/react
# または
> yarn add @types/react

package.jsonに追加されます。

package.json
{
  "dependencies": {
    "@types/react": "^18.0.28",
  }
}

再度、以下を試してみてください。

  • buttonの開始タグ内に「onClick」と入力する。
  • Linkコンポーネントの開始タグ内に「prefetch」と入力する。

すると、補完候補が表示されるようになりました!
スクリーンショット 2023-03-12 14.34.03.png

スクリーンショット 2023-03-12 14.33.28.png

5. おわりに

どのパッケージが必要なのか、判断・理解できるようになるのは、まだまだ先になりそうです。。

以上です。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?