ReSharper 2019.2ヘルプ

Clang形式の使用

バージョン2017.2以降、C++ファイル(およびJavaScriptとTypeScriptファイルの一部)では、ReSharperはクラン形式(英語)で定義されている書式スタイルをサポートしています。デフォルトでは、Clang-Format設定ファイルは、書式設定の設定のソースとして自動的に使用されます。

Clang-Formatとは何ですか?そしてReSharperはそれをどのようにサポートしていますか?

Clang-Formatは広く使われているC++コードフォーマッタです。それはYAMLフォーマットのファイル( .clang-format または _clang-format )でコードスタイルオプションを定義するオプションを提供するため、これらのファイルは多くの場合、すべてのコードスタイルルールを保持するプロジェクトの一部になります。Clang-Formatスタイルのオプションの全リストと設定ファイルの例を見るためには、Clangフォーマットのドキュメント(英語)を調べましょう。

プロジェクトのコードスタイルがClang-Formatファイルで設定されている場合、ReSharperのコードフォーマットエンジンは自動的にこれらのスタイルのほとんどを C++ファイルのフォーマットに使用し、一部はJavaScriptおよびTypeScriptファイルに使用します。

ソリューションのClang-Format

デフォルトでは、Clang-Formatプロパティーは有効になっています。ReSharperとVisual StudioのオプションとEditorConfigスタイルで定義された設定を上書きします。ReSharperでコードフォーマットとコード構文のClang-Formatスタイルを無視するには、ReSharperオプションのコード編集 | 一般的なフォーマッタスタイルページで対応するチェックボックスをオフにします。

Clang-Formatサポートが有効になっていて、現在のファイルに影響を与える .clang-format または _clang-format ファイルがある場合、ReSharperはどのClang-Formatスタイルが適用され、どの設定がどこから来るのかを理解できます:

  • C++、JavaScript、およびTypeScriptのReSharperフォーマットオプションページでは、現在のファイルのClang-Formatスタイルによってページの少なくとも1つの設定が上書きされると黄色の警告が表示されます。オーバーライドされた各設定も黄色で強調表示されます。たとえば:

    Code formatting options overridden by Clang-Format styles

  • ファイルフォーマット情報ウィンドウでは、現在のファイルに影響を与えるすべての .clang-format および _clang-format ファイルを表示および調査できます。

    ReSharper. File Formatting Info window

サポートされているクラン形式オプション

オプション

言語でサポート

BasedOnStyleC++
AlignConsecutiveAssignmentsC++
AlignConsecutiveDeclarationsC++
AlignAfterOpenBracketC++
AlignOperandsC++
AlignTrailingCommentsC++
AllowShortCaseLabelsOnASingleLineC++
AlwaysBreakAfterDefinitionReturnTypeC++
AlwaysBreakAfterReturnTypeC++
AlwaysBreakTemplateDeclarationsC++
BinPackArgumentsC++
BinPackParametersC++

BreakBeforeBraces ( CustomLinuxのクラス定義を除く )

C++
BreakBeforeTernaryOperatorsC++
BreakConstructorInitializersBeforeCommaC++
ColumnLimit

C++ , JavaScript , TypeScript

ConstructorInitializerAllOnOneLineOrOnePerLineC++
IndentCaseLabelsC++
IndentWidth

C++ , JavaScript , TypeScript

IndentWrappedFunctionNamesC++
MaxEmptyLinesToKeepC++
NamespaceIndentationC++
PointerAlignmentC++
SpaceAfterCStyleCastC++
SpaceAfterTemplateKeywordC++
SpaceBeforeParensC++
SpacesInAnglesC++
SpacesInParenthesesC++
SpacesInSquareBracketsC++
TabWidth

C++ , JavaScript , TypeScript

UseTab

C++ , JavaScript , TypeScript

この機能は、次の言語とテクノロジでサポートされています。

Language: C#Language: VB.NETLanguage: C++Language: HTMLLanguage: ASP.NETLanguage: RazorLanguage: JavaScriptLanguage: TypeScriptLanguage: CSSLanguage: XMLLanguage: XAMLLanguage: ResxLanguage: Build ScriptsLanguage: ProtobufLanguage: JSON
Feature is not availableFeature is not availableFeature is availableFeature is not availableFeature is not availableFeature is not availableFeature is availableFeature is availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not available
最終更新日: 2019年8月16日

関連事項

関連ページ:

コードの書式設定ルールの管理と適用

コードスタイルの重要な点は、コードの書式設定方法、つまり、空白と空白行を使用してコードブロックを配置および分離する方法、インデントにタブを使用するかどうか、および使用する方法。多数のReSharperコードフォーマットルールには、デフォルトのVisual Studioフォーマットオプションと多数のベ...

EditorConfigの使用

どのフォーマットスタイルの設定がファイルフォーマット情報ウィンドウの現在のファイルに影響するかを見ることができます。ReSharperは、EditorConfig形式で定義されているコードフォーマットスタイル、コード構文スタイル、およびコードインスペクションの重大度をサポートしています。Matthe...

ファイルフォーマット情報ウィンドウ

このウィンドウでは、現在開いているファイルの書式スタイル設定について説明します。字下げの原因とその価値、インデント設定の自動検出のステータス。現在のファイルに影響するEditorConfigサポートとすべての.editorconfigファイルのステータス。現在のファイルに影響するStyleCopサポ...

言語によるReSharper: C++

C++のサポートは、ReSharper C++(ReSharperと一緒に、またはReSharper Ultimateと別々にまたは並行してインストールできる)の専用製品で使用できます。C++サポートはC、C++03、C++ / CLIと部分的にC++11、C++14、C++17、C++20を含みま...

ASP.NET MVC特有の機能

ReSharperには、一般的なASP.NET機能に加えて、ASP.NET MVCでの作業をより簡単にサポートする特殊機能があります。構文の強調表示:ASP.NET MVCメソッドの呼び出しとパラメータに対する特別な構文の強調表示コード補完:文字列リテラルでアクションとコントローラーを参照するための...

言語によるReSharper: MSビルド

MSBuildは、アプリケーションを構築するために広く使用されているプラットフォームです。特定のXMLタグを使用して、プロジェクトの構築方法や実行方法を定義できます。ReSharperを使用すると、より速く行うことができます。必要に応じて、ReSharperオプションのページで対応するチェックボック...