コード例 #1
0
 public int Exec(ref Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)
 {
     if (pguidCmdGroup == GuidList.guidLocalRefactorCmdSet)
     {
         if (nCmdID == PkgCmdIDList.cmdidExtractVariable)
         {
             codeManipulator.ExtractVariable();
             return(VSConstants.S_OK);
         }
         if (nCmdID == PkgCmdIDList.cmdidExtractConstant)
         {
             codeManipulator.ExtractConstant();
             return(VSConstants.S_OK);
         }
         if (nCmdID == PkgCmdIDList.cmdidAssignParameter)
         {
             codeManipulator.AssignParameterToField();
             return(VSConstants.S_OK);
         }
         if (nCmdID == PkgCmdIDList.cmdidConvertVariable)
         {
             codeManipulator.ConvertVariableToField();
             return(VSConstants.S_OK);
         }
     }
     return(Next.Exec(ref pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut));
 }
コード例 #2
0
        public void ShouldExtractConstantAndInsertConstantOnLastLineOfClassDeclarations()
        {
            StringTextBuffer testBuffer = new StringTextBuffer(ExpressionInContext("int x = a - b + c * d / e % 3444;", "private const double pi=3.14159;"));

            mockView.Setup(m => m.TextBuffer).Returns(testBuffer);
            mockView.Setup(m => m.Selection).Returns(testBuffer.Select("3444"));
            mockNameProvider.Setup(m => m.GetConstantName()).Returns("constant");

            manipulator.ExtractConstant();

            Console.Out.Write(testBuffer.CurrentSnapshot.GetText());


            Assert.AreEqual("        private const int constant = 3444;", testBuffer.CurrentSnapshot.Lines.ElementAt(6).GetText());
            Assert.AreEqual("            int x = a - b + c * d / e % constant;", testBuffer.CurrentSnapshot.Lines.ElementAt(9).GetText());
        }