Definování konzistentních stylů kódování pomocí EditorConfig
Pokud chcete vynutit konzistentní styly kódování pro všechny, kteří pracují v základu kódu, můžete do svého řešení nebo projektu přidat soubor .editorConfig
. Nastavení souboru EditorConfig dodržuje specifikaci formátu souboru, kterou udržuje EditorConfig.org. Mnoho editorů kódu a aplikací podporuje soubory EditorConfig, včetně sady Visual Studio. Vzhledem k tomu, že nastavení jsou v souboru, doprovází váš kód a dá se použít i mimo Visual Studio.
V sadě Visual Studio mají nastavení souboru EditorConfig přednost před různými globálními nastaveními textového editoru, která jsou dostupná v části nástroje Nástroje>Možnosti>Textový editor>C/C++>styl kódu. Pomocí souboru EditorConfig můžete přizpůsobit každý základ kódu tak, aby používal nastavení textového editoru specifické pro daný projekt.
Soubor EditorConfig můžete ručně naplnit nebo ho automaticky vygenerovat na základě nastavení stylu kódu, které jste vybrali v sadě Visual Studio. Pokud chcete vytvořit nový soubor .editorconfig
na základě aktuálního nastavení sady Visual Studio, v hlavní nabídce sady Visual Studio zvolte Tools>Options>Text Editor>C/C++>Code Style. Pak zvolte Vygenerovat soubor .editorconfig z nastavení. Zvolte složku, ve které je projekt, a potom zvolte Vyberte složku a uložte .editorconfig
soubor.
Pokud používáte soubor EditorConfig, můžete v textovém editoru sady Visual Studio dál nastavit vlastní předvolby editoru. Tato nastavení textového editoru platí vždy, když pracujete v základu kódu bez souboru EditorConfig nebo když soubor EditorConfig nepřepíše konkrétní nastavení. Příkladem takové preference je například to, zda použít tabulátory nebo mezery pro styl odsazení kódu.
Když do projektu v sadě Visual Studio přidáte soubor EditorConfig, budou na základě nastavení EditorConfig formátovány pouze nové řádky kódu. Formátování existujícího kódu se nezmění, pokud nespustíte jeden z následujících příkazů:
-
V editoru sady Visual Studio vyberte Vyčištění kódu nebo stiskněte Ctrl+K, Ctrl+E. Tento příkaz se vztahuje na nastavení prázdných znaků, například styl odsazení a vybraná nastavení stylu kódu, jako jsou předvolby závorek.
Formátovat dokument
Vyberte Upravit>>Formát dokumentunebo stiskněte Ctrl+K, Ctrl+D ve výchozím profilu. Tento příkaz se vztahuje pouze na nastavení mezer, jako je například styl odsazení.
Konzistence kódu
Nastavení souborů EditorConfig umožňuje udržovat konzistentní styly a konvence kódování v základu kódu bez ohledu na editor nebo integrované vývojové prostředí, které používáte. Některé styly kódování, které můžete řídit, jsou styl odsazení, šířka tabulátoru, znaky konce řádku a kódování. Například pokud má vaše kódová základna jazyka C# konvenci, že odsazení používají pět mezer, dokumenty používají kódování UTF-8 a řádky končí CR/LF, můžete nakonfigurovat soubor EditorConfig, aby tuto konvenci používal.
Soubory EditorConfig jsou užitečné, když se konvence kódování, které používáte ve svých osobních projektech, liší od těchto konvencí používaných v projektech vašeho týmu. Například můžete chtít, aby odsazení v kódu přidávalo znak tabulátoru. Váš tým ale může raději přidat čtyři mezery. Soubory EditorConfig tento problém vyřeší tím, že vám umožní mít konfiguraci pro každý scénář.
Vzhledem k tomu, že soubor .editorconfig
v základu kódu obsahuje nastavení EditorConfig, cestují spolu s tímto základem kódu. Pokud otevřete soubor kódu v editoru kompatibilním s editorem EditorConfig, aktivují se nastavení textového editoru.
Poznámka
Konvence nastavené v souboru EditorConfig nelze v kanálu CI/CD vynutit jako chyby nebo varování při sestavení. Jakékoliv odchylky stylu se zobrazí pouze v editoru sady Visual Studio a Seznam chyb.
Podporovaná nastavení
Editor v sadě Visual Studio podporuje základní sadu vlastností EditorConfig:
- indent_style
- indent_size
- tab_width
- konec_řádku
- znaková sada
- trim_trailing_whitespace
- insert_final_newline
- kořen
EditorConfig podporuje všechny jazyky podporované sadou Visual Studio s výjimkou nastavení editoru EditorConfig podpory XML.
EditorConfig podporuje konvence stylu kódu, včetně jazykových, formátovánía konvencí pojmenování pro jazyk C# a Visual Basic.
Přidání a odebrání souborů EditorConfig
Když do projektu nebo základu kódu přidáte soubor EditorConfig, Visual Studio naformátuje všechny nové řádky kódu, které napíšete, podle nastavení souboru EditorConfig. Visual Studio ale nepřevádí existující styly na nové, dokud dokument nenaformátujete nebo spustíte Vyčištění kódu. Například pokud jsou odsazení ve vašem souboru formátována pomocí tabulátorů a přidáte soubor EditorConfig, který formátuje odsazení mezerami, znaky odsazení se automaticky nepřevedou na mezery. Při formátování dokumentu (vyberte Upravit>Rozšířené>Formát dokumentu nebo stiskněte Ctrl+K, Ctrl+D), nastavení prázdných znaků v souboru EditorConfig se použije na existující řádky kódu.
Pokud odeberete soubor EditorConfig z projektu nebo základu kódu, musíte zavřít a znovu otevřít všechny otevřené soubory kódu pro globální nastavení editoru, aby se projevily nové řádky kódu.
Přidání souboru EditorConfig do projektu
Pokud chcete do projektu nebo řešení přidat soubor EditorConfig, postupujte takto:
Otevřete projekt nebo řešení v sadě Visual Studio. Vyberte buď řešení, nebo uzel projektu v závislosti na tom, jestli se má nastavení EditorConfig použít pro všechny projekty v řešení, nebo jenom pro jeden. Můžete také vybrat složku v projektu nebo řešení, do které chcete přidat soubor
.editorconfig
.V nabídce zvolte Project>Přidat novou položkunebo stiskněte Ctrl+Shift+.
Otevře se dialogové okno Přidat novou položku.
Do vyhledávacího pole zadejte editorconfig.
Ve výsledcích hledání se zobrazují dvě šablony souborů položek editorconfig .
Vyberte šablonu editorconfig File (empty) a přidejte předem vyplněný soubor EditorConfig s výchozími možnostmi EditorConfig pro prázdné znaky, styl kódu a zásady vytváření názvů. Nebo vyberte šablonu souboru editorconfig (.NET) a přidejte předem vyplněný soubor EditorConfig s výchozími prázdnými znaky, stylem kódu a zásadami vytváření názvů.
V Průzkumníku řešení se zobrazí nový soubor
.editorconfig
a otevře se v editoru jako nová karta.Volitelně upravte soubor a pak ho uložte.
Další způsoby přidání souboru EditorConfig
Existuje několik dalších způsobů, jak do projektu přidat soubor EditorConfig:
Pomocí IntelliCode pro Visual Studio vygenerujte soubor
.editorconfig
ve vašem řešení. V Průzkumníku řešení klikněte pravým tlačítkem a v místní nabídce vyberte Přidat>New EditorConfig (IntelliCode). IntelliCode pro Visual Studio odvodí styly kódu z existujícího kódu a pak vytvoří soubor EditorConfig s předdefinovanými předvolbami stylu kódu.automaticky vygenerovat soubor EditorConfig na základě nastavení stylu kódu.
Hierarchie souborů a priorita
Když přidáte soubor .editorconfig
do složky v hierarchii souborů, jeho nastavení platí pro všechny příslušné soubory na této úrovni a nižší. Můžete také přepsat nastavení EditorConfig pro konkrétní projekt, základ kódu nebo část základu kódu, aby používal jiné konvence než jiné části základu kódu. To může být užitečné při začlenění kódu odjinud a nechcete měnit jeho konvence.
Postupujte podle těchto pokynů:
Pokud chcete přepsat některá nebo všechna nastavení EditorConfig, přidejte soubor pojmenovaný
.editorconfig
na úrovni hierarchie souborů, na kterou chcete, aby se tato přepsaná nastavení vztahovala. Nové nastavení souboru EditorConfig platí pro soubory na stejné úrovni a soubory v libovolném podadresáři.Pokud chcete některá nastavení přepsat, ale ne všechna nastavení, zadejte pouze tato nastavení v souboru
.editorconfig
. Přepíše se pouze vlastnosti, které explicitně vypíšete v souboru.editorconfig
nižší úrovně. Další nastavení ze všech souborů vyšší úrovně.editorconfig
se budou dál používat.Pokud chcete zajistit, aby v této části základu kódu nebyla použita žádná nastavení z žádného souboru
.editorconfig
vyšší úrovně, přidejte vlastnostroot=true
do souboru.editorconfig
nižší úrovně.# top-most EditorConfig file for this level root = true
Soubory EditorConfig se čtou shora dolů. Pokud existuje více vlastností se stejným názvem, má přednost vlastnost naposledy nalezená se stejným názvem.
Úprava souborů EditorConfig
Visual Studio 2022 poskytuje vizuální editor pro soubory EditorConfig.
Po úpravě souboru EditorConfig je nutné znovu načíst soubory kódu, aby se nové nastavení projevilo.
Visual Studio vám pomůže upravovat soubory EditorConfig tím, že poskytuje seznamy dokončování IntelliSense. Například:
Pokud upravujete mnoho souborů EditorConfig, můžete najít rozšíření EditorConfig Language Service užitečné. Mezi funkce tohoto rozšíření patří zvýrazňování syntaxe, vylepšená technologie IntelliSense, ověřování a formátování kódu.
Příklad
Následující příklad ukazuje stav odsazení fragmentu kódu jazyka C# před a po přidání souboru EditorConfig do projektu:
V dialogovém okně Nástroje>Možnosti nastavte Textový editor>>karet jazyka C# nastavení textového editoru sady Visual Studio, aby se při stisknutí klávesy Tab vytvořily čtyři znaky mezery.
Když stisknete klávesu Tab v dalším řádku, řádek se odsadí přidáním čtyř mezer.
Pomocí EditorConfig přepněte nastavení na použití tabulátorů.
V souboru EditorConfig vyberte Použít tabulátory.
Do projektu přidejte nový soubor s názvem
.editorconfig
s následujícím obsahem. Indikátor[*.cs]
znamená, že tato změna se vztahuje pouze na soubory kódu jazyka C# v projektu.# Top-most EditorConfig file root = true # Tab indentation [*.cs] indent_style = tab
Když stisknete klávesu tabulátoru, zobrazí se místo mezer znaky tabulátoru.
Řešení potíží s nastavením EditorConfig
Pokud soubor EditorConfig existuje kdekoli v adresářové struktuře v umístění projektu nebo výše, Visual Studio použije nastavení editoru v daném souboru na váš editor. V tomto případě se na stavovém řádku může zobrazit následující zpráva:
User preferences for this file type are overridden by this project's coding conventions.
To znamená, že pokud jsou některá nastavení editoru v Tools>Options>Text Editor (například velikost a styl odsazení, velikost tabulátoru nebo konvence kódování) zadána v souboru EditorConfig v rámci projektu nebo nad ním v adresářové struktuře, konvence v souboru EditorConfig převládnou nad nastavením v Textovém editoru.
Při řešení potíží s EditorConfig postupujte takto:
Pokud chcete podporu EditorConfig pro Visual Studio vypnout, zrušte zaškrtnutí políčka Sledovat konvence kódování projektu v Tools>Options>Text Editor.
Pokud chcete najít všechny soubory EditorConfig v nadřazených adresářích projektu, otevřete příkazový řádek a spusťte následující příkaz z kořenového adresáře disku, který obsahuje váš projekt.
dir .editorconfig /s
Pokud chcete řídit rozsah konvencí EditorConfig, nastavte vlastnost
root=true
v souboru.editorconfig
v kořenovém adresáři úložiště nebo v adresáři, ve kterém se projekt nachází.Visual Studio hledá soubor s názvem
.editorconfig
v adresáři otevřeného souboru a v každém nadřazeném adresáři. Hledání skončí, když dosáhne kořenové cesty souborového systému, nebo pokud se najde.editorconfig
soubor sroot=true
.