PCが壊れたのでkintone 開発環境再構築

PCを床に落としたら、タッチパッドが浮いてしまい、ドラッグが出来なくなった。
しょうがないので新しいPCを買って、kintone の開発環境を再構築したので、手順をメモ。
※[kintone 開発環境構築メモ2021](https://qiita.com/rex0220/items/a27215045501dba087dd)に最新版を記述

# 壊れたPC Surface Laptop

タッチパッドが浮いてる。無理やり戻してもドラッグが出来ない。横も口が開いてるし。
ドラッグが出来ないと、kintone のデザインフォームでアイテムを配置出来ないし、サイズ変更もできない。
2017年7月から使っていたので、丸2年お世話になりましたが新しくPCを購入することに。

![IMG_0181.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/07608540-2005-af39-4be8-0a04369f82a4.jpeg)

# 新PC Surface Laptop2

これまで使っていた Surface Laptop が気に入っていたので、新PCも Surface Laptop2 にしました。
ほとんどデザインが変わっておらず、そのままの使い方でOK。
13.5 inches で、2256x1504 と縦が少し長いので、エディタでコードが見やすい。
キーボードを英字にするため、US Amazon で注文して、5日で到着しました。
土日挟んで5日なので早いですね。


新旧Surface Laptop
![IMG_0182.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/e21c17a2-cd5b-d4bb-2899-98a851eb47c2.jpeg)


外観は、新旧変わっていませんが、中身はだいぶ変わっています。

|  |Surface Laptop|Surface Laptop2|
|:--|:--|:--|
|OS|Windows 10S|Windows 10 Home|
|CPU|i5-7200U|i5-8250U|
|コア数/スレッド数|2 / 4|4 / 8|
|ベースクロック|2.5GHz|1.6GHz|
|最大動作クロック|3.1GHz|3.4GHz|
|キャッシュ|3MB|6MB|
|CPU Mark|4601|7677|
|Screen|2256x1504|2256x1504|

旧Laptopでも、kintone 開発には十分な性能でしたので、パフォーマンスが上がった分は余裕分ですね。

# kintone 開発環境再構築手順

- Windows 10 Home セットアップ
- Windows 10 Home 日本語化
- Windows 10 Pro アップグレード
- Windows Update
- git for windows
- posh-git
- Powershell プロンプトカスタマイズ
- Visual Studio Code
- node 関連



# Windows 10 Home セットアップ

既定のOSは、Windows 10 Home で、言語の選択に日本語が無いので、英語を選択して進めます。

# Windows 10 Home 日本語化

日本語ローカル　エクスペリエンス　パックを導入し、Windowsの表示言語を日本語に選択。

# Windows 10 Pro アップグレード

Windows Store から Windows 10 Proにアップグレードできるはずが、出来ない。
日本語化や所在地が関係しているのかと英語に戻したりいろいろやってみても、アップグレード画面に遷移すると真っ白の画面になって、進めませんでした。
少し費用が多くなりますが、Amazonで、Windows 10 Proのライセンスを買って切り替えました。

# Windows Update

とりあえず、最新 1903 までアップデート。
1903 のアップデートは、少し時間がかかった。
[Windows 10 Version 1903 の新機能 (IT 技術者向けコンテンツ)](https://docs.microsoft.com/ja-jp/windows/whats-new/whats-new-windows-10-version-1903)

Windows 10 Proだと、Windows Update で更新を365日延期出来るようです。


# Powershell

Powershell は、Windows 10 の規定バージョン Ver.5.1 と　マルチプラットフォーム対応の Ver.6 以降があるようです。

## Powershell Ver.5.1

Windows 10 のデフォルトバージョンですが、少し古いのでアップデートします。

- PowerShellGet のアップデート

[PowerShellGetをアップデートしよう](https://blog.shibata.tech/entry/2017/12/18/004105)を参照して、PowerShellGet をアップデートします。

```.log
> Get-Module PowerShellGet,PackageManagement -ListAvailable

ディレクトリ: C:\Program Files\WindowsPowerShell\Modules

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Binary     1.0.0.1    PackageManagement                   {Find-Package, Get-Package, Get-PackageProvider, Get-Packa...
Script     1.0.0.1    PowerShellGet                       {Install-Module, Find-Module, Save-Module, Update-Module...}


> Install-Module PowerShellGet -Scope CurrentUser -Force -AllowClobber                                            

> Get-Module PowerShellGet,PackageManagement -ListAvailable                                                       

    ディレクトリ: C:\Users\rex02\OneDrive\tool\ドキュメント\WindowsPowerShell\Modules


ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     1.4.3      PackageManagement                   {Find-Package, Get-Package, Get-PackageProvider, Get-Packa...
Script     2.2        PowerShellGet                       {Find-Command, Find-DSCResource, Find-Module, Find-RoleCap...


    ディレクトリ: C:\Program Files\WindowsPowerShell\Modules


ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Binary     1.0.0.1    PackageManagement                   {Find-Package, Get-Package, Get-PackageProvider, Get-Packa...
Script     1.0.0.1    PowerShellGet                       {Install-Module, Find-Module, Save-Module, Update-Module...}

```

## Powershell Ver.7 Preview2

マルチプラットフォーム対応ですが、いろいろ変わっているようなのでお試しで入れてみます。

[GitHub PowerShell](https://github.com/PowerShell/PowerShell)

Windows preview 版をダウンロードして入れます。
ディレクトリやファイルの日本語が化けるなど、少し対応が必要な感じ。
Ver.7 リリース版が出るまではそのままかな。

```.log
> Get-Host

Name             : ConsoleHost
Version          : 7.0.0-preview.2
InstanceId       : 3484e50c-4e6c-4ac2-b66a-43588f90508b
UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture   : ja-JP
CurrentUICulture : ja-JP
PrivateData      : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled  : True
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace
```


# git for windows
[git for windows](https://gitforwindows.org/) で、ダウンロードしてインストール

# posh-git

posh-git は、カレントディレクトリの git のサマリ情報をコンソール上に表示してくれます。

[posh-git](https://github.com/dahlbyk/posh-git) の手順に従って、インストール。


# Powershell プロンプトカスタマイズ

VSCode のコンソール出力で、プロンプトの表示をカレントディレクトリだけにします。

```Microsoft.PowerShell_profile.ps1
# プロンプトの表示をカレントディレクトリだけにする
function prompt {
    $origLastExitCode = $LASTEXITCODE
    Write-Host (Split-Path (Get-Location) -Leaf)  -nonewline
    Write-Host " " -nonewline
    Write-VcsStatus -nonewline
    $LASTEXITCODE = $origLastExitCode
    "$('> ')"
}

Import-Module posh-git
$global:GitPromptSettings.BeforeText = '['
$global:GitPromptSettings.AfterText  = '] '
```

# Visual Studio Code

[Visual Studio Code](https://code.visualstudio.com/) からダウンロード＆インストール

日本語化は、コマンドパレットから Japanease Language Pack for Visual Studio Code をインストール。以前より簡単になっているようだ。


# node 関連

## nodist

[GitHub nodist](https://github.com/nullivex/nodist/releases) からダウンロード＆インストール
必要な node バージョンのインストール・切り替えが簡単。

## node バージョン

- 8.11.1 : Azure function 用に。kintone プラグイン開発でもそのまま。


# kintone プラグイン開発環境

create-plugin 等の kintone プラグイン開発に必要なものをインストール。
手順は、下記のとおり。

[kintone create-plugin を使ってみた](https://qiita.com/rex0220/items/ec21b526442951bf70d9)



# 参考

- [kintone プラグイン開発環境メモ](https://qiita.com/rex0220/items/0c4609d77d9155e3d6ab)
- [kintone create-plugin を使ってみた](https://qiita.com/rex0220/items/ec21b526442951bf70d9)
- [kintone 連携の Azure Functions 開発メモ](https://qiita.com/rex0220/items/fad0f60a768fde1e6730)


# あとがき

PC の切り替えが数年に一度はありますが、設定が結構面倒です。
ただ、ついでに使用しているツール類の見直しもできるので、たまにはいいかも。