> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kameleoon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# VS Code 拡張機能

> Visual Studio Code 内で直接 Kameleoon 実験コードを記述・テストし、Kameleoon Chrome 拡張機能を介してライブインジェクションします。

実験が複雑になるにつれて、それらが効果的に動作し、バグがないことを保証することが課題となります。これまで、開発者には2つの選択肢がありました。

* Kameleoon に直接 JavaScript コードを書き、Previsualization (事前可視化) 機能を使用して確認する。
* Chrome の開発者コンソールにコードをコピー&ペーストする。

どちらの方法も煩雑であり、開発者の生産性を低下させ、本番条件と一致しなかったり、実験の挙動をシミュレートする際に差異が出たりすることもありました。

開発者は今後、Kameleoon Visual Studio Code 拡張機能を使用して **Microsoft Visual Studio Code** で JavaScript または TypeScript コードを記述できます。拡張機能は更新を自動的に検出し、Kameleoon の Chrome 拡張機能を介してブラウザに送信します。Chrome は次に新しいコードを Kameleoon エンジンに挿入し、ページを自動的にリロードします。Visual Studio Code は Kameleoon と統合された最初の開発環境であり、クライアントの要望に応じて他の環境にも拡張される可能性があります。

## インストール

拡張機能は [Visual Studio マーケットプレイス](https://marketplace.visualstudio.com/items?itemName=Kameleoon.kameleoon) からインストールできます。

[Visual Studio marketplace](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/VS-Code-Extension-1.png)

## 使い始める

最初のステップは、VS Code プロジェクトの初期化です。初期化するには、コマンドパレットに移動して **Kameleoon - Initialize** コマンドを実行します。

<Note>
  *Ctrl+Shift+P* を押して *Command Palette* を表示し、「Kameleoon - Initialize」と入力して *Kameleoon - Initialize* コマンドをフィルタリングおよび表示します。
</Note>

ブリッジがプラットフォームと認証および通信できるようにするには、[Kameleoon Automation API クレデンシャル](/user-manual/account-and-team-management/users-and-teams/api-credentials) を提供します。[プロファイル](/user-manual/account-and-team-management/users-and-teams/api-credentials) から認証情報を取得したら、リポジトリのルートにある **credentials.json** ファイルに追加します。

```json theme={null}
{
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET"
}
```

最後に、次のコマンドを実行して必要な NodeJS モジュールをインストールします。

```shell theme={null}
npm install
```

### Kameleoon アカウントからのインポート

**Kameleoon - Import all projects** コマンドを使用して、すべてのプロジェクト、実験、パーソナライゼーション、バリエーション、セグメント、ゴール、カスタムデータをインポートします。

Kameleoon アカウントがすべてを一度にロードするには大きすぎる場合は、**Kameleoon - Import project** コマンドを使用して、インポートする単一のプロジェクトを選択します。

## 使い方

### エンティティをインポート

次のいずれかのコマンドを使用してエンティティをインポートできます。

```shell theme={null}
Kameleoon - Import all projects
Kameleoon - Import project
Kameleoon - Import experiment
Kameleoon - Import personalization
Kameleoon - Import segment
Kameleoon - Import custom data
Kameleoon - Import goal
```

### エンティティを作成

次のいずれかのコマンドを使用してエンティティを作成できます。

```shell theme={null}
Kameleoon - Create experiment
Kameleoon - Create personalization
Kameleoon - Create variation
Kameleoon - Create goal
Kameleoon - Create segment
Kameleoon - Create custom data
```

### エンティティを複製

次のいずれかのコマンドを使用してエンティティを複製できます。

```shell theme={null}
Kameleoon - Duplicate experiment
Kameleoon - Duplicate personalization
Kameleoon - Duplicate variation
Kameleoon - Duplicate goal
Kameleoon - Duplicate segment
Kameleoon - Duplicate custom data
```

### エンティティをフェッチ

次のいずれかのコマンドを使用してローカルエンティティを更新できます。

```
Kameleoon - Fetch projectKameleoon - Fetch experimentKameleoon - Fetch personalizationKameleoon - Fetch segmentKameleoon - Fetch custom dataKameleoon - Fetch goal
```

### エンティティをデプロイ

次のいずれかのコマンドを使用してローカルエンティティをデプロイできます。

```shell theme={null}
Kameleoon - Fetch project
Kameleoon - Fetch experiment
Kameleoon - Fetch personalization
Kameleoon - Fetch segment
Kameleoon - Fetch custom data
Kameleoon - Fetch goal
```

### 同期

```shell theme={null}
Kameleoon - Synchronize variation code to Chrome
Kameleoon - Synchronize common code to Chrome
Kameleoon - Synchronize global code to Chrome
Kameleoon - Remove synchronization
```

### Kameleoon Campaigns ビュー

拡張機能は **Kameleoon Campaigns** と呼ばれるビューを提供します。このビューは Explorer パネルで利用できます。

これにより、すべてのプロジェクトとキャンペーン、それらの現在の状態と関連するバリエーションを表示できます。

[Kameleoon Campaigns view](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/VS-Code-Extension-2.gif)

## 技術リファレンス

### エンティティ

次の表は、VS Code 拡張機能を使用したエンティティの管理に関する概要を示しています。

| Project               | Experiment | Personalization | Variation | Segment                                           | Goal | Custom data |
| --------------------- | ---------- | --------------- | --------- | ------------------------------------------------- | ---- | ----------- |
| \[entity].info.json   | ✓          | ✓               | ✓         | ✓                                                 | ✓    | ✓           |
| \[entity].config.json | X          | ✓               | ✓         | ✓                                                 | ✓    | ✓           |
| 独自のフォルダがある            | ✓          | ✓               | ✓         | ✓                                                 | ✓    | ✓           |
| 作成可能                  | X          | ✓               | ✓         | ✓                                                 | ✓    | ✓           |
| インポート可能               | ✓          | ✓               | ✓         | X                                                 | ✓    | ✓           |
| 更新可能                  | ✓          | ✓               | ✓         | 個別には不可。experiment/personalization の fetch コマンドを使用 | ✓    | ✓           |
| 削除可能                  | X          | X               | X         | X                                                 | X    | X           |

### プロジェクト

/custom-data フォルダがあるため、/projects フォルダがルートではなく、プロジェクトを格納します。

\[projects folder]\([https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/VS-Code-Extension-3.png](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/VS-Code-Extension-3.png)

各プロジェクトには独自の **proj.info.json** ファイルがあり、ID (**site ID** と **sitecode**) が含まれます。VS Code 拡張機能はプロジェクトの作成をサポートしていないため、プロジェクトには **proj.config.json** ファイルはありません。

各プロジェクトには、実験、パーソナライゼーション、カスタムデータ、ゴール、セグメント、グローバルスクリプトを含めることができます。

#### グローバルスクリプト

グローバルスクリプトは **/projects/\*/global** フォルダ配下に格納されます。

\[Global script]\([https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/VS-Code-Extension-4.png](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/VS-Code-Extension-4.png)

各プロジェクトは1つのグローバルスクリプトしか持てないため、グローバルスクリプトフォルダには **info.json** や **config.json** ファイルはありません。スクリプト自体のみが含まれます。

#### 実験

実験は **/projects/\*/experiments** フォルダ配下に格納されます。

[Experiments folder](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/VS-Code-Extension-4.png)

各実験には独自のフォルダがあります。

各実験には独自の **exp.config.json** および **exp.info.json** ファイルがあります。

<Note>
  デフォルトでは、拡張機能は以前のバージョンと同じ命名規則を使用して実験のフォルダを作成しますが、**exp.info.json** および **exp.config.json** ファイルも作成します。フォルダ名は重要ではありません。構成ファイルのみが使用されます。
</Note>

#### パーソナライゼーション

パーソナライゼーションは **/projects/\*/personalizations** フォルダ配下に格納されます。

[Personalization folder](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/VS-Code-Extension-5.png)

各パーソナライゼーションには独自のフォルダがあります。

各パーソナライゼーションには独自の **perso.config.json** および **perso.info.json** ファイルがあります。

<Note>
  デフォルトでは、拡張機能は以前のバージョンと同じ命名規則を使用してパーソナライゼーションフォルダを作成しますが、**perso.info.json** および **perso.config.json** ファイルも作成します。フォルダ名は重要ではありません。構成ファイルのみが使用されます。
</Note>

#### バリエーション

バリエーションは、関連する実験またはパーソナライゼーションフォルダ配下に格納されます。

[Variation folder](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/VS-Code-Extension-6.png)

各バリエーションには独自のフォルダがあります (**パーソナライゼーション内でも**)。

各バリエーションには独自の **var.config.json** および **var.info.json** ファイルがあります。

<Note>
  デフォルトでは、拡張機能は以前のバージョンと同じ命名規則を使用してバリエーションのフォルダを作成しますが、**var.info.json** および **var.config.json** ファイルも作成します。フォルダ名は重要ではありません。構成ファイルのみが使用されます。
</Note>

#### セグメント

セグメントは **/projects/\*/segments** フォルダ配下に格納されます。

[Segments folder](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/VS-Code-Extension-7.png)

各セグメントには独自のフォルダがあります。

各セグメントには独自の **segment.config.json** および **segment.info.json** ファイルがあります。

<Note>
  デフォルトでは、拡張機能は以前のバージョンと同じ命名規則を使用してセグメントのフォルダを作成しますが、**segment.info.json** および **segment.config.json** ファイルも作成します。フォルダ名は重要ではありません。構成ファイルのみが使用されます。
</Note>

#### ゴール

ゴールは **/projects/\*/goals** フォルダ配下に格納されます。

[Goals folder](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/VS-Code-Extension-8.png)

各ゴールには独自のフォルダがあります。

各ゴールには独自の **goal.config.json** および **goal.info.json** ファイルがあります。

<Note>
  デフォルトでは、拡張機能は以前のバージョンと同じ命名規則を使用してゴールのフォルダを作成しますが、**goal.info.json** および **goal.config.json** ファイルも作成します。フォルダ名は重要ではありません。構成ファイルのみが使用されます。
</Note>

#### カスタムデータ

カスタムデータは **/projects/\*/custom-data** フォルダ配下に格納されます。

[Custom-data folder](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/VS-Code-Extension-9.png)

各カスタムデータには独自のフォルダがあります。

各カスタムデータには独自の **custom.config.json** および **custom.info.json** ファイルがあります。

<Note>
  デフォルトでは、拡張機能は以前のバージョンと同じ命名規則を使用してカスタムデータのフォルダを作成しますが、**custom.info.json** および **custom.config.json** ファイルも作成します。フォルダ名は重要ではありません。構成ファイルのみが使用されます。
</Note>

### コマンド

#### 初期化コマンド

##### Kameleoon - Initialize

**Kameleoon - Initialize** は新しい VS Code プロジェクトの最初に実行する最初のコマンドです。

このコマンドは、次のファイルを作成して Visual Studio Code プロジェクトを初期化します。

```
credentials.jsongulpfile.jspackage.jsonREADME.md
```

コマンドの実行後、**credential.json** ファイルがエディタで開かれます。

##### アクセシビリティ

| コマンド                   | 右クリックメニュー | コマンドパレット |
| ---------------------- | --------- | -------- |
| Kameleoon - Initialize | X         | ✓        |

#### インポートコマンド

インポートコマンドは、欠落しているエンティティをインポートします。エンティティフォルダが既に存在する場合、コマンドはインポートしません。インポートコマンドは新しいエンティティをインポートする際に適用されます。エンティティを最新バージョンに更新するには、fetch コマンドを使用します。

##### Kameleoon - Import all projects

このコマンドは /projects フォルダを作成し、すべてのプロジェクトをインポートして、各プロジェクトフォルダ、サブフォルダ、ファイルを作成します。

##### アクセシビリティ

| コマンド                            | 右クリックメニュー            | コマンドパレット |
| ------------------------------- | -------------------- | -------- |
| Kameleoon - Import all projects | /projects フォルダを右クリック | ✓        |

##### Kameleoon - Import project

このコマンドは、特定のプロジェクトを **/projects** フォルダ配下にインポートし、それに関連するすべてのエンティティのフォルダとファイルを作成します。

##### アクセシビリティ

| コマンド                       | 右クリックメニュー | コマンドパレット        |
| -------------------------- | --------- | --------------- |
| Kameleoon - Import project | ✕         | コマンドを実行してサイトを選択 |

##### Kameleoon - Import experiment

このコマンドは、プロジェクト配下の特定の実験をインポートし、実験フォルダとファイル (**exp.info.json** と **exp.config.json** ファイルおよびバリエーションを含む) を作成します。

##### アクセシビリティ

| コマンド                          | 右クリックメニュー | コマンドパレット         |
| ----------------------------- | --------- | ---------------- |
| Kameleoon - Import experiment | ✕         | コマンドを実行して ID を入力 |

##### Kameleoon - Import personalization

このコマンドは、プロジェクト配下の特定のパーソナライゼーションをインポートし、パーソナライゼーションフォルダとファイル (**perso.info.json** と **perso.config.json** ファイルおよび唯一のバリエーションを含む) を作成します。

##### アクセシビリティ

| コマンド                               | 右クリックメニュー | コマンドパレット         |
| ---------------------------------- | --------- | ---------------- |
| Kameleoon - Import personalization | ✕         | コマンドを実行して ID を入力 |

##### Kameleoon - Import goal

このコマンドは、プロジェクト配下の特定のゴールをインポートし、ゴールフォルダとファイル (**goal.config.json** と **goal.info.json**) を作成します。

##### アクセシビリティ

| コマンド                    | 右クリックメニュー | コマンドパレット         |
| ----------------------- | --------- | ---------------- |
| Kameleoon - Import goal | ✕         | コマンドを実行して ID を入力 |

##### Kameleoon - Import segment

このコマンドは、プロジェクト配下の特定のゴールをインポートし、セグメントフォルダとファイル (**segment.config.json** と **segment.info.json**) を作成します。

##### アクセシビリティ

| コマンド                       | 右クリックメニュー | コマンドパレット         |
| -------------------------- | --------- | ---------------- |
| Kameleoon - Import segment | ✕         | コマンドを実行して ID を入力 |

##### Kameleoon - Import custom data

このコマンドは、プロジェクト配下の特定のカスタムデータをインポートし、カスタムデータフォルダとファイル (**custom.config.json** と **custom.info.json**) を作成します。

##### アクセシビリティ

| コマンド                           | 右クリックメニュー | コマンドパレット         |
| ------------------------------ | --------- | ---------------- |
| Kameleoon - Import custom data | ✕         | コマンドを実行して ID を入力 |

fetch コマンドは、ID を持つ有効な **\[entity-prefix].info.json** ファイルを含むエンティティフォルダ (それぞれの共通エンティティフォルダにネストされている) の右クリックメニューから使用できます。fetch コマンドは、API 応答を使用してエンティティファイルを完全に上書きします。

| コマンド                              | 右クリックメニュー         | コマンドパレット | コマンドフォルダ                      | Info ファイル         |
| --------------------------------- | ----------------- | -------- | ----------------------------- | ----------------- |
| Kameleoon - Fetch project         | プロジェクトフォルダを右クリック  | ✕        | /projects                     | proj.info.json    |
| Kameleoon - Fetch experiment      | 実験フォルダを右クリック      | ✕        | /projects/\*/experiments      | exp.info.json     |
| Kameleoon - Fetch personalization | 実験フォルダを右クリック      | ✕        | /projects/\*/personalizations | perso.info.json   |
| Kameleoon - Fetch segment         | セグメントフォルダを右クリック   | ✕        | /projects/\*/segments         | segment.info.json |
| Kameleoon - Fetch goal            | ゴールフォルダを右クリック     | ✕        | /projects/\*/goals            | goal.info.json    |
| Kameleoon - Fetch custom data     | カスタムデータフォルダを右クリック | ✕        | /projects/\*/custom-data      | custom.info.json  |

##### Kameleoon - Fetch project

このコマンドは、プロジェクトファイルおよびフォルダ (実験、パーソナライゼーション、バリエーション、セグメント、カスタムデータ、グローバルスクリプトを含む) を最新バージョンで上書きします。このコマンドは、エンティティまたはファイルが欠落している場合に、実験、パーソナライゼーション、バリエーション、セグメント、カスタムデータ、グローバルスクリプトのファイルとフォルダも作成します。

##### アクセシビリティ

| コマンド                      | 右クリックメニュー        | コマンドパレット |
| ------------------------- | ---------------- | -------- |
| Kameleoon - Fetch project | プロジェクトフォルダを右クリック | ✕        |

##### Kameleoon - Fetch experiment

このコマンドは、実験ファイルおよびフォルダ (バリエーションを含む) を最新バージョンで上書きします。このコマンドは、バリエーションまたはファイルが欠落している場合に、バリエーションフォルダとファイルも作成します。

##### アクセシビリティ

| コマンド                         | 右クリックメニュー    | コマンドパレット |
| ---------------------------- | ------------ | -------- |
| Kameleoon - Fetch experiment | 実験フォルダを右クリック | ✕        |

##### Kameleoon - Fetch personalization

このコマンドは、パーソナライゼーションファイルおよびフォルダ (唯一のバリエーションを含む) を最新バージョンで上書きします。このコマンドは、バリエーションファイルおよびフォルダが欠落している場合にも作成します。

##### アクセシビリティ

| コマンド                              | 右クリックメニュー             | コマンドパレット |
| --------------------------------- | --------------------- | -------- |
| Kameleoon - Fetch personalization | パーソナライゼーションフォルダを右クリック | ✕        |

##### Kameleoon - Fetch segment

このコマンドは、セグメントファイルおよびフォルダを最新バージョンに上書きします。

##### アクセシビリティ

| コマンド                      | 右クリックメニュー       | コマンドパレット |
| ------------------------- | --------------- | -------- |
| Kameleoon - Fetch segment | セグメントフォルダを右クリック | ✕        |

##### Kameleoon - Fetch goal

このコマンドは、ゴールファイルおよびフォルダを最新バージョンに上書きします。

##### アクセシビリティ

| コマンド                   | 右クリックメニュー     | コマンドパレット |
| ---------------------- | ------------- | -------- |
| Kameleoon - Fetch goal | ゴールフォルダを右クリック | ✕        |

##### Kameleoon - Fetch custom data

このコマンドは、カスタムデータファイルおよびフォルダを最新バージョンに上書きします。

##### アクセシビリティ

| コマンド                          | 右クリックメニュー         | コマンドパレット |
| ----------------------------- | ----------------- | -------- |
| Kameleoon - Fetch custom data | カスタムデータフォルダを右クリック | ✕        |

#### 作成コマンド

##### Kameleoon - Create experiment

このコマンドは、本ドキュメントで説明されているように、プロジェクト配下に新しい実験を作成し、実験フォルダとファイル (**exp.info.json** と **exp.config.json** ファイルおよび最初のバリエーションを含む) を作成します。

##### アクセシビリティ

| コマンド                          | 右クリックメニュー               | コマンドパレット |
| ----------------------------- | ----------------------- | -------- |
| Kameleoon - Create experiment | /experiments フォルダを右クリック | ✓        |

##### Kameleoon - Create variation

このコマンドは、本ドキュメントで説明されているように、実験配下に新しいバリエーションを作成し、バリエーションフォルダとファイル (**var.info.json** と **var.config.json** ファイルを含む) を作成します。

##### アクセシビリティ

| コマンド                         | 右クリックメニュー    | コマンドパレット |
| ---------------------------- | ------------ | -------- |
| Kameleoon - Create variation | 実験フォルダを右クリック | ✕        |

##### Kameleoon - Create personalization

このコマンドは、本ドキュメントで説明されているように、プロジェクト配下に新しいパーソナライゼーションを作成し、パーソナライゼーションフォルダとファイル (**perso.info.json** と **perso.config.json** ファイルおよび唯一のバリエーションを含む) を作成します。

##### アクセシビリティ

| コマンド                               | 右クリックメニュー                    | コマンドパレット |
| ---------------------------------- | ---------------------------- | -------- |
| Kameleoon - Create personalization | /personalizations フォルダを右クリック | ✓        |

##### Kameleoon - Create goal

このコマンドは、本ドキュメントで説明されているように、プロジェクト配下に新しいゴールを作成し、ゴールフォルダとファイル (**goal.info.json** と **goal.config.json** ファイルを含む) を作成します。

##### アクセシビリティ

| コマンド                    | 右クリックメニュー         | コマンドパレット |
| ----------------------- | ----------------- | -------- |
| Kameleoon - Create goal | /goals フォルダを右クリック | ✓        |

##### Kameleoon - Create segment

このコマンドは、本ドキュメントで説明されているように、プロジェクト配下に新しいセグメントを作成し、セグメントフォルダとファイル (**seg.info.json** と **seg.config.json** ファイルを含む) を作成します。

##### アクセシビリティ

| コマンド                       | 右クリックメニュー            | コマンドパレット |
| -------------------------- | -------------------- | -------- |
| Kameleoon - Create segment | /segments フォルダを右クリック | ✓        |

##### Kameleoon - Create custom data

このコマンドは、本ドキュメントで説明されているように、Kameleoon アカウントおよび **/custom-data** フォルダ内に新しいカスタムデータを作成し、カスタムデータのフォルダとファイル (**custom.info.json** と **custom.config.json** ファイルを含む) を含めます。

##### アクセシビリティ

| コマンド                           | 右クリックメニュー               | コマンドパレット |
| ------------------------------ | ----------------------- | -------- |
| Kameleoon - Create custom data | /custom-data フォルダを右クリック | ✓        |

#### 複製コマンド

##### Kameleoon - Duplicate experiment

このコマンドは、同じプロジェクト配下に実験を複製します。実験のフォルダとファイルを複製しますが、ID と名前は異なります。

##### アクセシビリティ

| コマンド                             | 右クリックメニュー       | コマンドパレット |
| -------------------------------- | --------------- | -------- |
| Kameleoon - Duplicate experiment | 特定の実験フォルダを右クリック | ✕        |

##### Kameleoon - Duplicate variation

このコマンドは、同じ実験配下にバリエーションを複製します。バリエーションのフォルダとファイルを複製しますが、ID と名前は異なります。

##### アクセシビリティ

| コマンド                            | 右クリックメニュー            | コマンドパレット |
| ------------------------------- | -------------------- | -------- |
| Kameleoon - Duplicate variation | 特定のバリエーションフォルダを右クリック | ✕        |

##### Kameleoon - Duplicate personalization

このコマンドは、同じプロジェクト配下にパーソナライゼーションを複製します。パーソナライゼーションのフォルダとファイルを複製しますが、ID と名前は異なります。

##### アクセシビリティ

| コマンド                                  | 右クリックメニュー                | コマンドパレット |
| ------------------------------------- | ------------------------ | -------- |
| Kameleoon - Duplicate personalization | 特定のパーソナライゼーションフォルダを右クリック | ✕        |

##### Kameleoon - Duplicate segment

このコマンドは、同じプロジェクト配下にセグメントを複製します。セグメントのフォルダとファイルを複製しますが、ID と名前は異なります。

##### アクセシビリティ

| コマンド                          | 右クリックメニュー          | コマンドパレット |
| ----------------------------- | ------------------ | -------- |
| Kameleoon - Duplicate segment | 特定のセグメントフォルダを右クリック | ✕        |

##### Kameleoon - Duplicate goal

このコマンドは、同じプロジェクト配下にゴールを複製します。ゴールのフォルダとファイルを複製しますが、ID と名前は異なります。

##### アクセシビリティ

| コマンド                       | 右クリックメニュー        | コマンドパレット |
| -------------------------- | ---------------- | -------- |
| Kameleoon - Duplicate goal | 特定のゴールフォルダを右クリック | ✕        |

##### Kameleoon - Duplicate custom data

このコマンドは、同じプロジェクト配下にカスタムデータを複製します。カスタムデータのフォルダとファイルを複製しますが、ID と名前は異なります。

##### アクセシビリティ

| コマンド                              | 右クリックメニュー            | コマンドパレット |
| --------------------------------- | -------------------- | -------- |
| Kameleoon - Duplicate custom data | 特定のカスタムデータフォルダを右クリック | ✕        |

デプロイコマンドは、変更を本番環境にプッシュします。任意のスクリプトファイル (JS、TS、CSS、SCSS) をデプロイまたは同期すると、拡張機能がコンパイルされたコードをビルドして **\_build** フォルダに保存するように促します。

##### Kameleoon - Deploy global code

このコマンドは、本番環境のグローバルコードを更新します。グローバルコードのデプロイは、プロジェクトの **proj.info.json** ファイルに基づきます。

##### アクセシビリティ

| コマンド                           | 右クリックメニュー                          | コマンドパレット |
| ------------------------------ | ---------------------------------- | -------- |
| Kameleoon - Deploy global code | グローバルフォルダまたはその index.js ファイルを右クリック | ✕        |

##### Kameleoon - Deploy experiment

このコマンドは、**exp.config.json**、**exp.info.json**、**common.js**、**common.css**、およびネストされたすべてのバリエーションフォルダに基づいて、本番環境の実験を更新します。

##### アクセシビリティ

| コマンド                          | 右クリックメニュー       | コマンドパレット |
| ----------------------------- | --------------- | -------- |
| Kameleoon - Deploy experiment | 特定の実験フォルダを右クリック | ✕        |

##### Kameleoon - Deploy variation

このコマンドは、**var.config.json** と **var.info.json** を含むバリエーションのファイルに基づいて、本番環境のバリエーションを更新します。

##### アクセシビリティ

| コマンド                         | 右クリックメニュー            | コマンドパレット |
| ---------------------------- | -------------------- | -------- |
| Kameleoon - Deploy variation | 特定のバリエーションフォルダを右クリック | ✕        |

##### Kameleoon - Deploy personalization

このコマンドは、perso.config.json、perso.info.json、および js と css ファイルを含むネストされたフォルダに基づいて、本番環境のパーソナライゼーションを更新します。

##### アクセシビリティ

| コマンド                               | 右クリックメニュー                | コマンドパレット |
| ---------------------------------- | ------------------------ | -------- |
| Kameleoon - Deploy personalization | 特定のパーソナライゼーションフォルダを右クリック | ✕        |

##### Kameleoon - Deploy goal

このコマンドは、**goal.config.json** と **goal.info.json** ファイルに基づいて、本番環境のゴール情報を更新します。

##### アクセシビリティ

| コマンド                    | 右クリックメニュー        | コマンドパレット |
| ----------------------- | ---------------- | -------- |
| Kameleoon - Deploy goal | 特定のゴールフォルダを右クリック | ✕        |

##### Kameleoon - Deploy segment

このコマンドは、**segment.config.json** と **segment.info.json** ファイルに基づいて、本番環境のセグメント情報を更新します。

##### アクセシビリティ

| コマンド                       | 右クリックメニュー          | コマンドパレット |
| -------------------------- | ------------------ | -------- |
| Kameleoon - Deploy segment | 特定のセグメントフォルダを右クリック | ✕        |

##### Kameleoon - Deploy custom data

このコマンドは、**custom.config.json** と **custom.info.json** ファイルに基づいて、本番環境のセグメント情報を更新します。

##### アクセシビリティ

| コマンド                           | 右クリックメニュー            | コマンドパレット |
| ------------------------------ | -------------------- | -------- |
| Kameleoon - Deploy custom data | 特定のカスタムデータフォルダを右クリック | ✕        |

#### 同期コマンド

同期されたファイルを保存すると、同期がトリガーされます。一度に同期できるエンティティは1つだけです。

##### Kameleoon - Synchronize variation code to Chrome

このコマンドは、js と css 両方のファイルを Chrome 拡張機能に同期し、ウェブページにコードを挿入します。TS および SCSS ファイルも受け入れます。

##### アクセシビリティ

| コマンド                                             | 右クリックメニュー                                          | コマンドパレット |
| ------------------------------------------------ | -------------------------------------------------- | -------- |
| Kameleoon - Synchronize variation code to Chrome | 特定のバリエーションスクリプトファイル (.css, .scss, .js, .ts) を右クリック | ✕        |

##### Kameleoon - Synchronize common code to Chrome

このコマンドは、**common.js** と **common.css** 両方のファイルを Chrome 拡張機能に同期し、ウェブページにコードを挿入します。TS および SCSS ファイルも受け入れます。

##### アクセシビリティ

| コマンド                                          | 右クリックメニュー                                        | コマンドパレット |
| --------------------------------------------- | ------------------------------------------------ | -------- |
| Kameleoon - Synchronize common code to Chrome | 特定の実験の共通スクリプトファイル (.css, .scss, .js, .ts) を右クリック | ✕        |

##### Kameleoon - Synchronize global code to Chrome

このコマンドは、index.js ファイルを Chrome 拡張機能に同期し、ウェブページにコードを挿入します。

##### アクセシビリティ

| コマンド                                          | 右クリックメニュー                                           | コマンドパレット |
| --------------------------------------------- | --------------------------------------------------- | -------- |
| Kameleoon - Synchronize global code to Chrome | 特定のグローバルコードスクリプトファイル (.css, .scss, .js, .ts) を右クリック | ✕        |

##### Kameleoon - Remove synchronization

このコマンドは同期を削除します。

##### アクセシビリティ

| コマンド                               | 右クリックメニュー                                           | コマンドパレット                                                      |
| ---------------------------------- | --------------------------------------------------- | ------------------------------------------------------------- |
| Kameleoon - Remove synchronization | 同期で使用可能な特定のスクリプトファイル (.css, .scss, .js, .ts) を右クリック | コマンドパレットから、各種類の同期に対する専用の Remove synchronization コマンドにアクセスできます |

## よくある質問

「エンティティ」という言葉は、拡張機能が操作するさまざまなオブジェクト (実験、パーソナライゼーション、プロジェクト、バリエーション、セグメント、カスタムデータ、ゴールなど) を指します。

Kameleoon は、ファイルおよびフォルダ命名規則を使用しなくなりました。エンティティ (実験、バリエーションなど) は JSON 構成ファイルを使用して作成します。

この拡張機能は、**ファイルベースアーキテクチャ**と呼ばれる構成ファイルに基づく規約を使用します。ファイルベースアーキテクチャは、以前のバージョンで使用されていたファイルおよびフォルダ命名規則を廃止します。代わりに、エンティティ情報を含む複数の JSON ファイルを使用します。

ファイルには2種類あります。

* **`[entity].info.json`** — このファイルには、ID とその他のアカウント関連情報が含まれます。
* **`[entity].config.json`** — このファイルにはエンティティの構成が含まれ、別のアカウントで同じエンティティを再作成するために使用できます。

### インポートコマンドはファイルやフォルダを上書きしますか?

いいえ、インポートコマンドはファイルやフォルダを上書きしませんが、ファイルやフォルダが存在しない場合は作成することがあります。

### fetch コマンドはファイルやフォルダを上書きしますか?

はい、fetch コマンドはファイルやフォルダを上書きします。将来的に、Kameleoon はリモートバージョンとローカルバージョン間のさまざまな変更を管理するためのマージ機能を提供する予定です。

### インポートコマンドの実行後、新しい `engine.js` (以前は `kameleoon.js` という名前) スクリプトが生成されますか?

いいえ、[インポートコマンド](https://docs.google.com/document/d/1ALR2xs7FXv55JmG3ytSFZsvUnHrdavldJ6oUG-iumkY/edit#heading=h.wcwvfrwnscwe) は、実行後に新しい `engine.js` スクリプトを生成しません。

### 作成コマンドの実行後、新しい `engine.js` スクリプトが生成されますか?

はい、[作成コマンド](https://docs.google.com/document/d/1ALR2xs7FXv55JmG3ytSFZsvUnHrdavldJ6oUG-iumkY/edit#heading=h.3ujr0l9zgbgd) は、実行後に新しい `engine.js` スクリプトを生成します。

### デプロイコマンドの実行後、新しい `engine.js` スクリプトが生成されますか?

はい、[デプロイコマンド](https://docs.google.com/document/d/1ALR2xs7FXv55JmG3ytSFZsvUnHrdavldJ6oUG-iumkY/edit#heading=h.5t82fjid356v) は、実行後に新しい `engine.js` スクリプトを生成します。

### ロールバックして特定の拡張機能バージョンをインストールするにはどうすればよいですか?

現在の Kameleoon 拡張機能がインストールされている場合は、アンインストールします。変更を適用するために Visual Studio Code ウィンドウを再読み込みしたことを確認してください。

[https://marketplace.visualstudio.com/items?itemName=Kameleoon.kameleoon](https://marketplace.visualstudio.com/items?itemName=Kameleoon.kameleoon) に移動します。

**Version history** をクリックします。

[Version history](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/VS-Code-Extension-10.gif)

インストールしたいバージョンをダウンロードします。VSIX ファイルが入手できるはずです。

VS Code に VSIX ファイルをインポートします。

1. 拡張機能タブに移動します。
2. 「Extensions」パネルの右上隅にある3点をクリックします。
3. 「*Install from VSIX…*」をクリックします。

### V3 から V4 に移行するにはどうすればよいですか?

V3 から V4 に移行するには、Kameleoon は変更を本番環境にプッシュし (オプション)、すべてのファイルとフォルダを削除して、新しい環境を開始することを推奨します。新しい環境を設定する手順については、[使い始める](https://docs.google.com/document/d/1ALR2xs7FXv55JmG3ytSFZsvUnHrdavldJ6oUG-iumkY/edit#heading=h.ysyu20smapmp) セクションで説明されています。

### Visual Studio Code で minimize オプションを無効にするにはどうすればよいですか?

次の手順に従って、VS Code の Kameleoon の minimize または「minify」オプションを無効にすることができます。

1. VS Code の Extensions タブを開きます。

<Frame>
  ![Extension](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/vs-code-11.png)
</Frame>

2. インストール済み拡張機能のリストから **Kameleoon** を選択し、**Settings** をクリックします。

<Frame>
  ![Extension](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/vs-code-12.png)
</Frame>

3. **Enable JS minification for deploying and synchronization** とラベル付けされたオプションを選択します。

<Frame>
  ![Extension](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/vs-code-13.png)
</Frame>
