Как остановить визуальную студию, вставив пробел между определением функции и немедленным вызовом?
Я использую плагин JSLint для визуальной студии, чтобы поддерживать javascript в порядке, который, кажется, действительно работает отлично от этой проблемы.
Если я набираю
x = (function () {
}())
И затем положите точку с запятой в конец, Visual studio исправляет ее:
x = (function () {
} ());
И затем JSLint жалуется JS Lint: Unexpected space between '}' and '('.
Очевидно, что это можно устранить, удалив пространство, но визуальная студия очень устойчива в том, чтобы вернуть пространство. Вставка точки с запятой в любую часть функции, которая является большей частью файла, заставит VS поместить пространство обратно. Это начинает раздражать.
Я пробовал работать с настройками редактора Javascript на визуальной студии ( "вставить пробел после..." ), но, похоже, не может остановить это.
Другой способ, которым это можно было бы выразить, -
x = (function () {
})();
Какой VS оставляет в покое, но JSLint говорит JS Lint: Move the invocation into the parens that contain the function.
Так что там нет кубиков.
Любые предложения? Я знаю, что могу отключить бит JSLint, даже около этой последней строки файла, но это будет выглядеть грязно, я хотел бы сделать немного лучше.
Ответы
Ответ 1
У меня нет лучшего ответа, чем отключение проверки правил форматирования пробелов, но это очень неудачно. Насколько я могу судить, эта ситуация, описанная здесь, является единственным случаем, когда автоматическое форматирование визуальной студии и jslint сталкиваются таким образом, что вы не можете разумно настроить свой выход из.
Потеря всего пробела, проверяющего этот исходный файл, или потеря автоматической переформатации остальной части вашего JavaScript, - это оба подхода к этой проблеме с несколькими кувалдами. Мне бы хотелось увидеть другой креативный вариант, если у кого-то есть.
Ответ 2
ОБНОВЛЕННЫЙ ОТВЕТ ДЛЯ VS 2013:
В VS 2013 мы, похоже, больше контролируем. Откройте "Инструменты" > "Параметры", затем в разделе "Текстовый редактор" > "Javascript" > "Форматирование" > "Интервал" вы можете отменить выбор второго варианта, который гласит "Вставить пробел после ключевого слова функции для анонимных функций".
У меня был pic, но я не могу опубликовать его:).
Ответ 3
Прежде всего вы можете сделать Visual Studio не столь стойкой, если вы отключите некоторые настройки по умолчанию:
![enter image description here]()
Другой способ - следовать не так точно правилам форматирования JSlint. Вы можете просто включить
/*jslint white: true */
чтобы отключить правило форматирования пробел.