Salesforce Code Builder

[まとめページに戻る](https://qiita.com/Keiji_otsubo/items/60afc2a8d211b6f7d89f)
[まとめA～M](https://qiita.com/Keiji_otsubo/items/f3ddedee6793bf1576f8)


+ [Salesforce Code Builderのエラーなど](https://qiita.com/Keiji_otsubo/items/000cd8868ac4d49107e9)

---------------------

+ [Salesforce AI Powered Code Builder Now Generally Available](https://www.salesforceben.com/salesforce-ai-powered-code-builder-now-generally-available/)

2022 年に Salesforce は、Salesforce 開発用に完全に最適化され、Microsoft の Visual Studio Codespaces を利用した Web ベースの開発環境である Code Builder を発表しました。それ以来、開発者が試すことができるようにベータ版が提供されています。つまり、今までは…

本日、Salesforce は Code Builder が一般提供されたことを正式に発表しました。この記事では、Code Builder とは何か、Code Builder で何ができるのか、インストール方法、ベータ版と GA 版の違いについて説明します。

# コードビルダーとは何ですか?
Salesforce Code Builder は、Salesforce プラットフォームのコーディングを強化するために設計されたオンライン開発ツールです。これは Microsoft の Visual Studio Code のインターネット ベース バージョンのようなもので、すでに VS Code に慣れている人でも簡単に使用できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/26011f39-d738-20d9-b567-abb0a8c45a52.png)


これは、新しい Web ベース環境 (IDE) に統合された、新しくオープンで適応性のある開発ツールセットです。これは、開発者、管理者、アーキテクトが最新の Salesforce 開発ツールにアクセスすることで生産性と創造性を向上できることを意味します。 

また、自然言語をコードに変換できる AI と、Open VSX マーケットプレイスで入手できる開発者拡張機能も含まれており、Web ブラウザから直接 CRM を簡単にカスタマイズできます。

# コードビルダーで何ができるの?
Salesforce Code Builder は、開発者、管理者、アーキテクトに次の方法を提供します。

+ 簡単なカスタマイズ: 数回クリックするだけで、Web ブラウザから直接 Salesforce のカスタマイズを開始できます。Salesforce 拡張機能、CLI ツール、プログラミング言語がロードされた Web ベースの統合開発環境 (IDE) をデプロイできます。さらに、Lightning Web コンポーネント、Apex、SOQL クエリなどのフレームワークも含まれます。これらの機能にアクセスするために、インストール、構成、アップデートは必要ありません。
+ AI による迅速な開発: 開発者は、 Einstein for Developersを活用した生成 AI を使用してコーディング タスクを加速できます。この AI は、コーディングの高速化、生産性の向上、コードの生成、テスト、デバッグ、リファクタリングなどのタスクの実行に役立ちます。Einstein for Developers は Salesforce 言語およびフレームワーク向けに調整されており、別の拡張機能を通じて利用できます。
+ 柔軟性と親しみやすさ: Code Builder は、開発者がOpen VSX マーケットプレイスからのサードパーティ拡張機能を使用してカスタマイズできるようにすることで、柔軟性を提供します。このマーケットプレイスは、VS Code 拡張機能を共有および使用するためのコミュニティ主導のプラットフォームであり、DevOps ワークフローとソース駆動開発をサポートする機能豊富な IDE エクスペリエンスを作成できるようにします。

# コードビルダーのインストール

1. [設定]から、クイック検索ボックスに「コード ビルダー」と入力し、[コード ビルダー]を選択します。
2. コード ビルダーを有効にし、使用許諾契約を確認して同意すると、パッケージをインストールできます。この設定はいつでも無効にできます。コード ビルダーがすでにインストールされている場合、設定を無効にするとコード ビルダー アプリケーションにアクセスできなくなります。
3. 「パッケージのインストール」をクリックします。インストーラーが起動すると、インストール プロセスが案内され、Code Builder 管理パッケージの最新バージョンをインストールします。このセットアップ ページに戻って、パッケージを再インストールまたはアップグレードできます。
4. 「すべてのユーザーにインストール」を選択し、「インストール」をクリックします。
5. サードパーティのアクセスを承認し、[続行]をクリックします。

インストールが完了すると、確認メールが届きます。「インストール済みパッケージのセットアップ」ページでインストールを確認できます。

[設定]から、クイック検索ボックスに「インストールされたパッケージ」と入力し、 [インストールされたパッケージ]を選択します。次のような Code Builder のエントリが表示されます (下記)。アプリのインストールに時間がかかっているというメッセージが表示された場合は、 [完了]をクリックすると、自動的にこのページにリダイレクトされます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/fdbe7c01-e253-69c8-1562-befc02ab526e.png)

### アップグレードは？

+ [Will CodeBuilder version be upgraded?](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007YvlJ2)

:::note
Upgrade to the Latest Code Builder Version

In most cases, you don’t have to do anything to upgrade to the latest version of the Code Builder. When we release a new package version, we update your org automatically.

However, sometimes the push upgrade doesn’t work. If you don’t have the latest version, we recommend that you manually install the package through the Code Builder Setup page. If a newer version doesn’t exist, the package installer informs you that you already have the latest version.

https://developer.salesforce.com/tools/vscode/en/codebuilder/cb-setup

ほとんどの場合、コード ビルダーの最新バージョンにアップグレードするために何もする必要はありません。新しいパッケージバージョンをリリースすると、組織は自動的に更新されます。

ただし、プッシュ アップグレードが機能しない場合があります。最新バージョンをお持ちでない場合は、コード ビルダーのセットアップ ページからパッケージを手動でインストールすることをお勧めします。新しいバージョンが存在しない場合、パッケージ インストーラーは、最新バージョンがすでに存在することを通知します。
:::

+ [コードビルダー組織ブラウザですべてのソースを取得しますか?](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007YwHGL)

:::mote
I’m used to using the Package Generator Extension for this but unfortunately that extension doesn’t currently work with Code Builder. My workaround has been to create a package.xml file with Visual Studio Code and then manually create this same file with code builder copy/paste and then retrieve.

私はこれに Package Generator Extension を使用することに慣れていますが、残念ながら、その拡張機能は現在 Code Builder では機能しません。私の回避策は、Visual Studio Code を使用して package.xml ファイルを作成し、コード ビルダーのコピー/貼り付けを使用してこの同じファイルを手動で作成し、取得することでした。
:::

+ [コードビルダーに関するいくつかの質問](https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX00000KDxIw)

**作業を保存しています***

Code Builder は、使用しているバージョン管理システム (git など) によって、必要に応じて作業内容が保存されることを前提としています。これにより、実行した作業を元に戻す/やり直す機能が提供されます。  

「クラウドでの作業には利点があります。ただし、ファイルをローカル マシンに保存するデスクトップでの作業とは異なり、変更を組織にデプロイするか、ソース管理にコミットして作業を永続的に保存する必要があります。Code Builder 環境に保存された作業は、戻ったときにそこにありますが、Code Builder は永続的なストレージには適していません。

コード ビルダー タブを閉じる前に作業内容を保存することをお勧めします。 

**環境をリセットすると何が起こるのか、なぜそれが必要なのか**

環境をリセットすると、既存の環境が削除され、新しい環境が作成されます。これが、作業のコピーを保持することが重要であり、Code Builder が Git などのバージョン管理システムをサポートする理由です。  

 

リセットの最も一般的な利点は、何か新しいことを始めようとしているときです。それは、新しい機能やまったく新しいアプリケーションである可能性があります。一度に 1 つの Code Builder 環境しか持つことができないため、新しい作業を開始するときに環境をデフォルトにリセットする必要がある場合があります。   

もう 1 つのオプションは、インスタンスが不安定になったり使用できなくなったりした場合に役立ちます。これは頻繁に必要になるものではありませんが、発生する可能性があり、発生する理由はさまざまです。  

これらは 3 つのカテゴリに分類できます。 

- コードビルダー自体の問題  
- コードビルダーにデフォルトのサードパーティ依存関係がインストールされている場合、  
- または、Code Builder ユーザーのアクションを使用します。  

Code Builder の問題については、解決に向けて取り組んでいます。また、私たちの目標は問題を解決し、中断したところに戻すことなので、リセットはお勧めしません。  

他の 2 つのカテゴリについては、リセット、削除、新しい環境の作成によって、作業環境に戻ります。ただし、削除された環境から何も保存されません。中断したところに戻るには、Salesforce 組織に接続して、作業していたコードをダウンロードする必要があります。これが、作業を保存することが重要である理由です。  




# 開発者のための Einstein
Dreamforce 期間中の 9 月に VS Code のベータ版がリリースされた Einstein for Developers は、Salesforce 固有のコーディング言語専用に構築された生成 AI コーディング ツールです。これは、Salesforce のオープンソース Large Language Model (LLM) である CodeGen を使用して構築されており、単純な英語のプロンプトを実行可能なコードに変換します。

これは Code Builder と VS Code に展開されたため、Code Builder ユーザーもパーティーに参加できるようになりました。[拡張機能] タブからインストールするだけで、Code Builder で Einstein for Developers を活用できます。

必要な

# 必要なエディション
コードビルダーは、Enterprise Edition、Performance Edition、Professional Edition、および Unlimited Edition の Lightning Experience を含む、さまざまな Salesforce エディションでアクセスできます。

ただし、データ常駐コミットメントを提供する特殊な有料サービスである EU オペレーティング ゾーンでは利用できません。Code Builder は、標準の製品利用規約に従って、EU 運用地域に属さない欧州連合組織でサポートされています。

# ベータ版と一般提供版
Code Builder のベータ版と GA バージョンの主な違いは、インストールできる Salesforce のエディションです。ベータ版は AppExchange にあり、どの環境にもインストールできます。

これは GA バージョンには当てはまらず、Salesforce の特定のエディションにのみインストールできるようになりました。私にとって最大の欠如は、多くの開発者が構築を開始する開発者組織にそれをインストールできないことでした。うまくいけば、これはそう遠くない将来に開発者組織で再び利用できるようになるでしょう。

# まとめ
基本的に、Code Builder は Salesforce 開発の開始を簡素化します。Salesforce 拡張機能、CLI、ワークフローを備えた、Web ブラウザ内で事前設定されたコーディング環境を提供します。つまり、複雑な設定プロセスを必要とせずに、すぐに生産性を向上させることができます。

必要な Salesforce エディションのいずれかをお持ちの場合は、この魅力的な新しいツールをぜひ試してみることをお勧めします。

+ [Code Builder Quick Start](https://developer.salesforce.com/tools/vscode/ja/codebuilder/cb-start)



# Vs code版

+ [Error when trying to connect to Bitbucket](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007RI09S)(https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX00000KDzB90AL)

:::note
https://github.com/forcedotcom/Einstein-GPT-for-Developers/issues/117
:::

:::note
It turns out that Bitbucket does not support a direct push from code builder, at least not yet.

https://bitbucket.org/atlassianlabs/atlascode/issues/429/can-not-login-into-bitbucket-cloud-from
:::


# Cannot read properties of null (reading 'capabilities')"  and "Apex Language Server client: couldn't create connection to server

+ [Cannot run unit tests](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007Yvlfw)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/ef36140a-8b40-ad38-a11c-6ee43cf63add.png)


:::note
Step 1 - Delete the folder containing the corrupted apex database

Step 2 - Completely quit Visual Studio Code.

Step 3 - Kill any running apex language server processes

Step 4 - Reopen vscode and wait...

You should now be able to navigate around your code and use all the features of the apex language server extension.

https://github.com/forcedotcom/salesforcedx-vscode/issues/5251
:::


手順:

端末を使用して: 
プロジェクト ツール フォルダー ~/dxproject/.sfdx/tools に移動します (.sfdx は隠しフォルダーなので、表示するには「ls -a」が必要であることに注意してください。ただし、cd でアクセスすることもできます)。
強制フラグ「rm -rf 248」を使用して、<バージョン番号> フォルダー (私の場合は「248」) を削除します。
ブラウザを閉じて再度開きます
これにより、作業が再開され、起動エラーは発生しなくなり、単体テストを表示して実行できるようになりました。


# Export query results in Code Builder

+ [Export query results in Code Builder](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ahdi2)

:::note
When you select the .csv button it defaults to saving it inside of the Code Builder environment, /home/codebuilder/untitled.soql.csv.

There shouldn't be anything in Code Builder preventing you from saving it as a csv file. You might be running into issues with some type of restriction on your local computer.

If you saved it in the Code Builder environment you can view it or download it.

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/4cd6490c-c7f4-82e8-ee62-6d37641f894a.png)

1. Click the three lines (hamburger) in the top left corner
2. Select "File" and then "Open Folder…"
3. In the Open Folder popup select or type in "/home/codebuilder/" and then press OK
4. You should now see the "untitled.soql.csv" file in the file Explore
5. Leaving it viewable from inside Code Builder and downloadable if you right click it and select download.

Optionally you could also use the built-in terminal in Code Builder to view or work with the csv file. Example: `file /home/codebuilder/untitled.soql.csv`

.csv ボタンを選択すると、デフォルトでコード ビルダー環境 /home/codebuilder/untitled.soql.csv 内に保存されます。

コード ビルダーには、CSV ファイルとして保存することを妨げるものは何もありません。ローカル コンピューター上で何らかの制限に関する問題が発生している可能性があります。

Code Builder 環境に保存した場合は、表示またはダウンロードできます。

1. 左上隅の三本線（ハンバーガー）をクリックします
2. 「ファイル」を選択し、「フォルダーを開く…」を選択します。
3. [フォルダーを開く] ポップアップで、「/home/codebuilder/」を選択または入力し、[OK] を押します。
4. ファイル「Explore」に「untitled.soql.csv」ファイルが表示されます。
5. コード ビルダー内から表示できるようにし、右クリックして [ダウンロード] を選択するとダウンロードできるようにします。

オプションで、コード ビルダーの組み込みターミナルを使用して、csv ファイルを表示または操作することもできます。例: `ファイル /home/codebuilder/untitled.soql.csv`
:::

# This page has an error. You might just need to refresh it. [PromiseRejection: [object Object]]

+ [Code Builder Error On Open](https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX00000PZsjh0AD)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/08ce05fd-878c-4bf0-85f4-fdf90ea2c061.png)