0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 7
1

Форматирование кода в Visual Studio 2015

07.04.2016, 14:58. Показов 3878. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Среда Visual Studio 2015. Язык C#.
Проблема с форматирование при закрытии блока фигурной скобкой "}".
Должно быть так (так было в visual studio 2010 после форматирования):
C#
1
2
3
4
5
6
int uu = 1;
if (20 == 56)
    uu = 30;
else
    if (40 == 30)
        uu = 30;
а получается в итоге вот так:

C#
1
2
3
4
5
6
int uu = 1;
if (20 == 56)
    uu = 30;
else
if (40 == 30)
        uu = 30;
после Else оператор If не сдвигается.

А вот такой текст - вообще шедевр после форматирования закрывающей скобкой "}".

Было:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
            else
                if (SettingsProject.RunGUI == "1")
                {
                    Start1(aFileSetting);
                }
                else
                    if (SettingsProject.RunGUI == "3")
                    {
                        if (SettingsProject.UseConstructor == "F")
                            Start2(aFileSetting);
                        else
                            if (SettingsProject.UseConstructor == "S")
                                Start3(aFileSetting);
                    }
стало:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
           else
                if (SettingsProject.RunGUI == "1")
            {
                Start1(aFileSetting);
            }
            else
                    if (SettingsProject.RunGUI == "3") 
            {
                if (SettingsProject.UseConstructor == "F")
                    Start2(aFileSetting);
                else
                    if (SettingsProject.UseConstructor == "S")
                    Start3(aFileSetting);
            }
в visual Studio 2010 все было нормально, а вот в 2015 все криво работает. Может надо как-то настроить?

Добавлено через 5 минут
Среда Visual Studio 2015. Язык C#.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2016, 14:58
Ответы с готовыми решениями:

Форматирование кода в Visual Studio 2012
Подскажите, пожалуйста, как форматировать текст кода в студии (горячие клавиши), как например в...

Install Shield 2015 и Visual Studio 2015 Community
Как в Visual Studio 2015 Community интегрировать Install Shield что можно было создавать не...

Открыть проект Visual Studio 2015 в Visual Studio 2010
Здравствуйте не могу открыть проект созданный в Visual Studio 2015 в Visual Studio 2010.

Visual Studio 2015. Откат до Visual Studio 2012
Можно ли сделать откат к версии Visual Studio 2012, если установлена Visual Studio 2015?

6
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
09.04.2016, 02:16 2
Tools→Options...→Text Editor→C#→Formatting→Indentation→Indent open and close braces
0
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 7
11.04.2016, 08:51  [ТС] 3
ViterAlex, это не то. Установка этой галочки приводит к следующему:
было:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  
                        for (int j = 0; j < ListParams.Count; j++)
                        {
                            List<ClassElementOperator> ListParam = ListParams[j];
 
                            bool FlagParam = true;
                            if (LibElement.TypeLib == TTypeLibSys.tlsProcedure)
                            {
                                if (i < ListParams.Count - LibElement.CountResult)
                                    FlagParam = false;
                            }
                            else
                            {
                                if (i < ListParams.Count)
                                    FlagParam = false;
                            }
                        }
стало:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
                       for (int j = 0; j < ListParams.Count; j++)
                            {
                            List<ClassElementOperator> ListParam = ListParams[j];
 
                            bool FlagParam = true;
                            if (LibElement.TypeLib == TTypeLibSys.tlsProcedure)
                                {
                                if (i < ListParams.Count - LibElement.CountResult)
                                    FlagParam = false;
                                }
                            else
                                {
                                if (i < ListParams.Count)
                                    FlagParam = false;
                                }
                            }
Это не то, что мне надо.

У меня проблема с переносами при работе с операторами If и Else. Если везде расставлять фигурные скобки, то все будет ОК, а иначе все ломается как показано во втором моем примере.
0
Эксперт .NET
6452 / 4053 / 1599
Регистрация: 09.05.2015
Сообщений: 9,487
11.04.2016, 11:47 4
У меня есть предположение, что VS2015 трактует ваш код иначе
C#
1
2
3
4
5
6
int uu = 1;
if (20 == 56)
    uu = 30;
else
if (40 == 30)
        uu = 30;
превращается в
C#
1
2
3
4
5
int uu = 1;
if (20 == 56)
    uu = 30;
else if (40 == 30)
        uu = 30;
а т.к. else if обычно на одной строке, форматирования не происходит. Может конечно не в этом дело...
0
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 7
11.04.2016, 11:59  [ТС] 5
Получается, что в VS2015 изменили правила форматирования, т.к. в vs2010 из вот такого:
C#
1
2
3
4
5
6
7
8
1
 
int uu = 1;
if (20 == 56)
    uu = 30;
else
if (40 == 30)
        uu = 30;
получалось

C#
1
2
3
4
5
6
int uu = 1;
if (20 == 56)
    uu = 30;
else
    if (40 == 30)
        uu = 30;
после авто форматирования.
0
Эксперт .NET
6452 / 4053 / 1599
Регистрация: 09.05.2015
Сообщений: 9,487
11.04.2016, 12:25 6
Глянул декомпилированный код, там else if нету, что наводит на мысль что в VS2015 просто сломано форматирование если нет фигурных скобок (у меня так же форматируется как и у вас, свежая установка со всеми обновлениями). В любому случае я бы вам рекомендовал добавлять фигурные скобки чтобы не запутаться.
1
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 7
11.04.2016, 14:17  [ТС] 7
Someone007, да там по тексту очень много придется где расставлять (((. Я раньше брал опускался в самый конец в текстовом редакторе удалял и заново ставил скобку и было все ОК, а теперь надо ставить скобки везде чтоб нормально работало. Ну и ладно. спс.
0
11.04.2016, 14:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2016, 14:17
Помогаю со студенческими работами здесь

Даунгрейд до Visual Studio 2010 с Visual Studio 2015
В общем, вопрос не особо связан с кодом. Собрал я свой проект в VS 2015 Enterprise, залил на Git и...

Возникает ошибка при установке Visual C++ Redistributable for Visual Studio 2015
При установке visual c++ redistributable for visual studio 2015 возникает вот такая вот ошибка....

Не устанавливается Visual Studio 2015
При установке выкидывает такое окно(см. скрин). Подскажите, пожалуйста, что делать? Очень нужна...

Visual Studio 2015 Xamarin
Как запустить код который написан на VS2015 в Xamarin?(С#)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru