以下の内容はhttps://tech.guitarrapc.com/entry/2017/07/25/034154より取得しました。


Visual Studio 2017 で使っている拡張機能

Visual Studio CodeやVisual Studioは、拡張機能で便利な機能を追加できます。

Market Place便利。

https://marketplace.visualstudio.com/search?target=VS&category=Tools&vsVersion=&subCategory=All&sortBy=Downloads

あまりむやみに追加すると動作が重くなるのですが、便利なものを使わない手はないので必要なものを入れています。*1

ここではVisual Studio 2017で私が入れている便利拡張をまとめておきます。

Extensions一覧

Recommend Name Purpose Desc
5 https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.VSIntelliCode 学習されるインテリセンス VS2019の機能ですが、VS2017でも拡張機能をPreviewで使えます。
5 https://github.com/StefanKert/BuildVision ビルド結果表示の高機能化 VS2017 対応に合わせてオリジナル作者から引き継がれました
残念ながらMarket Place版は2015のままです
5 https://marketplace.visualstudio.com/items?itemName=LaurentKempe.GitDiffMargin Git の追跡結果と比較して差分のハイライト表示をしてくれます
5 https://marketplace.visualstudio.com/items?itemName=neuecc.OpenonGitHub 選択ファイル/行の GitHub ページにジャンプ
5 https://marketplace.visualstudio.com/items?itemName=vs-publisher-141975.SwitchStartupProjectforVS2017 Startup Project の変更がすさまじく楽になります
5 https://marketplace.visualstudio.com/items?itemName=MikeWard-AnnArbor.VSColorOutput Output Window に出力された文字に状態に応じて色が付きます。
5 https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.CustomDocumentWell 縦タブが使いたくて! VS2015までは Productivity Power Tools で提供されていた機能が個別パッケージで提供されました。
5 https://marketplace.visualstudio.com/items?itemName=guitarrapc.OpenUserSecrets .NET Core Console で UserSecretsを使いたくて ASP.NET Core MVC の Manage UserSecrets と同様の機能を .NET Core Console でも提供します
4 https://marketplace.visualstudio.com/items?itemName=vs-publisher-1248728.BlackSpace 末尾の不用意なスペースをハイライト、保存時に削除も可能です。 類似拡張 : https://marketplace.visualstudio.com/items?itemName=PawelKadluczka-MSFT.TrailingSpaceFlagger
4 https://marketplace.visualstudio.com/items?itemName=JasonRai.LetMeEdit .csproj を unload せずに編集できます。 EditProjのFolkで、2017に対応してくれています。
3 https://marketplace.visualstudio.com/items?itemName=LiamMorrow.PowerMode タイプでコンボ、楽しくないですか? 画面が大きくなるほど重いです。4Kとかやばい。設定必須。
3 https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.FixMixedTabs ソフトタブ、ハードタブの混在ファイルを開いた時に統一できます。 VS2015までは Productivity Power Tools で提供されていた機能が個別パッケージで提供されました。
2 https://marketplace.visualstudio.com/items?itemName=vscps.SlowCheetah-XMLTransforms Configuration Transform のおともに 使う人にしかいらないやつです。.NET CoreのDIで不要になった説もあります。
2 https://marketplace.visualstudio.com/items?itemName=MadsKristensen.OpenCommandLine VS から.cmd や .ps1 が実行できるの便利 powershell x86 なのは注意

それぞれの拡張

Visual Studio IntelliCode - Preview

2018/12/17追記

インテリセンス、コード補完と呼ばれるコード支援機能をさらに支援します。

https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.VSIntelliCode

公式曰く...。

IntelliCode は、使用する可能性が高いものを入力候補一覧の最上位に配置することによって時間を節約できます。 IntelliCode の推奨は、星の獲得数が 100 を上回る、GitHub 上の何千ものオープン ソース プロジェクトに基づいています。 コードのコンテキストを結合すると、入力候補一覧が調整されて共通のプラクティスのレベルが上がります。 IntelliCode はステートメント入力候補に限定されていません。 シグネチャ ヘルプも、コンテキストに合わせて最も可能性が高いオーバーロードを推奨します。 このプレビュー リリースでは、C# を使用している場合、IntelliCode にご使用のコードからパターンを学習させることができるため、独自のユーティリティ クラスやドメイン固有のライブラリ呼び出しなど、オープンソース ドメインにない型の推奨を行うことができます。 詳しくは、以下をご覧ください。

VS2017では、自分のプロジェクトで認識させるので自分の手癖や共有コードの癖が出ます。 たとえば、Unity + UniRxでSubject に対するOnNext(T)は良く書くところですが、これがトップに来てくれる当りめっちゃ嬉しいです。(他にもありますが分かりやすいでしょう)

追記ここまで

Build Vision

最高というより空気、これなしのビルドは考えられないぐらいには必須拡張と化しています。使ってないビルドはもう考えられません。

https://github.com/StefanKert/BuildVision

ビルドが可視化されてなかったことに気付かされた時の絶望たるや。

これだけMarket Placeに出ていませんが、発行のために動いてくれているので心待ちにしたりフィードバックをどんどん返しましょう。

https://github.com/StefanKert/BuildVision/issues/29

発行までのPre-releaseはVSIXGalleryで取得できます。

http://vsixgallery.com/extension/837c3c3b-8382-4839-9c9a-807b758a929f/

Git Diff Margin

Git使ってますよね? ソースコードがgit上とどのような変更があったか気になりませんか?エディタ上で変更点が可視化されます。変更があれば視覚上で追えてgit操作前にgitで何を変更するか分かる、最高です。

https://marketplace.visualstudio.com/items?itemName=LaurentKempe.GitDiffMargin

未保存が黄色、追加行が緑、変更が青、削除が赤で表示されています。削除内容も赤い三角から見えます。

Open on GitHub

ソースコードがGitHub上でどのurl? 選択行はurlで何行目? そんなちょっとした、しかしチームでソース共有時に手間を減らしてくれます。

いまだに使っていますが、そろそろ標準であってもいいのでは..。

http://neue.cc/2015/01/14_503.html

https://marketplace.visualstudio.com/items?itemName=neuecc.OpenonGitHub

例えば行を選択した状態で、ブランチなりmasterを選ぶと?

url上ですでに選択されています。便利! (微妙にいつも一行ずれます。)

SwitchStartupProject for VS 2017

Start up Projectって設定面倒じゃないですか?右クリック嫌いだし目に見えてていいと思っています。

この拡張を使うとツールバーからStart up Projectを確認、設定できます。ビルド同様ここにあった方が楽です。

https://marketplace.visualstudio.com/items?itemName=vs-publisher-141975.SwitchStartupProjectforVS2017

便利じゃないですか?

他にもmulti-project startupとして、複数プロジェクトの同時起動も簡単に設定できます。

https://bitbucket.org/thirteen/switchstartupproject/src/tip/Configuration.md?fileviewer=file-view-default

VSColorOutput

Visual StudioなぜかデフォルトではOutput (出力) Windowに表示された文字の色を設定できません。エラーなら赤にしたいとかありませんかねぇ?

そんなときにこの拡張をいれると幸せになります。

https://marketplace.visualstudio.com/items?itemName=MikeWard-AnnArbor.VSColorOutput

例えば正常ビルド

例えばエラーが分かりやすくなります。

簡単ですが設定もあります。

Custom Document Well

すべては縦タブです。

https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.CustomDocumentWell

Open UserSecrets

ASP.NET Coreでは、プロジェクト名を右クリックするとMange User Secrets (ユーザーシークレットの管理) メニューが出て、ローカル開発用secrets.jsonをVSで編集しやすくします。 しかし、.NET Core Consoleではこの機能がなく、せっかくMicrosoft.Extensions.Configuration.UserSecrets nugetをいれてUser Secretsを取り扱えるようにしても、VSであつかうのに困ります。

この拡張を使うとそんな苦しみがなくなります。

https://marketplace.visualstudio.com/items?itemName=guitarrapc.OpenUserSecrets

BlackSpace

末尾の余計なスペースをハイライト表示してくれます。設定で保存時に自動的に消すこともできるので便利便利。

https://marketplace.visualstudio.com/items?itemName=vs-publisher-1248728.BlackSpace

GitHub上で余計なスペース見かけると嫌になる人へおすすめ。Hard Tab / Soft Tabが見やすくなるというのもあったり。

LetMeEdit

VS2017では、新csprojフォーマットにおいてVS標準でcsprojの編集メニューが追加されたのでLetMeEditは不要です。ただし旧csprojではunloadなしの編集はサポートされていないのでLetMeEditがいいでしょう。

LetMeEditを使うと、プロジェクトファイルをunloadすることなく編集できるようになります。

VS2015まではEditProjという拡張を使っていましたが、2017対応していません。そんな人はLetMeEditがそのままの使い心地を提供します。

https://marketplace.visualstudio.com/items?itemName=JasonRai.LetMeEdit

unloadって手間だとわかります。ソースや.csprojの変更時に必ずreloadしないと整合性おかしくなりやすいので注意です。(自動的に聞かれます)

PowerMode

楽しいは正義。ただし画面が大きかったりパーティクルを多くすると重いです。

https://liammorrow.gallerycdn.vsassets.io/extensions/liammorrow/powermode/2.2/1495174801744/264136/1/demo.gif

https://marketplace.visualstudio.com/items?itemName=LiamMorrow.PowerMode

画面のゆれを止めたりするとカクツキがへって快適に楽しくなります。わたしはこんな設定。

VS Codeでみんな大好きアレのインスパイアですね。

https://atom.io/packages/activate-power-mode

Fix Mixed Tab

私はソフトタブを使うのですが、まれに直接ファイル編集したときや何かのインポートで入ったファイルはハードタブだったりします。この混在ファイルに対して、untabify (ソフトタブ) かtabify(ハードタブ) を一括適用できる拡張です。

https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.FixMixedTabs

SlowCheetah

以前記事にしたようなことをするには必須のパッケージです。なんというか便利極まりないです。ただ、シンプルなプロジェクト構成ならいらないかな?

http://tech.guitarrapc.com/entry/2015/09/11/152828

https://marketplace.visualstudio.com/items?itemName=vscps.SlowCheetah-XMLTransforms

2018/12/17追記

ASP.NET Coreで紹介されたDIによるコンフィグ構成がサポートされたことで、ビルド時のConfiguration Transformはもう不要な感じもあります。ということで以前よりおススメさげました。(4 -> 2)

追記ここまで

Open Command Line

cmdを開いたり、パスコピーだったりできます。便利。

https://marketplace.visualstudio.com/items?itemName=MadsKristensen.OpenCommandLine

ちなみにこいつのOpen Project Fileはunloadをするので嫌いです。

使わなくなった拡張

以前、https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.ProductivityPowerPack2017を挙げていましたが、VS2017から機能は個別にパッケージ提供されています。そのため、Productivity Power Tool自体は使っておらず個別の機能をインストールしています。

利用している個別パッケージはリストに書いてある、Custom Document Well、Fix Mixed Tabsです。

Productivity Power Tools 2017

様々な「使う機能」が集約されています。

  • Visual Studioでタブの位置を横に持っていきたい
  • タブの色をプロジェクトごとに変更する
  • 空白行をぺちゃんこにしたい
  • スクロールマップとソースコードの位置を合わせたい
  • Ctrl + Clickで定義をピーク表示
  • などなど

何気にVisual Studio Market Place上のいくつかのMicrosoftパッケージはこれに統合されています。

https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.ProductivityPowerPack2017

一番うれしいのがHard TabとSoft Tab*2 が混じった時の統一ポップアップです。私はSoft Tab好きなのでUntabifyですねぇ。

まとめ

様々な拡張があります。なにげにVS2015とVS2017で引き継がれていない拡張も多いです。いい機会なので見直してだいぶん減らしました。

ReSharperも実は辞めました。Ctrl + TがVS2017だとCtrl + 1, Ctrl + Tなんですね、今知りました。

http://visualstudioshortcuts.com/2017/

*1:VS2017から起動に時間がかかるようになる原因のパッケージを教えてくれたりします。

*2:https://stackoverflow.com/questions/26350689/what-are-hard-and-soft-tabs




以上の内容はhttps://tech.guitarrapc.com/entry/2017/07/25/034154より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14