じゅぴの記録帳

いったイベントや勉強したこと等を記録するブログです 間違ってるとこあれば指摘お願いします

vscodeのintellisenseの文字化け

おこったこと

visual studioで作成したプロジェクトのファイルをvscode
編集中にintellisense(関数のコメントのとこ)の文字化けが発生

やったこと

visual studioのファイルは文字コードがshift-jisで表記されているので

①右下のところShift-jisと書いてあるところをクリック。

エンコード付きで保存をクリック。

UTF-8 With BOMをクリック。

これでいけました。

推測される原因

intellisenseのファイルの文字コード自動判別をtrueにしていたので他の文字コード
判断されたのだとおもいます。(UTF-8 with BOMは先頭に判別のためのものがついている)

visualstudioの文字コードvscodeみたいに簡単に確認出来たらなぁ・・・

記録③(vscodeの自動整形、chocolateyの導入、vscodeのフォントの変更)

自動整形できなかったけど何かの役に立つかもなので記録

自動整形

c++の自動整形で宗教上許せない内容があったので調べました。
どうも前入れた拡張機能c/c++のclangで決まっているっぽい。
Visual Studio CodeでC言語を行頭かっこじゃないようにオート ... 
↑このサイトを参考に書いても最後の2つ書いてあるやつが動かない…
Visual Studio Codeでの行頭カッコを何とかしたい - Qiita 
↑このサイトみたいにワークフォルダ毎に.clang-formatを書くわけにもいかず
ClangFormatスタイルオプション — Algo13 2016.12.17 ドキュメント
↑を参考に

"C_Cpp.clang_format_style": "Visual Studio"

で妥協しました。
無念・・・ でももしかしてこれ初期値じゃ・・・?

chocolateyの導入 Fira Codeにフォント変更

vscodeのフォントサイズ変更を調べているとこんな記事
途中で出てきたFira Codeを試してみたかったので頑張りました。
Chocolateyを使った環境構築の時のメモ - Qiita
コマンドでWindowsアプリを楽々管理Chocolatey」:知っトク ... - IT
上記2サイトを参考に導入。中にはicloudvscodeが…。今度PC帰るときはこれ使おう…

VSCodeのフォントをコーディング用のFira Codeにするを参考にインストールして適応。
エディターのフォントと色を変更する - Visual Studio | Micを参考にvisual studioも変更
するとvscodeのほうで文字化けが。
setting.jsonのフォントサイズを変更すると余計ひどくなり、Visual Studio Code画面の外観とフォントの拡大縮小方法 ...のスクロール部分で変更できるようにし何とか解決.。
合字まだ慣れないけど使いやすそうで入れたかいがありました!

パッケージ管理ソフトとは(自分用メモ)

ソフトウェアの管理に使うもの。 linuxのaptもそう。
アップデートが一括に受けられる、インストール時に依存関係にある
ライブラリも一緒にダウンロードしてくれるらしい。

VScodeでインクルードパスを通す方法

後日いろいろ修正します

概要

頑張ってインクルードパス(directx9とかdirectx11みたいなヘッダーが他のところにあるもの)の通し方を調べて見つけたのでそのメモみたいなものです。
投稿しようとしてから関連する記事沢山見つけました

方法

VS codeinclude pathの設定をちゃんとする - Qiita のような記事も見つけたが同じ状況じゃない…

拡張機能のInclude AutoPath

c直下に置いたdirectx9のパスを通しました。undefined.jpg 読み込めず、黄色いビックリマークも出なかったので右下のWin32を選択

undefined.jpg 次に上記のような表示が出るのでJSONのほうを選びます。UIを選ぶと視覚的に見やすくなっているのですがJSONのほうが個人的に打ちやすいのでこちらを選びます。

undefined.jpg includepathの欄に通したいパスを書きます。 vsからのコピーでも行けるかもしれないです。

undefined.jpg 書き終わったらctrl +sで保存をし、ソースへ戻ります。

undefined.jpg そしたら上の画像のように赤線が消え、intellisenseができるようになっているはずです。

記録②(WindowsTerminalの導入、WSLのバグ?、WSL2への変更)

勉強メモというか日記みたいな感じです。

WSLのバグっぽいのに遭遇

WSLでfcntl(sock,F_SETOWN,getpid())が実行できない
解決するのに時間かかった…

WSL2に変更

上記のものでWSL2に変更をせざるを得なくなり変更。
以下を参考に導入。
前バージョンから大幅に性能向上した新Linux環境WSL 2」の ... - IT
WSL2をインストール | ハックノート
WindowsUpdate時間かかりすぎや…
バグがあるみたいでそれの修正
WSL2によるホストのメモリ枯渇を防ぐための暫定対処 - Qiita

噂のWindows Terminalを導入

ついに完成Windows Terminal」の機能と使い方まとめ - IT

すごいと噂のWindowsTerminalを導入。
複数タブ出来て通信が出来ているか確認する際便利かも!

次回

vscodec++の開発環境を整えようとした際
分からないことがあったのでそれを調べて書く!
あと、文字コードと文字セット…

WSLでfcntl(sock,F_SETOWN,getpid())が実行できない

状況

TCP/IPソケットプログラミングの87ページを
VSCode+WSL+Ubuntuでやってるときに発生

発生したもの

if(fcntl(sock,F_SETOWN,getpid())<0)
   {
       //エラー エラー処理
   }   `

上記の処理でifの中に入ってしまう。

解決方法

Windows Subsystem for Linuxで開発環境を整えた · 遺言書のような記事も
見つけたのですが理由がわからず悩んだ末に
WSLをWSL2に変更したらいけました。
Linuxの知識がとても不足してるのではっきりとはわからない
のですが、WSLにLinuxカーネルが搭載されてないのが原因な気がします。
たぶんです。

task.jsonを作ってもg++ build active fileを見つけられませんって出た場合

WSL+vscode環境でC++をデバッグ | ハチアンアーカイブズ

起きたこと

上記のサイト通りにlaunch.json、task.jsonを作った場合、僕の環境ではまた、g++ build active fileを見つけられません
と出ました。

解決方法

task.jsのlabelが毎回 shell : g++ buile active fileとなっていてshell:の部分を消すと実行できるようです。

launch.jsonのpreLaunchTaskの名前と同じにしないといけないみたいです。

なんで同じ名前で作成してくれないの

記録①(vscode環境の構築、Linux、PHPのプログラミング)

概要

最近めっちゃネットワークの勉強をしたのでその勉強の記録とそのさい使ったサイト等のメモです。

サーバーOS

UNIX系とWindows系がある。
たぶんサーバーを書いた環境の違い

ネットワークプログラミング

ソケットプログラミングが中心っぽい?
windowsUnix(Linux等)のプログラムは一緒に見えて内容が違うので注意すること!
ただwindows向けの本はあんまりなくLinux向けのはたくさんあった。
つら

GeekなページさんとこでWindowsのネットワークプログラミングを勉強

phpの勉強

秒間28万リクエストをさばく! 「グラブル」を支えるサーバーサイドの技術

TwitterグラブルLAMP環境とやらでやっていると聞き以前見た
新入社員のための大規模ゲーム開発入門 サーバサイドでもでてきたので勉強してみようと思い
改訂新版 ゼロからわかるPHP超入門 | 星野 香保子 | | 通販 ...を購入
エディタはVScodeに決めVSCodeでXAMPPを使ってPHPデバッグ|YaHoHoo's|noteを参考に環境構築
いまはLinuxのほうに集中しているのでそのうち勉強再開したい。

Linux環境を整える

WSL / WSL2】VSCode×WSLでWindows上にLinux開発環境を構築

WSL(Ubuntu)のC++開発環境を Visual Studio Codeで構築 ...

WSL+vscode環境でC++をデバッグ | ハチアンアーカイブズ

上記等を参考に環境構築
デバッグができたとこ!!!

これからしたいこと

Linuxの勉強
開発メモC言語でLinuxサーバーとWindowsクライアントで ...これを参考に作りたい

Linuxの資格とか知識ってゲーム系のサーバサイドエンジニアの就職特になるのかな…