[C++]Visual Studio 2019でatl***.hが見つからない問題に対処する。

症状

最近Visual Studio 2019へと環境を移したのだが、これの上でプラットフォームツールセットをVisual Studio 2017(v141)に切り替えてビルドしようとすると、ATL(Active Template Library)がエラーを発するようになった。タイトルのように"atlstr.h"などのヘッダファイルが見つからなくなったのだ。Visual Studio 2017以前を使っていた頃は問題にならなかったのだが、2019に切り替えた途端にこのような症状が出てきた。
私はATLを積極的に使っているわけではないのだが、アプリケーションのバージョン情報を取得する部分にはどうしても必要だったので、そこだけは依存している。

原因

プロジェクトがVisual Studio 2017用であるにも関わらず、v141ビルドツール用のATLライブラリがインストールされていなかった。Visual Studio 2019のインストーラはv142用のATLは勝手にインストールしてくれるのだが、v141用は手動で選択しないとインストールしてくれないために、インクルードファイルが見つからないという問題が起きていたようだ。
Visual Studio Installerで、個別のコンポーネント->「ATL」を検索->「v141 ビルド ツール用 C++ ATL (x86 および x64)」を選択しインストールすればよい。

FirefoxでSide Viewの幅の制限を取り払う方法。

 Firefoxのアドオンの中にSide Viewというものがある。通常Firefoxのウィンドウ内には一つのページしか表示できないのだが、Side Viewを追加するとサイドバーに別のページを表示させることができ、実質的な画面分割機能として役に立つ。ただし単に導入しただけでは、Side Viewの幅はせいぜいウィンドウの1/4程度までしか広げられないようである。アドオンのレビューでもこのことに文句を言うコメントが多数寄せられている。ウィンドウ分割機能として使いたいのだから、せめてウィンドウの1/2まで広げて使いたいものである。

 これはアドオン側の問題ではない。Side Viewとは要するにサイドバーに別のページを表示させているだけである。しかし困ったことに、Firefoxのサイドバーの幅にはデフォルトで制限が課せられており、Side Viewもその制限を喰らっているのだ。逆に言えば、これを取り払ってやればSide Viewでも反映される。
 以下のようなコードをuserChrome.cssに追加しFirefoxを再起動すれば良い。ウィンドウいっぱいまでSide Viewを広げられるようになる。userChrome.cssの使い方は各所で解説されているのでここでは省略する。

#sidebar {
  max-width: none !important;
  min-width: 0px !important;
}

 私はFirefoxを頑なに使い続けている数少ない人間の一人である。Chromeに移行しようかと考えたことは多々あるが、アドオンの充実ぶりはFirefoxの方が圧倒的だったため実現しなかった。Firefox Quantumへアップデートされてからはかなりの機能制限がついたとは言え、まだChromeよりは私好みのカスタマイズが可能である。特に重要なのは多段タブだ。Chromeは多段タブができないのだが、Firefoxは頑張れば実現できる。資料探しなどで大量のタブを開いて使う私にとって、多段タブは必須機能だ。Side Viewについては実はChromeにはより優れたTab Resizeという拡張機能があるのだが、私は2分割できれば十分なので今の所Side Viewで事足りている。
 最近はMicrosoft Edgeがかなり頑張っているようなのでちょっとだけ期待しているのだが、このあたりの機能が充実するまではまだ手を出せない。Waterfoxには興味があるが、昔のFirefoxの派生ブラウザなので重そうなのがちょっと。……理想のブラウザって見つからないよね。

Visual Studio Codeで、言語ごとに折り返しなどを設定する。

 最近Visual Studio CodeLaTeX編集を始めたのだが、VSCodeはデフォルトでは折り返しがOffになっている。「表示->折り返しの切り替え」をチェックしても、これは一時的な変更でしかないので、VSCodeを終了すると元に戻ってしまう。しかも「設定->よく使用するもの->Editor: Word Wrap」をOnにすると、困ったことに、全てのファイルに対して折り返しがOnになってしまう。
 プログラミング言語ソースコードなどは折り返さない方が一般に好まれると思うが、LaTeXは文書なので折り返される方がありがたい。このような、各言語ごとの設定をしたい場合の対処。

 参考:Language specific editor settings

 「ctrl+shift+P」で出てくるコマンドパレットから「Preferences: Configure Language Specific Settings」を実行する。すると言語の一覧が出てくるので、編集したい言語を選択する。私の場合はLaTeXを選択した。するとsetting.jsonが開き、次のような項目が自動的に追加される。

    "[latex]": {
        
    }

 あとはこの中に折り返し設定(editor.wordWrap)を加えるだけだ。もちろんその他に好みの設定を追加してもよい。

    "[latex]": {
        "editor.wordWrap": "on"
    }