Как изменить табуляцию в visual studio code
Перейти к содержимому

Как изменить табуляцию в visual studio code

  • автор:

Табуляция в файле css [закрыт]

Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.

Вопросы с просьбами помочь с отладкой («почему этот код не работает?») должны включать желаемое поведение, конкретную проблему или ошибку и минимальный код для её воспроизведения прямо в вопросе. Вопросы без явного описания проблемы бесполезны для остальных посетителей. См. Как создать минимальный, самодостаточный и воспроизводимый пример.

Закрыт 5 лет назад .

введите сюда описание изображения

Как сделать табуляцию в данном файле с помощью VS Code ?

Как настроить табуляцию в Visual Studio Code

Visual Studio Code (VS Code) является одним из самых популярных текстовых редакторов для разработки программного обеспечения. Он обладает множеством функциональных возможностей, включая возможность настройки табуляции.

Табуляция в редакторе является важным аспектом для удобного и эффективного написания кода. В VS Code вы можете настроить табуляцию под свои предпочтения и стандарты команды. Это позволяет сохранять единообразие форматирования в проекте и делать код более читаемым для других разработчиков.

Для настройки табуляции в VS Code можно использовать различные методы. Один из способов — это использовать глобальные настройки редактора, что позволяет применить одинаковые настройки табуляции для всех файлов. Alternativamente, вы можете настроить табуляцию индивидуально для каждого типа файла с помощью файла конфигурации workspace или language-specific файлов конфигурации. Кроме того, VS Code предлагает возможность включения автоматического определения настроек табуляции из файла .editorconfig, если он присутствует в проекте.

Установка Visual Studio Code

1. Перейдите на официальный сайт Visual Studio Code по адресу https://code.visualstudio.com/.
2. На главной странице найдите раздел «Скачать» и выберите версию, соответствующую вашей операционной системе (Windows, macOS или Linux).
3. После выбора версии начнется загрузка установочного файла.
4. Запустите загруженный установочный файл и следуйте инструкциям мастера установки. Просто нажимайте кнопку «Далее» до завершения установки.
5. После завершения установки, запустите Visual Studio Code. Теперь вы можете начать использовать его для разработки.

Установка Visual Studio Code проста и требует минимальных усилий. После установки вы сможете настроить среду разработки под свои потребности и начать создавать проекты с удобством.

Панель настроек

В Visual Studio Code для настройки табуляции можно воспользоваться панелью настроек. Панель настроек предоставляет набор ключей и значений, которые можно изменить в соответствии с потребностями разработчика.

Для открытия панели настроек в Visual Studio Code можно использовать команду «Preferences: Open Settings» из главного меню или нажать комбинацию клавиш «Ctrl + ,».

Панель настроек представлена двумя разделами – настройки пользователя и настройки рабочей области. Настройки пользователя применяются глобально и сохраняются между сеансами работы с Visual Studio Code. Настройки рабочей области применяются только в текущем проекте и переопределяют настройки пользователя.

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

Настройки в панели можно изменять как вручную, вводя нужные значения в поле значений, так и изменив значение всплывающего списка или флажка. После изменения настройки она сразу же вступает в силу без необходимости перезапуска программы.

Помимо ручной настройки, в панели настроек можно также импортировать и экспортировать настройки в файлы JSON, что упрощает перенос настроек между разными исполняемыми файлами Visual Studio Code или между разными компьютерами. Для этого в правом верхнем углу панели настроек есть иконка трех точек, при нажатии на которую открывается выпадающее меню с соответствующими командами.

Обращая внимание на настройки табуляции в панели настроек, вы сможете легко задать нужные параметры для своего проекта в Visual Studio Code и работать с кодом более комфортно и эффективно.

Изменение ширины табуляции

В Visual Studio Code есть возможность изменить ширину табуляции, чтобы текст в редакторе отображался с нужными отступами. По умолчанию ширина табуляции составляет 4 пробела, но ее можно изменить в соответствии с вашими предпочтениями или требованиями проекта.

Чтобы изменить ширину табуляции, выполните следующие шаги:

  1. Откройте настройки Visual Studio Code, нажав комбинацию клавиш Ctrl + , (Windows/Linux) или Cmd + , (Mac).
  2. В поисковой строке введите «tab size».
  3. В разделе «Editor: Tab Size» выберите нужное значение ширины табуляции из списка или введите его вручную.

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

Также в настройках Visual Studio Code можно включить опцию «Editor: Insert Spaces», чтобы при нажатии клавиши Tab вставлялись пробелы вместо символа табуляции. Это может быть полезно, если в проекте используется определенный стандарт оформления кода.

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

Настройка отступов

В Visual Studio Code можно настроить отступы для обеспечения удобочитаемости и согласованности кода. Отступы служат для визуального разделения блоков кода и позволяют легче ориентироваться в структуре программы.

Чтобы настроить отступы в Visual Studio Code, нужно открыть настройки редактора. Для этого можно нажать комбинацию клавиш Ctrl + , (на Windows и Linux) или Cmd + , (на Mac). В открывшемся окне настроек нужно выбрать вкладку «Настройки».

Далее следует найти раздел «Editor: Tab Size», который отвечает за количество символов для одного отступа. Значение по умолчанию равно 4. Вы можете изменить это значение в соответствии с предпочтениями вашей команды или стандартами проекта.

Кроме того, вы можете выбрать тип отступа, который должен использоваться: пробелы или табуляция. Для этого нужно найти раздел «Editor: Insert Spaces» и установить флажок в зависимости от ваших предпочтений.

Если вы используете пробелы вместо табуляции, то важно убедиться, что каждый уровень отступа состоит из нужного количества пробелов. Для этого можно воспользоваться опции «Editor: Detect Indentation», которая позволяет автоматически определить используемый символ отступа в открытом файле.

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

Не забывайте периодически проверять и обновлять настройки отступов в Visual Studio Code, чтобы быть уверенными, что ваш код остаётся понятным и структурированным.

Использование пробелов или табуляции

При работе с Visual Studio Code можно настроить отображение отступов с помощью пробелов или табуляции. Настройка этого параметра важна для поддержания единого стиля кода в команде разработчиков.

Использование пробелов вместо табуляции обеспечивает более гибкий и переносимый код. В отличие от табуляции, пробелы занимают фиксированное количество места и легко настраиваются под конкретные требования проекта.

Преимущества использования пробелов:

  • Получение чистого и удобочитаемого форматированного кода;
  • Отличная совместимость со всеми редакторами и системами контроля версий;
  • Возможность быстро настраивать отступы под конкретные требования проекта.

Однако, некоторые разработчики предпочитают использовать табуляцию по причине удобства. Использование табуляции позволяет создавать отступы одним нажатием клавиши, что существенно упрощает написание и редактирование кода.

Преимущества использования табуляции:

  • Удобство в использовании;
  • Возможность быстро создавать и изменять отступы с помощью нескольких простых действий;
  • Визуально различимые отступы с помощью специальных символов.

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

Настройка размеров табуляции

Visual Studio Code предлагает различные настройки для установки размеров табуляции, чтобы настроить отступы в соответствии с вашими предпочтениями и стилем кодирования. Вот несколько вариантов для настройки размеров табуляции в Visual Studio Code:

1. Использование пробелов вместо табуляции: Вы можете настроить Visual Studio Code таким образом, чтобы при нажатии клавиши Tab вместо символа табуляции вставлялась определенное число пробелов. Для этого откройте меню настроек, выберите параметр «Editor: Insert Spaces» и установите его значение в «on». Затем установите значение параметра «Editor: Tab Size» равным желаемому числу пробелов.

2. Использование символов табуляции: Если вы предпочитаете использовать символы табуляции, вы можете включить эту функцию, установив параметр «Editor: Insert Spaces» в значение «off». Затем установите значение параметра «Editor: Tab Size» равным желаемому числу символов табуляции.

3. Размер табуляции для конкретных языков: Вы также можете настроить размеры табуляции для конкретных языков. Для этого откройте файл настроек для языка, включив его командой «Preferences: Open Workspace Settings» или «Preferences: Open Folder Settings». Затем добавьте параметр «editor.tabSize» в настройки этого файла и укажите желаемый размер табуляции.

Настройка размеров табуляции в Visual Studio Code позволяет вам создать удобную среду разработки, которая соответствует вашим индивидуальным потребностям и предпочтениям.

Расширения для настройки табуляции

Visual Studio Code позволяет пользователям настраивать табуляцию в своих проектах. Однако, с помощью дополнительных расширений, вы можете получить еще больше возможностей для настройки табуляции в своей IDE. Вот несколько популярных расширений для настройки табуляции в Visual Studio Code:

  • EditorConfig – это расширение, которое позволяет использовать файлы .editorconfig для установки настроек форматирования кода в различных проектах. Файл .editorconfig позволяет устанавливать различные параметры форматирования кода, включая табуляцию.
  • TabOut – это расширение, которое добавляет возможность использовать клавишу Tab для выхода из текущей области ввода и перехода к следующему элементу или строки кода. Оно также предлагает настройку табуляции и автозаполнение.
  • Whitespace – это расширение, которое помогает контролировать и отслеживать пробелы и символы табуляции в вашем коде. Оно предлагает возможности настройки табуляции, а также подсвечивает пробелы и символы табуляции в вашем коде для лучшей читаемости.
  • Indent Rainbow – это расширение, которое добавляет цветные отступы в ваш код, чтобы сделать его более наглядным и понятным. Оно позволяет настроить цвета для различных уровней отступов, включая табуляцию.

Если вам необходимы дополнительные возможности для настройки табуляции в Visual Studio Code, используйте одно или несколько из этих расширений для удовлетворения ваших потребностей.

Настройка табуляции в MS Visual Studio

Всем программистам известно, что правильное форматирование облегчает чтение кода. И расстановка отступов — одна из самых важных задач при форматировании текстов программ. Отступы позволяют увидеть общую структуру кода, просто просмотрев его «по диагонали». Благодаря им можно быстро перейти к нужному блоку. Думаю, никто с этим спорить не будет. Но при форматировании кода иногда возникают вопросы, не имеющие единственно правильного ответа. Один из таких вопросов — «Что использовать для отступов: символы табуляции или пробелы?».
У символов табуляции свои преимущества:

  • Символы табуляции занимают меньше места в исходном тексте программы. (Правда, в наше время это редко бывает актуальным; скорость процессоров и объём дисков выросли настолько, что для абсолютного большинства программ разница будет просто незаметна.)
  • По отступам, состоящим из символов табуляции, можно быстрее перемещаться. Такие отступы и удалить можно гораздо быстрее. Для этого просто нужно меньше нажатий клавиш.
  • Ширина символа табуляции настраивается в большинстве текстовых редакторов. Т.е. каждый человек, который будет читать Ваш код, сможет настроить, как у него будут отображаться отступы, в соответствии со своими предпочтениями и размером монитора.

Преимущества есть и у пробелов:

  • В программном коде отступ начала строки от левого края экрана зависит не только от уровня вложенности блока, к которому эта строка относится. Иногда нужно выровнять первый символ строки относительно какого-нибудь символа в предыдущей строке. Такая ситуация, как правило, встречается при разбиении одной длинной инструкции на несколько строк. Такую «тонкую» настройку нельзя делать символами табуляции. Для этого вида форматирования подходят только пробелы. Если отступы, показывающие уровень вложенности блока, создаются с помощью символов табуляции, а более «тонкое» выравнивание делается с помощью пробелов, то возникает путаница. Программист должен постоянно внимательно следить, какой символ нужно использовать. Это, мягко говоря, не всем нравится. Особенно остро проблема встаёт перед большими командами разработчиков.
  • Символ табуляции выглядит так же, как один или несколько пробелов, но ведёт себя по-другому. Быстро понять, где в коде пробелы, а где табуляция может быть не просто.

Многие из описанных проблем могут решаться «умными» текстовыми редакторами. Особенно продвинутыми являются редакторы, специально созданные для работы с программным кодом. Если такой редактор «знает» синтаксис языка программирования, он пытается «понять», что именно Вы хотите сделать, и автоматически отформатировать код согласно заданным настройкам. Разумеется, даже самый «умный» редактор кода может ошибаться и неправильно понимать намерения программиста. Но программы этого типа становятся всё лучше и уже помогли множеству программистов сделать их работу комфортнее. Настройки, регулирующие работу с пробелами и символами табуляции, имеют не только текстовые редакторы. Они есть во многих других инструментах для работы с программным кодом (например, в системах контроля версий).

В этом посте я хочу описать настройки MS Visual Studio, регулирующие работу с пробелами и символами табуляции. В первую очередь нужно в главном меню выбрать пункт Tools->Options. Откроется окно Options. В его левой части расположено древовидное меню в нём нужно выбрать пункт TextEditor->AllLanguages->Tabs. Там находятся настройки отступов, которые действуют для всех языков программирования и разметки, поддерживаемых MS Visual Studio. Если требуется изменить настройки только для конкретного языка, то в дереве слева вместо пункта AllLanguages следует выбрать нужный язык (см. рисунок 1).

Пункт Tabs существует для каждого языка. Если для разных языков установлены разные параметры табуляции, то на странице AllLanguages->Tabs будет показано сообщение о том, что параметры табуляции для разных текстовых форматов конфликтуют друг с другом. («The tab settings for individual text formats conflict with each other.») После того, как он был выбран, в правой части окна появятся две группы настроек: Indenting и Tab. Все настройки, которые определяют, какого размера должны быть отступы, и из каких символов они должны состоять, находятся в группе Tab. (см. рисунок 2).

Рассмотрим подробно каждый параметр из этой группы:

  • Tab size — это размер интервала табуляции. Он задаёт расстояние между позициями табуляции в пробелах. Проще говоря, этот параметр определяет, какому количеству пробелов равен один символ табуляции.
  • Indent size — это размер автоматического отступа в пробелах. Для заполнения указанного размера отступа могут использоваться символы табуляции, символы пробела или оба этих вида символов. Что именно будет использовано, зависит от того, какая из следующих 2 радиокнопок выбрана.
  • Insert spaces — вставлять только пробелы. Когда выбран этот параметр, отступ будет всегда состоять только из пробелов. Причём неважно, каким способом отступ создаётся: его автоматически вставляет текстовый редактор IDE, пользователь нажимает клавишу «Tab» или кнопку «Increase Indent» на панели инструментов.
  • Keep tabs — сохранять символы табуляции. Когда выбран этот параметр, для создания отступа используется максимально возможное число символов табуляции. Символ табуляции вставляет такое число пробелов, которое указано в поле «Tab size». Если размер отступа не кратен размеру интервала табуляции, для заполнения разницы добавляются знаки пробелов.

Ещё одна полезная возможность — показ на месте знаков табуляции и пробела специальных символов. Это позволяет с первого взгляда отличать эти символы друг от друга. Эту настройку можно найти в меню Edit->Advanced->ViewWhiteSpace. Ещё один способ включить/выключить отображение пробельных символов — это использование «горячих клавиш». Последовательное нажатие сочетаний клавиш Ctrl+R, Ctrl+W включит отображение пробельных символов, если оно было выключено. Если отображение пробельных символов было включено, то та же комбинация «горячих клавиш» его выключит. Пробел будет показан как точка на уровне середины строки, а начало каждого интервала табуляции будет обозначено стрелочкой (см. рисунок 3).

Я использовал MS Visual Studio 2015, но показанные настройки должны работать и в более новых, и в более старых версиях.

Рубрики Без рубрики Метки MS Visual Studio

Настройка табуляции в MS Visual Studio: 20 комментариев

Я занимаюсь версткой и решил попробовать перейти с Sublime Text на Visual Studio Code, но никак не могу привыкнуть. У меня не всегда срабатывает Emmet (создание блока по табу), не хватает автодополнения пути к файлу (в HTML и CSS), автопрефиксера для CSS, красивого форматирования кода одним кликом. Подскажите настройки, подходящие плагины. И какие вы можете подсказать полезные плагины для веб-разработки?

YuraPlinto :

Visual Studio Code мне ещё не доводилось использовать. Я пользуюсь IDE MS Visual Studio и её встроенным редактором для разработки на C/C++. IDE Visual Studio и редактор Visual Studio Code — это два разных программных продукта, хотя оба выпущены Microsoft. К тому же мы их используем в разных областях. Поэтому, увы, ничем не могу помочь.

Спасибо за информацию.
Благодарю за информационную подборку. Стало крайне призанятно!
Благодарю вас за предоставленную информацию

Для тех, кто не в курсе, Visual Studio Code – это бесплатный и кроссплатформенный текстовый редактор, созданный компанией Microsoft. Он достаточно быстро стал «народным любимцем», ввиду его высокой производительности и обильного функционала. Как и большинство современных IDE, VSCode имеет перманентно развивающийся рынок устанавливаемых дополнений, расширяющих исходные возможности редактора. Для того, чтобы разобраться, на какие именно плагины стоит обратить внимания, ресурс «Библиотека программиста» представляет вашему вниманию подборку 15 плагинов для Visual Studio Code, которые будут полезны любому программисту.

Thanks for the blog article. Thanks Again. Really Cool. Janeen Matias Katya

I’m extremely pleased to discover this website. I wanted to thank you for ones time just for this fantastic read!! I absolutely enjoyed every part of it and i also have you bookmarked to see new stuff in your site.

То есть он превосходно эмулирует вам табы? �� Честно, я не хочу участвовать в этом споре. Я выбрал для языка C# для себя табы. Даже перевел команду на них, объяснив и доказав что это удобнее, особенно при использовании Visual Studio. Так мне хочется, так мне удобнее. От статьи я честно ожидал что-то действительно революционное. А здесь же опять вырваны какие-то моменты, с которыми столкнулся автор, и которые считает автор важными. Еще один пласт для холивара.

YuraPlinto :

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

Definitely, what a great blog and revealing posts, I definitely will bookmark your site. Best Regards!

Рабочие области

Область применения:yesVisual Studio Visual Studio для Mac noVisual Studio Code no

Рабочая область — это то, как Visual Studio представляет любую коллекцию файлов в открытой папке, и она представлена типом IWorkspace . По себе рабочая область не понимает содержимое или функции, связанные с файлами в папке. Скорее, он предоставляет общий набор API для функций и расширений для создания и использования данных, с которыми могут действовать другие. Производители создаются с помощью управляемой платформы расширяемости (MEF) с использованием различных атрибутов экспорта.

Поставщики и службы рабочей области

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

Оба понятия используют шаблон фабрики и импортируются через MEF рабочей областью. Все атрибуты экспорта реализуют IProviderMetadataBase или IWorkspaceServiceFactoryMetadata существуют конкретные типы, которые следует использовать для экспортированных типов.

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

Еще одним ключевым отличием является использование данных от поставщиков и служб. Рабочая область — это точка входа для получения данных от поставщиков по нескольким причинам. Во-первых, у поставщиков обычно есть некоторый узкий набор данных, которые они создают. Эти данные могут быть символами исходного файла C# или контекстами файлов сборки для файла CMakeLists.txt . Рабочая область будет соответствовать запросу потребителя поставщикам, метаданные которых соответствуют запросу. Во-вторых, некоторые сценарии позволяют многим поставщикам вносить вклад в запрос, а другие сценарии используют поставщика с наивысшим приоритетом.

Напротив, расширения могут получать экземпляры и взаимодействовать непосредственно со службами рабочей области. Методы IWorkspace расширения доступны для служб, предоставляемых Visual Studio, например GetFileWatcherService. Расширение может предложить службу рабочей области для компонентов в расширении или для других расширений, которые будут использоваться. Потребители должны использовать GetServiceAsync или метод расширения, указанный в типе IWorkspace .

Не создавайте службы, конфликтующие с Visual Studio. Это может привести к непредвиденным проблемам.

Удаление при закрытии рабочей области

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

Связанные типы

  • IWorkspace — центральная сущность для открытой рабочей области, например открытой папки.
  • IWorkspaceProviderFactory создает экземпляр поставщика для каждой рабочей области.
  • IWorkspaceServiceFactory создает службу для каждой рабочей области, созданную в экземпляре.
  • IAsyncDisposable следует реализовать для поставщиков и служб, которые должны выполнять асинхронный код во время удаления.
  • WorkspaceServiceHelper предоставляет вспомогательные методы для доступа к известным службам или произвольным службам.

Параметры рабочей области

Рабочие области имеют IWorkspaceSettingsManager службу с простым, но мощным контролем над рабочей областью. Общие сведения о параметрах см. в разделе «Настройка задач сборки и отладки».

Параметры для большинства SettingsType типов — это JSON-файлы, такие как VSWorkspace Параметры.json и tasks.vs.json.

Возможности параметров рабочей области связаны с «область», которые являются простыми путями в рабочей области. При вызове GetAggregatedSettingsпотребителя все область, которые включают запрошенный путь и тип параметра, агрегируются. Приоритет агрегирования области выглядит следующим образом:

  1. «Локальные параметры», который обычно является каталогом корневого каталога .vs рабочей области.
  2. Запрошенный путь.
  3. Родительский каталог запрошенного пути.
  4. Все дополнительные родительские каталоги вплоть до корневого каталога рабочей области.
  5. «Глобальные параметры», который находится в пользовательском каталоге.

Результатом является экземпляр IWorkspaceSettings. Этот объект содержит параметры для определенного типа и может запрашиваться для задания имен ключей, хранящихся как string . Методы GetProperty и WorkspaceSettingsExtensions методы расширения ожидают, что вызывающий объект знает тип запрашиваемого значения. Так как большинство файлов параметров сохраняются как JSON-файлы, многие вызовы будут использовать string , bool int и массивы этих типов. Типы объектов также поддерживаются. В этих случаях в качестве аргумента типа можно использовать IWorkspaceSettings сам. Например:

Если эти параметры были в VSWorkspace пользователя Параметры.json, доступ к данным можно получить следующим образом:

using System.Collections.Generic; using Microsoft.VisualStudio.Workspace; using Microsoft.VisualStudio.Workspace.Settings; private static void ReadSettings(IWorkspace workspace) < IWorkspaceSettingsManager settingsManager = workspace.GetSettingsManager(); IWorkspaceSettings settings = settingsManager.GetAggregatedSettings(SettingsTypes.Generic); // result == WorkspaceSettingsResult.Success WorkspaceSettingsResult result = settings.GetProperty("intValue", out int intValue); result = settings.GetProperty("stringValue", out string stringValue); result = settings.GetProperty("boolValue", out bool boolValue); result = settings.GetProperty("stringArray", out string[] stringArray); result = settings.GetProperty("nestedIWorkspaceSettings", out IWorkspaceSettings nestedIWorkspaceSettings); result = nestedIWorkspaceSettings.GetProperty("nestedString", out string nestedString); // Extension method alternative using default values. int intValueOrDefault = settings.Property("intValue", /* default */ 42); // Missing key. result == WorkspaceSettingsResult.Undefined result = settings.GetProperty("missing", out string missing); // Wrong type for a key. result == WorkspaceSettingsResult.Error result = settings.GetProperty("intValue", out IWorkspaceSettings notSettings); // Special ability to union "stringArray" across all scopes. IEnumerableallStringArray = settings.UnionPropertyArray("stringArray"); > 

Эти API-интерфейсы параметров не связаны с API, доступными в Microsoft.VisualStudio.Settings пространстве имен. Параметры рабочей области не зависят от узла и используют файлы параметров для конкретных рабочих областей или динамические поставщики параметров.

Предоставление динамических параметров

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

Экспорт не IWorkspaceSettingsProvider отличается от других поставщиков рабочих областей. Фабрика не IWorkspaceProviderFactory существует и нет специального типа атрибута. Вместо этого реализуйте IWorkspaceSettingsProviderFactory и используйте [Export(typeof(IWorkspaceSettingsProviderFactory))] .

// Common workspace provider factory pattern [ExportFeatureProvider(some, args, to, export)] internal class MyProviderFactory : IWorkspaceProviderFactory  < IFeatureProvider CreateProvider(IWorkspace workspace) =>new Provider(workspace); > // IWorkspaceSettingsProvider pattern [Export(typeof(IWorkspaceSettingsProviderFactory))] internal class MySettingsProviderFactory : IWorkspaceSettingsProviderFactory < // 100 is typically the value used by built-in settings providers. Lower value is higher priority. int Priority =>100; IWorkspaceSettingsProvider CreateSettingsProvider(IWorkspace workspace) => new MySettingsProvider(workspace); > 

При реализации методов, возвращающих (например IWorkspaceSettingsProvider.GetSingleSettings ), возвращает экземпляр IWorkspaceSettings , а не IWorkspaceSettingsSource . IWorkspaceSettingsSource IWorkspaceSettings предоставляет дополнительные сведения, которые могут быть полезны во время некоторых агрегатов параметров.

ПАРАМЕТРЫ связанные API

  • IWorkspaceSettingsManager считывает и агрегирует параметры рабочей области.
  • GetSettingsManager IWorkspaceSettingsManager получает значение для рабочей области.
  • GetAggregatedSettingsполучает параметры для заданного область агрегированы во всех перекрывающихся область.
  • IWorkspaceSettingsсодержит параметры для определенного область.

Предлагаемые рабочие области методики

  • Возвращает объекты из IWorkspaceProviderFactory.CreateProvider или аналогичных API, запоминающих их Workspace контекст при создании. Интерфейсы поставщиков записываются, ожидая, что этот объект сохраняется при создании.
  • Сохраните кэши или параметры для конкретной рабочей области в пути «Локальные параметры» рабочей области. Создайте путь к файлу с помощью Microsoft.VisualStudio.Workspace.WorkspaceHelper.MakeRootedUnderWorkingFolder Visual Studio 2017 версии 15.6 или более поздней. Для версий до версии 15.6 используйте следующий фрагмент кода:
using System.IO; using Microsoft.VisualStudio.Workspace; using Microsoft.VisualStudio.Workspace.Settings; private static string MakeRootedUnderWorkingFolder(IWorkspace workspace, string relativePath) < string workingFolder = workspace.GetSettingsManager().GetAggregatedSettings(SettingsTypes.WorkspaceControlSettings).Property("WorkingFolder"); return Path.Combine(workingFolder, relativePath); > 

События решения и автоматическая загрузка пакета

Загруженные пакеты могут реализовывать IVsSolutionEvents7 и вызывать IVsSolution.AdviseSolutionEvents . Она включает событие при открытии и закрытии папки в Visual Studio.

Контекст пользовательского интерфейса можно использовать для автоматической загрузки пакета. Значение — 4646B819-1AE0-4E79-97F4-8A8176FDD664 .

Устранение неполадок

Пакет Source Обозреватель Package не загружен правильно

Расширяемость рабочей области сильно основана на MEF, и ошибки композиции приведут к сбою загрузки пакета, в котором размещена открытая папка. Например, если расширение экспортирует тип только с ExportFileContextProviderAttribute типом, но тип реализуется IWorkspaceProviderFactory , при попытке открыть папку в Visual Studio возникнет ошибка.

Сведения об ошибке можно найти в папке %LOCALAPPDATA%\Microsoft\VisualStudio\16.0_id\ComponentModelCache\Microsoft.VisualStudio.Default.err. Устраните все ошибки для типов, реализованных расширением.

Следующие шаги

  • Контексты файлов — поставщики контекстов файлов позволяют использовать аналитику кода для рабочих областей Open Folder.
  • Индексирование — индексирование рабочей области собирает и сохраняет сведения о рабочей области.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *