Почему Visual Studio использует различные настройки добавления отступа для C# и для C++?

Object.keys(obj.rowData)
      .map(key => ({ [key]: obj.rowData[key] }))

Получите ключи от объекта, используйте map, чтобы преобразовать его в массив и преобразовать в отдельные объекты.

РЕДАКТИРОВАТЬ:

export interface AuthBlock {
    "catText": {"catName": string}
    "rowData": {
        "userName": {"Username": string,"style": {"type": string, "width": number}}, 
        "password":{"Password": string,"style": {"type": string, "width": number}}, 
        "uId":{"User ID": string,"style": {"type": string, "width": number}}
    }[]
}

export class AuthRow {

    constructor(
        public authData: AuthBlock = {
            "catText": {"catName": "User Data"},
            // Open array here
            "rowData": [{
                "userName": {"Username": '',"style": {"type": "text", "width": 3}}, 
                "password":{"Password": '',"style": {"type": "password", "width": 5}}, 
                "uId":{"User ID": '',"style": {"type": "text", "width": 3}}
            }]
            // Close here
        }
    ){}
}
12
задан 7 March 2009 в 03:49
поделиться

7 ответов

Если Вы ищете абсолютно логическое, хорошо обоснованное выравнивание для этого различия, я не думаю, что Вы найдете тот. Несмотря на многие войны пламени вокруг вкладок по сравнению с пробелами действительно нет настоящего победителя (иначе, война была бы закончена).

Способ обойти это через .vssettings файл. Когда я сначала запустил с VS 2005, я установил значение по умолчанию вкладок/пробелов на каждом языке. Можно сделать это через Инструменты-> Опции-> Текстовый редактор-> (C#/C ++). Затем я экспортирую установки позиций табуляции в .vsssettings файл. Каждый раз, когда я устанавливаю VS на новой машине, я просто импортирую тот файл, и у меня есть свое счастливое пространство/установки позиций табуляции.

PS: правило пробелов :)

16
ответ дан 26 October 2019 в 10:47
поделиться

Я сомневаюсь, что существуют любые недостатки, поскольку грамматика C++ не различает вкладки и пробелы. Между прочим, я думаю, что лучший способ установить нормы стиля кода состоит в том, чтобы экспортировать настройки VS и совместно использовать его с командой.

1
ответ дан 26 October 2019 в 10:47
поделиться

Причина позади значения по умолчанию C#, которое 4 пробелов то, что, кто бы ни откроет файл, добавление отступа будет тем же.

Вы свободны изменить его, как Вам нравится в предпочтениях.

1
ответ дан 26 October 2019 в 10:47
поделиться

Поскольку Visual Studio C# использует 4 пробелов по умолчанию, тогда как для C++ это - твердые вкладки. Почему это так?

Почему нет?

Просто измените его, если Вы не счастливы.

0
ответ дан 26 October 2019 в 10:47
поделиться

Просто пойдите с тем, что Вы предпочитаете, я обычно использую вкладки в C++. Те, кто просматривает мой код все использование вкладки RE настроек VS по умолчанию так или иначе, таким образом, нет никакого реального получения по запросу для замены этого пробелами. Я не уверен, что как теперь, но когда F# был в своем младенчестве (т.е. довольно рано выпускают из MSR) необходимо было использовать пробелы в коде #light иначе, компилятор жаловался бы, поскольку пробел был важен.

У различных людей есть различные предпочтения, я знаю некоторых, кто неукоснительно использует пробелы, с другой стороны, я знаю больше что вкладки использования.

1
ответ дан 26 October 2019 в 10:47
поделиться

Пробелы затрудняют навигацию по коду с помощью клавиатуры.

С пробелами большинство людей будет использовать четыре пробела, но некоторые будут использовать два или три. С вкладками люди, которые хотят, чтобы их код был заключен в табуляцию с двумя пробелами, могут просто установить символ табуляции так, чтобы он отображался шириной до двух пробелов, при этом стиль кодирования остается неизменным.

Если вы используете пробелы для табуляции в любом HTML, CSS или JavaScript, вы делаете это неправильно. Для html / css / js нет споров о табуляции и пробелах - это либо табуляции, либо незнание. Клиентский код не компилируется, и в IIS по умолчанию не включено сжатие - лишние пробелы = лишний жир.

Когда-то VB6 не давал нам возможности использовать вкладки, но теперь мы можем и должны - если вы этого не сделаете, ваш код будет выглядеть так, будто вы все еще цепляетесь за старые школьные методы.

Так что прекратите кодировать, как будто это 1999 год. Используйте вкладки. Сделайте это для детей.

-1
ответ дан 26 October 2019 в 10:47
поделиться

Конечно, Tabs - единственный правильный способ. Tab может делать все, что могут делать пробелы. Пробелы не могут сделать многое из того, что может сделать таб.

Табуляция позволяет легко изменять отступы и легко перемещаться без необходимости многократно нажимать клавиши со стрелками и удерживать клавиши управления.

Реальное решение состоит в том, чтобы редактор мог перемещаться по файлу с отступом табуляции, как если бы он был с отступом пробела, если пользователь предпочитает это. Файл будет сохраняться с табуляцией. Очень просто и удобно для всех.

Проблема в c# 2010 в том, что я не могу найти никакой опции, чтобы изменить его на табуляцию.

4
ответ дан 26 October 2019 в 10:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: