2015-11-25 5 views
1

После долгой работы с Eclipse CDT я уже привык к своей IDE, которая автоматически преобразует оператор точки в стрелку при доступе к элементам через указатель на объект.Автоматическое преобразование Intellisense (точка в стрелку)

Возможно ли это сделать с Intellisense в Visual Studio 2013?

+2

«мой IDE автоматически преобразования оператора точки на стрелку при доступе пользователей через указатель на объект» Дорогой лорд, какая ужасная вещь, чтобы положить в IDE - размывание различия в разуме кодера между объектом и указателем ... Вам, вероятно, потребуется написать собственное расширение для Visual Studio для синтаксического анализа и реализации этого для вас, который является основным боль в прикладе ... – ThisHandleNotInUse

+1

@ThisHandleNotInUse Hahaha, я согласен, что это может вызвать проблемы у кого-то, изучающего язык, но для моего случая это просто вопрос желания избежать акробатики пальца. Однако определенно недостаточно важно, чтобы писать собственное расширение. –

+2

Visual Assist делает это для меня (помимо многих других преимуществ). Хотя это не бесплатное программное обеспечение. http://www.wholetomato.com/ – drescherjm

ответ

4

Это не может быть включено в Visual Studio 2013 из коробки, однако мы добавили эту функцию (в экспериментальном состоянии) в Visual Studio 2015 Update 1 RC.

Его можно включить в Инструменты -> Параметры -> Текстовый редактор -> C/C++ -> Экспериментальный (или Ctrl + Q для быстрого запуска и введите «экспериментальный») в качестве «Список участников Dot -Чтобы-Стрелка».

Experimental options page where the feature can be enabled

Вот как это выглядит в действии:

Video demonstrating the feature

Поскольку это "Experimental", обратная связь приветствуется :).

Источник: http://blogs.msdn.com/b/vcblog/archive/2015/11/03/introducing-the-experimental-page-for-c-c-editor-tools.aspx

+0

Привет. Есть одна проблема с этой функцией. Он не работает с интеллектуальными указателями. Visual Assist исправил это, добавив функцию «Преобразовать точку в ->, если оператор -> перегружен», сделайте то же самое. Спасибо :) – James

+1

@Phantom Мы намеренно не запускаем функцию, если есть члены, доступные через точку, но дополнительная опция, которую вы предлагаете переопределить, может быть хорошей идеей. Я добавлю его к нашему отставанию. Благодаря! –

+0

Он не работает внутри лямбда-функций. Кроме того, почему бы не заменить точку, как только она будет нажата (по крайней мере, если члены не доступны через точку)? – Neptilo