R # 4.5 (ответы на 5 приветствуются)
VS2008 (ответы на VS2010 приветствуются)
C # (FWIW)
Я использую конструктор (вопрос относится и к методам), и есть Intellisense:
У меня пока нет значения, чтобы указать для этого первого параметра "firstName". Сегодня я набираю «firstName» , а затем разрешаю IDE создать эту переменную для меня (которую я инициализирую некоторым значением).
Я понимаю, что IDE создаст переменную для меня. Я хочу, чтобы он создал для меня имя переменной .
Мне не нужно вводить «firstName». Мне нравится имя переменной, которую выбрал автор параметра, и я хочу использовать это имя переменной в моем (вызывающем) коде.
Есть ли способ, чтобы эти приемлемые имена переменных были заново сгенерированы для меня ( вызывающий код) автоматически при перемещении, параметр за параметром, через эту строку (вызывающего) кода?
Вы можете приблизиться к тому, что ищете, с VS2010.
p.Foo(
Это откроет описание текущего выбранного конструктора из списка всех конструкторов. Если вы наберете букву или нажмете ctrl + пробел, откроется автодополнение intellisense
Разница между VS2008 и VS2010 заключается в именованных параметрах.В VS2010 ваш список завершения будет содержать записи для именованных параметров firstName:
и lastName:
.
Intellisense должен перейти прямо к этой записи и позволить вам выполнять завершение так же, как обычно.
Intellisense вставит идентификатор, используемый для именованного параметра. Он не вставит двоеточие (если вы его не наберете), поэтому вам не нужно использовать функцию именованного параметра для достижения своей цели здесь. Вы можете просто воспользоваться тем фактом, что текст, который вы ищете, r находится в вашем списке завершения.
То, как вы заставляете Visual Studio на самом деле генерировать локальные переменные (которые, судя по вашему вопросу, похоже, вы уже решили), ставит меня в тупик, и вам придется позаботиться об этом :) Если у вас есть вот вторую задачу слизал, тоже хотелось бы узнать как.
Вы можете сделать сниппет кода, который создает переменную и вставляет ее в качестве параметров.
Я не совсем понимаю ваш сценарий, но предполагаю, что вы хотите вставить имя переменной из вызывающей сборки в вызываемый код. если это так, вы можете изучить System.CodeDom , который позволяет вам создавать класс и его членов во время выполнения, помимо множества других функций, которые он предлагает.
Я почти уверен, что вы можете сделать это с помощью Resharper или CodeRush / Refactor.
Мне кажется, что вы пытаетесь вообще перестать печатать! Чтобы IDE поместила код, который вы намереваетесь, поэтому вам не нужно. Довольно высокая цель, за исключением того, что вы лишите нас всех работы ;-(
Помимо веселья, вы, вероятно, стремитесь к инструменту для генерации кода, такому как T4 Toolbox (один из моих новых любимые игрушки). Если вы ищете инструмент, который будет автоматически генерировать фрагменты кода по мере ввода, это трудная задача. Ближайшим подходящим вариантом будет Resharper.
Вот пример конструктора класса, который я создал из моей настройки шаблонов T4 Toolbox:
public partial class EvaluationController : SmartController
{
private readonly IEvaluationService _evaluationSvc;
private readonly IEvaluationMapper _evaluationMapper;
private readonly IEvaluationCriterionMapper _evaluationCriterionMapper;
private readonly IParticipantEvaluationMapper _participantEvaluationMapper;
public EvaluationController( IEvaluationRepository repository, IEvaluationService evaluationSvc, IEvaluationMapper evaluationMapper, IEvaluationCriterionMapper evaluationCriterion, IParticipantEvaluationMapper participantEvaluation)
{// : base(repository, evaluationMapper)
_evaluationSvc = evaluationSvc;
_evaluationMapper = evaluationMapper;
_evaluationCriterionMapper = evaluationCriterion;
_participantEvaluationMapper = participantEvaluation;
}
Если это то, что вам нужно, то место для начала будет: http://t4toolbox.codeplex.com/
У меня есть пример проекта где я использую настройки шаблонов для расширения своих бизнес-классов, различных методов и уровня репозитория.http://t4tarantino.codeplex.com/ Вот пример уровня сложности вывода, который вы можете сгенерировать на http://geekswithblogs.net/JamesFleming/archive/2010/08/18/code-generation-with-t4-toolbox.aspx
HTH