【Salesforce】Salesforceエンジニア歴5年目の配属初日PC設定！

# はじめに
メモがてらSalesforceエンジニア配属初日のPC設定を書いていきます！
PC設定はSESの場合、何回もやるので参考になれば嬉しいです！

全体としては以下のような流れです。

- PC設定
- ソフトウェアインストール
- 開発環境構築
- Chrome拡張
- お気に入り登録
- 質疑応答

# PC設定
## 初期化確認
PCは使いまわしなので前任者の資料がゴミ箱やダウンロードフォルダにそのまま残ってる可能性があります。
後述しますが勝手に消さないようにしましょう。
※初期化した状態で渡してほしいんですけどね

## bitの確認
ソフトウェアをインストールするさいに32bitか64bitかの情報が必要なので確認しましょう。
※もうほとんど64ですが一応

## 付属品の挙動確認や要望
キーボード、マウス、モニターなどの挙動を確認しておきましょう。
自分はモニター欲しい派なので支給されなかったら現場の空気を見て上長に相談します。

## 非表示
視界の情報を減らすといいってメンタリストDaiGoさんが言ってたのでいろいろと消してます。
[Windows 10 タスクバーの非表示｜隠れなくなった](https://www.pasoble.jp/windows/10/taskbar-kakusu.html)
[Google Chromeのブックマークバーを表示・非表示に切り替えることができるショートカットキー](https://bl6.jp/web/webinfo/show-hide-bookmarkbar-shortcutkey-chrome/)

# ソフトウェアインストール
## [MicrosoftOffice](https://www.office.com/?auth=2)
用途：資料作成など
備考：入っている状態で渡されることが多いのですが、たまに入ってないので渡されたらすぐに確認しましょう

## [7-Zip](https://sevenzip.osdn.jp/)
用途：ファイルの解凍、Zip化
備考：使い慣れているものでいいと思います～

## [Clibor](https://forest.watch.impress.co.jp/library/software/clibor/)
用途：定型文の挿入もできるテキスト専用のクリップボード履歴ソフト
備考：下記のような定型文を登録しておくと楽です

```Java:定型文

---------------メール---------------

// テストメール
rkobayashi+test0001@XXXX.co.jp

---------------Apex---------------

System.Debug('★★★★ 関数を開始する ： hogeMethod');
System.Debug('★★★★ 関数を終了する ： hogeMethod');

System.Debug('★★ コメント hoge');

System.Debug('★★ 変数 hoge ： ' + hoge);

break;
continue;

/* hogehoge変数・メソッド START */

// 画面ID
public String id {get; set;}

/* hogehoge変数・メソッド END */

// ～～のため、～～を取得する
List<Account> accountList = [
    SELECT
        Id
        ,Name
        ,hoge__c
    FROM Account
    WHERE
        Id = :this.accId
        AND Name != NULL
    ORDER BY Name DESC
    LIMIT 1000
];

// ～～のため、～～を取得する
Map<Id, Account> accountMap = new Map<Id, Account>([
    SELECT
        Id
        ,Name
        ,hoge__c
    FROM Account
    WHERE
        Id = :this.accId
        AND Name != NULL
    ORDER BY Name DESC
    LIMIT 1000
]);

// 開発者コンソールからログを消したいときに使う
SELECT Id FROM ApexLog

---------------VF---------------

// VFというよりかJSのデバッグ
console.log("★★★★ 関数を開始する ： hogeMethod");
console.log("★★★★ 関数を終了する ： hogeMethod");

console.log("★★ コメント hoge");

console.log("★★ 変数 hoge ： ", hoge);

alert("アラート");

---------------概要---------------

/**************************************************
 * 名前 AccountTrigger
 * 概要 取引先のトリガ
 * 履歴 YYYY/MM/DD XXXX保守 r.kobayashi ○○のため、××した
 * メモ ここら辺注意
 **************************************************/

 /**
 * 概要 コンストラクタ
 * 引数 test なし
 * 戻り値 なし
 * 履歴 YYYY/MM/DD XXXX保守 r.kobayashi ○○のため、××した
 * メモ ここらへん注意
 */

 ---------------ログ---------------

 2023/MM/DD 依頼概要 r.kobayashi ○○のため、××した

// M-XXXX START
// M-XXXX END

<!-- M-XXXX START -->
<!-- M-XXXX END -->


```

## [Slack](https://slack.com/intl/ja-jp/)
用途：チャットツール
備考：プロジェクトによります

## [WinMerge](https://winmerge.org/?lang=ja)
用途：既存のコードどどこを直したのかの差分を確認するツール
備考：なし

## [DataLoader](https://help.salesforce.com/articleView?id=000317204&language=ja&type=1&mode=1)
用途：Salesforceエンジニアで知らない人がいたらその方はモグリだといわれるツール
備考：~~なんかインストールが面倒くさくなった~~

# 開発環境構築
## Visual Studio Code
Salesforceの開発環境はVisual Studio Codeが主流ですね！

こちらのサイトでまとめてくれてます！
[Visual Studio CodeでSalesforceの開発環境を構築する(winter '19)
](https://base.terrasky.co.jp/articles/5f2tk)

ファイル保存時の自動デプロイを有効化したい場合は以下も！
[Visual Studio CodeでSalesforceの開発環境を構築する](https://qiita.com/shunkosa/items/e6248520bff90f397158)

![{BEFE70D0-49B5-4F24-838B-07CA86C87054}.png.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492812/799b6550-e51f-8c5e-f185-4639c1dc950d.jpeg)

上記エラーが表示された場合、[Java Setup](https://developer.salesforce.com/tools/vscode/en/getting-started/java-setup)が必要です。

①下記からJDKをダウンロード＆インストール

https://www.oracle.com/java/technologies/downloads/#java17

![スクリーンショット 2023-12-05 114525.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492812/a2179623-e919-2a1a-c18b-0c1bcf5004f6.png)

②VSCODEの設定

![スクリーンショット 2023-12-05 114614.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492812/a7ea6217-301f-f531-aaac-08bf39ad53c8.png)

※日本語設定になってます

③Java:Homeにパスを指定

![スクリーンショット 2023-12-05 114634.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492812/333b0173-13fa-63ed-ca34-3b36c2436c10.png)

上記の方法であれば下記のパスにJDKがあると思います

C:\\Program Files\\Java\\jdk-17


## Visual Studio Code拡張
[VSCodeのオススメ拡張機能 24 選 (とTipsをいくつか)](https://qiita.com/sensuikan1973/items/74cf5383c02dbcd82234)

- vscode-icons
- Bracket Pair Colorizer
- Japanese Language Pack
- Output Colorizer
- Trailing Spaces

# Chrome拡張
## [ORGanizer for Salesforce](https://chrome.google.com/webstore/detail/organizer-for-salesforce/lojdmgdchjcfnmkmodggbaafecagllnh)
用途：SalesforceのユーザIDとパスワードを管理できます
備考：数に限りがあるので複数プロジェクトの場合、調整が必要

## [Salesforce DevTools](https://chrome.google.com/webstore/detail/salesforce-devtools/ehgmhinnhggigkogkbhnbodhbfjgncjf)
用途：いろいろできます
備考：[Salesforce DevToolsの機能と使い方を徹底解説](https://www.sunbridge.com/blog/tips/salesforce-devtools/)

## [Salesforce inspector](https://chromewebstore.google.com/detail/aodjmnfhjibkcdimpodiifdjnnncaafh?hl=ja)
用途：オブジェクトの項目などがさっと見れる
備考：[【初～中級者向け】Salesforce開発を効率化する拡張機能（Google Chrome）](https://base.terrasky.co.jp/articles/lmexR)

## [FireShot](https://chrome.google.com/webstore/detail/take-webpage-screenshots/mcbpblocgmgfnpjjppndjkmgjaogfceg?hl=ja)
用途：ウェブページ全体をスクリーンショットできる拡張機能
備考：テストのエビデンスを撮るときに使います

## [Reload All Tabs](https://chrome.google.com/webstore/detail/reload-all-tabs/midkcinmplflbiflboepnahkboeonkam?hl=ja)
用途：開いているタブをボタン一つで全更新できる拡張機能
備考：Salesforceのサイトをたくさん開いてる状態から時間などでログアウトしてしまった場合、別タブで入り直し、この機能を使用するとログイン状態に戻る

# お気に入り登録
## [DeepL](https://www.deepl.com/translator)
用途：翻訳
備考：Google翻訳よりも精度が高い？

## [codic](https://codic.jp/engine)
用途：変数などのネーミングを考えてくれます
備考：あくまでもコーディング規約順守！

## [ChatGPT](https://chat.openai.com/)
用途：革命！簡単な数式やコードであれば作ってくれます
備考：ダメ元で聞いてみてもアイデアが出てくるのでGood

## [StockSun品質ガイドライン](https://stock-sun.com/about/guideline/)
用途：StockSunの品質ガイドラインです。対応に困ったとき使っています
備考：！

# 質疑応答
上記について対応していてお客様側でしかわからないことがあれば、
QA表を作成し一気に聞くようにしています。

また同じタイミングで参画された方がいらっしゃる場合は共有してあげると
お客様側も同じ質問に答えなくていいし点数稼ぎにもなります(笑)