Как мне остановить Visual Studio, вставляя пробел между определением функции и немедленным вызовом? - PullRequest
10 голосов
/ 06 сентября 2011

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

Если я наберу

x = (function () {
}())

, а затем поставлю точку с запятой в конце, Visual Studio исправит его следующим образом:

x = (function () {
} ());

И затем JSLint жалуется JS Lint: Unexpected space between '}' and '('.

Очевидно, что это можно исправить, удалив пространство, но Visual Studio очень настойчиво возвращает пространство назад.Установка точки с запятой в любом месте внутри функции, которая составляет большую часть файла, приведет к тому, что VS вернет пространство назад.Это начинает раздражать.

Я пытался поиграться с настройками редактора Javascript для Visual Studio («вставить пробел после ...»), но, похоже, не могу это остановить.

Еще один способ выразить это:

x = (function () {
})();

Какой VS оставляет в покое, но JSLint говорит JS Lint: Move the invocation into the parens that contain the function. Так что никаких кубиков нет.

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

Ответы [ 3 ]

8 голосов
/ 30 мая 2014

ОБНОВЛЕННЫЙ ОТВЕТ ЗА VS 2013:

В VS 2013 у нас больше контроля. Перейдите в меню «Инструменты»> «Параметры», затем в разделе «Текстовый редактор»> «Javascript»> «Форматирование»> «Интервал» можно отменить выбор второго по значению параметра «Вставить пробел после ключевого слова функции для анонимных функций».

У меня была картинка, но я не могу ее опубликовать:).

6 голосов
/ 06 сентября 2011

Прежде всего вы можете сделать Visual Studio не таким постоянным, если отключите некоторые настройки по умолчанию:

enter image description here

Другой способ - следовать не очень точным правилам форматирования JSlint. Вы можете просто включить

/*jslint white: true */

для отключения правила форматирования пробел .

2 голосов
/ 14 марта 2012

У меня нет лучшего ответа, чем отключение проверки правил форматирования пробелов, но это очень прискорбно.Насколько я могу судить, эта описанная здесь ситуация является единственным случаем, когда автоматическое форматирование Visual Studio и jslint сталкиваются так, что вы не можете разумно настроить выход.этот исходный файл, или потеря автоматического переформатирования остальной части вашего JavaScript, является несколько кувалдой подходами к этой проблеме.Я хотел бы видеть другой творческий выбор, если у кого-то есть такой.

...