Compare commits
12 Commits
screenshot
...
master
| Author | SHA1 | Date |
|---|---|---|
|
|
129c447646 | |
|
|
154f432e24 | |
|
|
705ac047d2 | |
|
|
2b089b4a08 | |
|
|
11d6f26c67 | |
|
|
3ff00ec28d | |
|
|
3942f6f2c4 | |
|
|
286cfca38c | |
|
|
d683527d54 | |
|
|
ff76f7fb26 | |
|
|
5ebfcb0847 | |
|
|
73e208f52c |
|
|
@ -1,2 +1,2 @@
|
|||
Policies/Default.mdpolicy.xml.previous
|
||||
Policies/Default.mdpolicy.xml
|
||||
*.previous
|
||||
|
|
|
|||
|
|
@ -1,231 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Policies>
|
||||
<PolicySet name="Default" id="Default">
|
||||
<DotNetNamingPolicy>
|
||||
<DirectoryNamespaceAssociation>PrefixedHierarchical</DirectoryNamespaceAssociation>
|
||||
<ResourceNamePolicy>FileName</ResourceNamePolicy>
|
||||
</DotNetNamingPolicy>
|
||||
<VersionControlPolicy inheritsSet="Mono" />
|
||||
<TextStylePolicy inheritsSet="VisualStudio" inheritsScope="text/plain" scope="text/plain" />
|
||||
<TextStylePolicy inheritsSet="Mono" inheritsScope="text/plain" scope="text/x-csharp">
|
||||
<FileWidth>120</FileWidth>
|
||||
<TabWidth>4</TabWidth>
|
||||
<NoTabsAfterNonTabs>True</NoTabsAfterNonTabs>
|
||||
</TextStylePolicy>
|
||||
<CSharpFormattingPolicy inheritsSet="Mono" inheritsScope="text/x-csharp" scope="text/x-csharp">
|
||||
<IndentSwitchBody>True</IndentSwitchBody>
|
||||
<PropertyBraceStyle>NextLine</PropertyBraceStyle>
|
||||
<PropertyGetBraceStyle>NextLine</PropertyGetBraceStyle>
|
||||
<PropertySetBraceStyle>NextLine</PropertySetBraceStyle>
|
||||
<EventBraceStyle>NextLine</EventBraceStyle>
|
||||
<EventAddBraceStyle>NextLine</EventAddBraceStyle>
|
||||
<EventRemoveBraceStyle>NextLine</EventRemoveBraceStyle>
|
||||
<StatementBraceStyle>NextLine</StatementBraceStyle>
|
||||
<ForBraceForcement>AddBraces</ForBraceForcement>
|
||||
<ElseNewLinePlacement>NewLine</ElseNewLinePlacement>
|
||||
<ElseIfNewLinePlacement>SameLine</ElseIfNewLinePlacement>
|
||||
<CatchNewLinePlacement>NewLine</CatchNewLinePlacement>
|
||||
<FinallyNewLinePlacement>NewLine</FinallyNewLinePlacement>
|
||||
<WhileNewLinePlacement>NewLine</WhileNewLinePlacement>
|
||||
<BeforeMethodDeclarationParentheses>False</BeforeMethodDeclarationParentheses>
|
||||
<BeforeMethodCallParentheses>False</BeforeMethodCallParentheses>
|
||||
<BeforeConstructorDeclarationParentheses>False</BeforeConstructorDeclarationParentheses>
|
||||
<BeforeIndexerDeclarationBracket>False</BeforeIndexerDeclarationBracket>
|
||||
<BeforeDelegateDeclarationParentheses>False</BeforeDelegateDeclarationParentheses>
|
||||
<NewParentheses>False</NewParentheses>
|
||||
<BeforeNewParameterComma>True</BeforeNewParameterComma>
|
||||
<SpacesBeforeBrackets>False</SpacesBeforeBrackets>
|
||||
</CSharpFormattingPolicy>
|
||||
<StandardHeader>
|
||||
<Text />
|
||||
<IncludeInNewFiles>True</IncludeInNewFiles>
|
||||
</StandardHeader>
|
||||
<NameConventionPolicy>
|
||||
<Rules>
|
||||
<NamingRule>
|
||||
<Name>Namespaces</Name>
|
||||
<AffectedEntity>Namespace</AffectedEntity>
|
||||
<VisibilityMask>VisibilityMask</VisibilityMask>
|
||||
<NamingStyle>PascalCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Types</Name>
|
||||
<AffectedEntity>Class, Struct, Enum, Delegate</AffectedEntity>
|
||||
<VisibilityMask>VisibilityMask</VisibilityMask>
|
||||
<NamingStyle>PascalCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Interfaces</Name>
|
||||
<RequiredPrefixes>
|
||||
<String>I</String>
|
||||
</RequiredPrefixes>
|
||||
<AffectedEntity>Interface</AffectedEntity>
|
||||
<VisibilityMask>VisibilityMask</VisibilityMask>
|
||||
<NamingStyle>PascalCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Attributes</Name>
|
||||
<RequiredSuffixes>
|
||||
<String>Attribute</String>
|
||||
</RequiredSuffixes>
|
||||
<AffectedEntity>CustomAttributes</AffectedEntity>
|
||||
<VisibilityMask>VisibilityMask</VisibilityMask>
|
||||
<NamingStyle>PascalCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Event Arguments</Name>
|
||||
<RequiredSuffixes>
|
||||
<String>EventArgs</String>
|
||||
</RequiredSuffixes>
|
||||
<AffectedEntity>CustomEventArgs</AffectedEntity>
|
||||
<VisibilityMask>VisibilityMask</VisibilityMask>
|
||||
<NamingStyle>PascalCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Exceptions</Name>
|
||||
<RequiredSuffixes>
|
||||
<String>Exception</String>
|
||||
</RequiredSuffixes>
|
||||
<AffectedEntity>CustomExceptions</AffectedEntity>
|
||||
<VisibilityMask>VisibilityMask</VisibilityMask>
|
||||
<NamingStyle>PascalCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Methods</Name>
|
||||
<AffectedEntity>Methods</AffectedEntity>
|
||||
<VisibilityMask>VisibilityMask</VisibilityMask>
|
||||
<NamingStyle>PascalCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Static Readonly Fields</Name>
|
||||
<AffectedEntity>ReadonlyField</AffectedEntity>
|
||||
<VisibilityMask>Internal, Protected, Public</VisibilityMask>
|
||||
<NamingStyle>PascalCase</NamingStyle>
|
||||
<IncludeInstanceMembers>False</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Fields (Non Private)</Name>
|
||||
<AffectedEntity>Field</AffectedEntity>
|
||||
<VisibilityMask>Internal, Protected, Public</VisibilityMask>
|
||||
<NamingStyle>PascalCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>ReadOnly Fields (Non Private)</Name>
|
||||
<AffectedEntity>ReadonlyField</AffectedEntity>
|
||||
<VisibilityMask>Internal, Protected, Public</VisibilityMask>
|
||||
<NamingStyle>PascalCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>False</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Fields (Private)</Name>
|
||||
<AllowedPrefixes>
|
||||
<String>_</String>
|
||||
<String>m_</String>
|
||||
</AllowedPrefixes>
|
||||
<AffectedEntity>Field, ReadonlyField</AffectedEntity>
|
||||
<VisibilityMask>Private</VisibilityMask>
|
||||
<NamingStyle>CamelCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>False</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Static Fields (Private)</Name>
|
||||
<AffectedEntity>Field</AffectedEntity>
|
||||
<VisibilityMask>Private</VisibilityMask>
|
||||
<NamingStyle>CamelCase</NamingStyle>
|
||||
<IncludeInstanceMembers>False</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>ReadOnly Fields (Private)</Name>
|
||||
<AllowedPrefixes>
|
||||
<String>_</String>
|
||||
<String>m_</String>
|
||||
</AllowedPrefixes>
|
||||
<AffectedEntity>ReadonlyField</AffectedEntity>
|
||||
<VisibilityMask>Private</VisibilityMask>
|
||||
<NamingStyle>CamelCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>False</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Constant Fields</Name>
|
||||
<AffectedEntity>ConstantField</AffectedEntity>
|
||||
<VisibilityMask>VisibilityMask</VisibilityMask>
|
||||
<NamingStyle>PascalCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Properties</Name>
|
||||
<AffectedEntity>Property</AffectedEntity>
|
||||
<VisibilityMask>VisibilityMask</VisibilityMask>
|
||||
<NamingStyle>PascalCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Events</Name>
|
||||
<AffectedEntity>Event</AffectedEntity>
|
||||
<VisibilityMask>VisibilityMask</VisibilityMask>
|
||||
<NamingStyle>PascalCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Enum Members</Name>
|
||||
<AffectedEntity>EnumMember</AffectedEntity>
|
||||
<VisibilityMask>VisibilityMask</VisibilityMask>
|
||||
<NamingStyle>PascalCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Parameters</Name>
|
||||
<AffectedEntity>Parameter</AffectedEntity>
|
||||
<VisibilityMask>VisibilityMask</VisibilityMask>
|
||||
<NamingStyle>CamelCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Type Parameters</Name>
|
||||
<RequiredPrefixes>
|
||||
<String>T</String>
|
||||
</RequiredPrefixes>
|
||||
<AffectedEntity>TypeParameter</AffectedEntity>
|
||||
<VisibilityMask>VisibilityMask</VisibilityMask>
|
||||
<NamingStyle>PascalCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
<NamingRule>
|
||||
<Name>Local Variables</Name>
|
||||
<AffectedEntity>LocalVariable</AffectedEntity>
|
||||
<VisibilityMask>VisibilityMask</VisibilityMask>
|
||||
<NamingStyle>CamelCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
<IncludeStaticEntities>True</IncludeStaticEntities>
|
||||
</NamingRule>
|
||||
</Rules>
|
||||
</NameConventionPolicy>
|
||||
</PolicySet>
|
||||
</Policies>
|
||||
|
|
@ -1,9 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Policies>
|
||||
<PolicySet name="Touchin">
|
||||
<TextStylePolicy inheritsSet="Mono" inheritsScope="text/plain" scope="text/plain">
|
||||
<TextStylePolicy inheritsSet="VisualStudio" inheritsScope="text/plain" scope="text/plain">
|
||||
<FileWidth>120</FileWidth>
|
||||
<TabWidth>4</TabWidth>
|
||||
<IndentWidth>4</IndentWidth>
|
||||
<TabsToSpaces>False</TabsToSpaces>
|
||||
<NoTabsAfterNonTabs>True</NoTabsAfterNonTabs>
|
||||
</TextStylePolicy>
|
||||
<VersionControlPolicy inheritsSet="Mono" />
|
||||
|
|
@ -17,6 +19,7 @@
|
|||
<EventAddBraceStyle>NextLine</EventAddBraceStyle>
|
||||
<EventRemoveBraceStyle>NextLine</EventRemoveBraceStyle>
|
||||
<StatementBraceStyle>NextLine</StatementBraceStyle>
|
||||
<IfElseBraceForcement>AddBraces</IfElseBraceForcement>
|
||||
<ForBraceForcement>AddBraces</ForBraceForcement>
|
||||
<WhileBraceForcement>AddBraces</WhileBraceForcement>
|
||||
<ElseNewLinePlacement>NewLine</ElseNewLinePlacement>
|
||||
|
|
@ -175,7 +178,7 @@
|
|||
<RequiredPrefixes>
|
||||
<String>_</String>
|
||||
</RequiredPrefixes>
|
||||
<AffectedEntity>Field</AffectedEntity>
|
||||
<AffectedEntity>Field, ReadonlyField</AffectedEntity>
|
||||
<VisibilityMask>Private, Protected</VisibilityMask>
|
||||
<NamingStyle>CamelCase</NamingStyle>
|
||||
<IncludeInstanceMembers>True</IncludeInstanceMembers>
|
||||
|
|
@ -195,7 +198,9 @@
|
|||
<TextStylePolicy inheritsSet="Mono" inheritsScope="text/plain" scope="text/x-csharp">
|
||||
<FileWidth>120</FileWidth>
|
||||
<TabWidth>4</TabWidth>
|
||||
<IndentWidth>4</IndentWidth>
|
||||
<NoTabsAfterNonTabs>True</NoTabsAfterNonTabs>
|
||||
<TabsToSpaces>False</TabsToSpaces>
|
||||
</TextStylePolicy>
|
||||
<DotNetNamingPolicy>
|
||||
<DirectoryNamespaceAssociation>PrefixedHierarchical</DirectoryNamespaceAssociation>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,64 @@
|
|||
# monodevelop-settings
|
||||
У этого проекта две основные цели. Во-первых, упрощение внедрения стиля кодирования. Во-вторых, сохранение и распространение лучших практик использования MonoDevelop.
|
||||
## Что внутри?
|
||||
* Настройки для автоматического форматирования кода.
|
||||
* Настройки именования.
|
||||
* Настройки хоткеев.
|
||||
* Code templates(ctor) адаптированные под наш стиль кодирования.
|
||||
|
||||
## Как установить настройки?
|
||||
Настройки устанавливаются простым клонированием репозитория в нужную папку.
|
||||
```bash
|
||||
mkdir ~/Library/MonoDevelop-3.0-orig/
|
||||
cp -R ~/Library/MonoDevelop-3.0/ ~/Library/MonoDevelop-3.0-orig/
|
||||
rm -rf ~/Library/MonoDevelop-3.0/
|
||||
git clone https://github.com/gaech/monodevelop-settings.git ~/Library/MonoDevelop-3.0/
|
||||
```
|
||||
### Пользователям Windows
|
||||
Пользователи Windows клонируют репозиторий в любое удобное место на компьютере, и далее ручками копируют папки Policies и Snippets в папку
|
||||
```
|
||||
C:\Users\%USERNAME%\AppData\Roaming\MonoDevelop-X.X
|
||||
```
|
||||
Копировать папку KeyBindings, равно как и делать репозиторий напрямую в папке настроек монодевелопа, не рекомендуется. У макоси нет клавиши Control, а у винды нет клавиши Meta, так что их хоткеи несовместимы.
|
||||
|
||||
После успешного клонирования надо изменить глобальные настройки MonoDevelop. `MonoDevelop → Preferences...`
|
||||
В разделе `Source code → .NET Naming Policies` выставляем `Policy: Touchin`
|
||||
|
||||

|
||||
|
||||
В разделе `Source code → Code Formatting → C# source code` выставляем `Policy: Touchin`
|
||||
|
||||

|
||||
|
||||
В разделе `Source code → Name Conventions` выставляем `Policy: Touchin` (для Monodeveop 2.8 и младше, походу, неактуально)
|
||||
|
||||

|
||||
|
||||
Для того чтобы MonoDevelop выделял места, где нарушается соглашение о кодировании, можно включить анализ кода `Other → Source Analysis`
|
||||
|
||||

|
||||
|
||||
Настройки будут влиять на новые проекты и решения. В существующих надо изменить настройки вручную.
|
||||
|
||||
Если по какой-то причине вы не хотите использовать все общие настройки, то можно скопировать отдельно нужны вам файлы.
|
||||
|
||||
## Обновление настроек
|
||||
```bash
|
||||
cd ~/Library/MonoDevelop-3.0/
|
||||
git pull origin master
|
||||
```
|
||||
|
||||
Пользователи Windows делают почти то же самое, но в другую папку, и потом ручками заново копируют нужные настройки в AppData.
|
||||
|
||||
## Как поделиться своими наработками?
|
||||
* Сделать fork проекта. Для этого достаточно нажать кнопку Fork на этой странице.
|
||||
* Склонировать форк.
|
||||
* Закоммитить свои изменения.
|
||||
* Отправить изменения в основной репозиторий. Это делается с помощью кнопки Pull request.
|
||||
|
||||
## Ссылки
|
||||
* https://github.com/gaech/coding-style
|
||||
|
||||
## TODO
|
||||
* Подсказка по хоткеям MonoDevelop
|
||||
* Подсказка по шаблонам кода
|
||||
Loading…
Reference in New Issue