1. 20 2月, 2015 1 次提交
    • D
      Prevent CodeActions commits during Inline Renames · b21230ad
      David Poeschl 提交于
      Fix #554: This fixes a crash that was caused by invoking a lightbulb
      item that caused an Inline Rename session to launch when there's already
      an inline rename session active. We now check for inline rename sessions
      during lightbulb commit. If an inline rename session is active, we halt
      the lightbulb commit and tell the user to complete their rename session.
      
      This only prevents one (but probably the most frequent) manifestation of
      a larger problem in which rename is trying to perform a series of
      changes to the workspace that can be interrupted by some other feature
      applying its changes to the workspace. This larger design problem is
      tracked as #681.
      b21230ad
  2. 19 2月, 2015 1 次提交
  3. 18 2月, 2015 3 次提交
  4. 17 2月, 2015 1 次提交
    • H
      fix a bug where we gave wrong value for length in tagger · 0bcd36f4
      Heejae Chang 提交于
      this is reported by editor team where we returning wrong tags for given span. it looks like we gave end position as length. this is a second time we did this mistake. probably because this code was based on the code that had this issue originally.
      
      to prevent this from happening again, I added assert in base tagger class.
      
      * this is hard to do in unit test since each unit test tests one specific tagger. if we forgot to add unit test to tests this specific issue for new tagger added, it will go unnoticed again.
      0bcd36f4
  5. 16 2月, 2015 1 次提交
  6. 14 2月, 2015 7 次提交
  7. 13 2月, 2015 5 次提交
    • H
      preserve encoding over temporary storage · 65f2f9fc
      Heejae Chang 提交于
      little bit of refactoring over temporary stroage and text factory service to preserve encoding round trip
      65f2f9fc
    • M
      Fix #251: Preview Changes dialog always shows additional files as empty · d264f37b
      Manish Vasani 提交于
      Handle additional documents in Preview engine.
      This exposed a bunch of NREs in some editor features and text extension methods that didn't account for additional documents being opened in the preview workspace, these have been fixed with appropriate null checks.
      d264f37b
    • P
      Use a Func<IEnumerable<SymbolDisplayPart>> to represent the 'getter' for... · ebb71bf2
      Paul Harrington 提交于
      Use a Func<IEnumerable<SymbolDisplayPart>> to represent the 'getter' for Documentation in SignatureHelp and thread that through the entire sig-help implementation.
      ebb71bf2
    • C
      Reduce the amount of work done in the pattern matcher. · 68c5a73c
      Cyrus Najmabadi 提交于
      Previously, the way one used a patter matcher was the following:
      
          var matcher = new PatternMatcher();
          Loop {
              var result = matcher.MatchPattern(candidate, pattern)
          }
      
      Because of this, each time you called MatchPattern, the matcher would have to deconstruct the
      pattern into its relevant components (for example, splitting it on dots and decomposing words out
      of it).  Now, this decomposition was cached.  However, that still meant checking the cache on each
      call to MatchPattern.  This check involved a lock as well as a dictionary lookup.
      
      The new way to use a pattern matcher is:
      
          var matcher = new PatternMatcher(pattern);
          Loop {
              var result = matcher.MatchPattern(candidate)
          }
      
      This approach means that we only need to decompose the pattern once.  From then on we can reuse
      that decomposition for each value we test against.
      68c5a73c
    • P
      Lazy signature help · 7ea0e248
      Paul Harrington 提交于
      Realize the Documentation for signature help items lazily.
      7ea0e248
  8. 11 2月, 2015 1 次提交
  9. 10 2月, 2015 5 次提交
  10. 09 2月, 2015 2 次提交
    • P
      PERF: EncodedStringText allocations · ce08a954
      Pharring 提交于
      1. Reduce allocations when reading from FileStream.
      2. Pre-compute checksum if possible.
      3. Reduce allocations for lazily computed checksums.
      4. Avoid LOH allocations for large source text.
      5. Update EditorTextFactory to optimize for reads from temporary storage
      
      Perf results for the Picasso rebuild scenario:
      184 MB total allocations saved. Including: 78 MB of char[], 73 MB of Byte[], 9 MB of string. Also, 35 MB of LOH allocations were eliminated.
       (changeset 1412085)
      ce08a954
    • C
      Provide advanced matching for dotted names in NavigateTo. · f04c7901
      cyrusn 提交于
      No, if you search for something like CS.SK we'll find Microsoft.CodeAnalysis.CSharp.SyntaxKind
      
      We do this by breaking up the original pattern by dots (so, in this case, we'd have "CS" and "SK").  We then do our normal search, looking for symbols that match the last name piece (in this case "SK").  When we find one, we then walk up it's container seeing if each parent container name matches each respective preceding pattern component.  If all pattern parts match, then the symbol is a match and it is returned.
      ***NO_CI***
       (changeset 1411849)
      f04c7901
  11. 07 2月, 2015 1 次提交
  12. 06 2月, 2015 3 次提交
    • C
      DescriptionModifyingCompletionItem should use the default task scheduler when... · fcac7546
      chandera 提交于
      DescriptionModifyingCompletionItem should use the default task scheduler when computing the snippet text. Use of "TaskScheduler.Current" will deadlock if the UI thread is blocking waiting for a description."TaskScheduler.Current" would deadlock if the UI thread was blocking waiting for a description.
      
      Note that this was previously checked into Dev14CTP as changeset 1350549 but somehow didn't get included when that branch RIed to Roslyn\Main. (changeset 1410908)
      fcac7546
    • S
      This change addresses five issues around light bulb preview pane - · bbcf7241
      shyamn 提交于
      1. Stop displaying superfluous 'No Preview' under the header section of the preview pane for fixes such as 'rename tracking' and 'generate type dialog' that don't provide any visual preview.
      
      2. Make preview pane header font use the VS 'Environment' font settings so that user can change /scale the font.
      
      3. We were not displaying the preview header in the case of hidden diagnostics (which don't show up in the error list) - start displaying the header for hidden diagnostics (except if the diagnostic is a 'trigger' diagnostic).
      
      4. Disable tab stop / focus in the code diff view portion of the preview pane. When using keyboard, we were allowing user to stop in the diff view portion - this ended up causing confusion since we would display a blinking cursor in the code diff view portion giving users the impression that they could type something there.
      
      5. Set Focusable=true on the preview pane control. Light bulb checks for this before shifting keyboard focus to the preview pane in the case where there are no 'flavored' actions under the preview pane (such as 'Preview Changes' and 'Fix All Occurrences'). (changeset 1410707)
      bbcf7241
    • H
      call data type specific API for VS telemetry · e6775635
      heejaechang 提交于
      VS telemetry now has data type specific APIs that can be used to reprot various data type to server. once used, data can be manipulated better by reporting side. (changeset 1410375)
      e6775635
  13. 04 2月, 2015 3 次提交
  14. 31 1月, 2015 3 次提交
    • J
      3d47c50d
    • B
      Ignore assembly names when resolving symbols in Peek. · a7e4c1ec
      BalajiKris 提交于
      This is because peek uses symbolkeys to resolve symbols between compilations which could potentially be from different frameworks but symbolkeys do not contain enough information to deal with typeforwarding situations. E.g: a portable project and a non-portable project may both resolve the same Int32 symbol to System.Runtime and mscorlib.
      
      Other features such as Metadata as source, Find References already do this. This change updates Peek to do the same thing. (changeset 1407182)
      a7e4c1ec
    • C
      Allow async taggers to specify what sort of tracking span behavior they want. · ec999eb0
      cyrusn 提交于
      This affects what happens to tags for previous text snapshot versions that are mapped forward (in the interim period before we get the new up to date tags).
      
      Most features just have EdgeExclusive behavior.  However, some features, like TypeScript classification, want EdgeInclusive behavior so that if you type at the edge of an existing tag, the next text gets the old classification and does not flash.
      ***NO_CI***
       (changeset 1406469)
      ec999eb0
  15. 29 1月, 2015 1 次提交
  16. 28 1月, 2015 1 次提交
  17. 27 1月, 2015 1 次提交