Visual Studio CodeでVisual Studio Live Share
概要
Visual Studio Live Shareがモブプログラミングに良さそうだってことでVisual Studio Code(以下VS Code)で早速試してみることにしました。とは言え、相手がいないのでPC二台用意して一人でLive Shareですよ(´¬’)bb
www.visualstudio.com
環境
PC#1 macOS High Sierra バージョン 10.13.4
PC#2 Windows 10
Visual Studio Code バージョン 1.23.1
PC#1 Mac側
ステータスバーのSigh inをクリックするとブラウザが開きます。

MicrosoftアカウントかGitHubアカウントでサインインできるようですね。

今回はGitHubアカウントを選択。

連携できたようなのでVS Codeに戻ります。

ステータスバーが変わりましたね。
この状態でShareをクリックすると、クリップボードに招待用のリンクがコピーされます。

通知もでます。

Slackなどに張り付けてリンクを相手と共有しましょう。
PC#2 Windows側

リンクにアクセスし、Live Share for VS Codeを開くをクリックします。

VS Codeが起動し通知が出るのでLaunch Sign inよりサインインします。
こちらも同じGitHubアカウントでサインインしてみました。

Live Share(PC#1 Mac側)
これでLive Share出来ました!
オレンジのカーソルと名前がPC#2側です。
一人でやってるんで、まったく意味がないのですが複数人で使うと楽しそうですね(・ω・´)

ターミナルもシェアできるぞ!

コマンド叩くと相手のターミナルにもぺろぺろ出力されます。

まずはLive Shareしてくれる人を探すところからだな(*>ω<)人
VoiceText Web APIで遊んでみた
概要
PowerShellでVoiceText Web APIを使って遊んでみようと思い立ち、Visual Studio Code(以下VSCode)でスクリプトを書いてみました(・∀・)

環境
Windows10
PowerShell 5.1
VoiceText Web API
モヤさまのナレータでおなじみですね。
cloud.voicetext.jp
規約読んで利用登録してAPIキーを取得しましょう。
VSCodeを立ち上げスクリプトを書いて実行したら、わけわからんことしゃべってる?なんで?って颯爽と詰まる。
理由は日本語をしゃべらせようとして、ファイルのエンコードがUTF-8のためスクリプトに書いた文字列が文字化けしたからですね。

PowerShell ISEで書いたスクリプトをVSCodeで開いたらUTF-8 with BOMとなっていたので、スクリプトの中で日本語を書くときはUTF-8 with BOMにしておけば良さそう。あとShift JISでも大丈夫でした。
モジュール化してみた
エンコードがUTF-8でもコマンドレットの引数で渡すんであれば行けたのでモジュール化してみました。
環境変数にVoiceTextAPI_KEYという名前でAPIキーを登録しておきます。
■voiceTextModule.psm1
. $PSScriptRoot\voiceConverter.ps1 function ConvertTo-Voice { param( [Parameter(Mandatory)] [ValidateSet('show', 'haruka', 'hikari', 'takeru', 'santa', 'bear')] [string] $name, [Parameter(Mandatory)] [string] $text ) begin{ } process { $Speaker = [Speaker]::new($name, $text); $Speaker.Speak(); } end { } }
■voiceConverter.ps1
バージョン5からクラス構文も書けるようになったんすね。
Write-Host 'Loading...' class Speaker { [string]$Name; [string]$Text; [string]$Uri = "https://api.voicetext.jp/v1/tts"; Speaker ($name, $text) { $this.Name = $name; $this.Text = $text; } [string] GetAuthorization() { $t = $env:VoiceTextAPI_KEY + ":"; return "Basic " ` + [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($t)) } [void] Speak() { $outFile = ".\voicetext.wav" if (Test-Path $outFile){ Remove-Item $outFile; } Invoke-RestMethod -Uri $this.Uri ` -Method POST ` -Headers @{Authorization=$this.GetAuthorization()} ` -Body @{text=$this.Text; speaker=$this.Name;} ` -OutFile $outFile; $player = New-Object System.Media.SoundPlayer -ArgumentList $outFile $player.Play() } }
あとはモジュールをインポートして実行するだけ(^q^)b
PS> Import-Module .\voiceTextModule PS> ConvertTo-Voice -name show -text 本当にありがとうございます。
【CentOS 7】 Visual Studio Codeが起動できなくなった
概要
たしか1.7に上げた頃、VS Codeがエラーメッセージを吐いて起動できなくなりました。そのときは時間もなく面倒くさかったので放置してましたが、思い出したのでなんとかしてみる回です。
環境
CentOS 7
Visual Studio Code 1.7.2
エラー内容
起動しようとすると怒られました・・・。なにもしてないんだけどなぁ。
$ code .
/usr/share/code/bin/../code: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory
とりあえずアップデート
ひとまず最新に上げたら直っているんじゃないかという淡い期待を抱き、アップデートするもダメ>.<
sh-yoshida.hatenablog.com
エラーメッセージを読む
英語だからってそっと閉じない。大切。
error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory
libXss.so.1ライブラリがないと怒られているらしいので、ライブラリ名を調べていると似たような事象を発見!
CentOS - GitKrakenがCentOS7で起動できなくなりました。(45627)|teratail
libXScrnSaverをインストールしてあげればいいのかなっつーことでやってみます。
$ sudo yum install libXScrnSaver 読み込んだプラグイン:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ libXScrnSaver.x86_64 0:1.2.2-6.1.el7 を インストール --> 依存性解決を終了しました。 依存性を解決しました ================================================================================ Package アーキテクチャー バージョン リポジトリー 容量 ================================================================================ インストール中: libXScrnSaver x86_64 1.2.2-6.1.el7 base 24 k トランザクションの要約 ================================================================================ インストール 1 パッケージ 総ダウンロード容量: 24 k インストール容量: 40 k Is this ok [y/d/N]: y Downloading packages: libXScrnSaver-1.2.2-6.1.el7.x86_64.rpm | 24 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction インストール中 : libXScrnSaver-1.2.2-6.1.el7.x86_64 1/1 検証中 : libXScrnSaver-1.2.2-6.1.el7.x86_64 1/1 インストール: libXScrnSaver.x86_64 0:1.2.2-6.1.el7 完了しました!
そもそもlibXss.so.1ってなんだろう。スクリーンセーバー関係?
復活!
ナルホド無事VS Codeは起動しました!
と喜んだのも束の間。Gitのバージョンが古い(ノ ゜Д゜)ノ ==== ┻━━┻

Codeは2.0.0以上のgitで最適に動作します。
Gitのインストール
yumでは古いバージョンがインストールされるとのことで、こちらを参考に最新のGitをCentOS 7にインストールしてみます。
現時点で最新は2.10.2。
手順に従い進めていきます。
$ sudo yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel $ cd /usr/local/src/ $ sudo wget https://www.kernel.org/pub/software/scm/git/git-2.10.2.tar.gz $ sudo tar xzvf git-2.7.2.tar.gz
ぐぬぬ、makeでエラーが。
$ sudo make prefix=/usr/local all (省略) /usr/bin/perl Makefile.PL PREFIX='/usr/local' INSTALL_BASE='' --localedir='/usr/local/share/locale' Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3. BEGIN failed--compilation aborted at Makefile.PL line 3. make[1]: *** [perl.mak] エラー 2 make: *** [perl/perl.mak] エラー 2
↓こちらを参考にエラーに対処。
$ sudo yum install perl-ExtUtils-MakeMaker
もう一度makeコマンドを実行したらうまく行ったぁぁぁあ
$ sudo make prefix=/usr/local all $ sudo make prefix=/usr/local install
Gitも最新になって、VS Codeも文句なし☆彡
$ git --version
git version 2.10.2
