ReSharper 2019.1ヘルプ

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年6月7日

関連事項

関連ページ:

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

ReSharper | 編集 | コードの再フォーマットコードスタイルの重要な側面は、コードをどのように整形するか、すなわち、空白と空白を使用してコードブロックを整理し分割する方法、インデント用のタブを使用するかどうか、使用方法、長い行を折り返すかどうかなどです。多数のReSharperコードフォー...

EditorConfigの使用

どのフォーマットスタイルの設定がファイルフォーマット情報ウィンドウ(ReSharper | Windows | ファイルフォーマット情報)の現在のファイルに影響するかを見ることができます。ReSharperは、EditorConfig形式で定義されているコードフォーマットスタイル、コード構文スタイル...

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

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

言語別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オプションの環境 | 製品&特徴ペ...