Giter VIP home page Giter VIP logo

qof's People

Contributors

ianobermiller avatar martinky avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

qof's Issues

Make solution indexing on-demand / optional

Build solution index only once at first start of the plugin, or when new solution was loaded. Allow the user to re-index the solution manually by providing a "refresh" button. Ideally re-index automatically when a change is detected to the solution (file added, removed or renamed).

Motivation: Currently, everytime the quick open window is popped open, it first crawls through the whole solution (builds an index) and then performs the search. This indexing is time consuming, especially with big solutions. It hinders the user experience, when the user is forced to wait for the indexing to finish each time, he uses the tool.

Project column shows solution folder name instead of project name

When the solution structure organizes projects into solution folders, the Project column in the search results states the solution folder name instead of the project name.

Fix this either to show only the project name, or a combination: "SolutionFolderName/ProjectName".

Optionally search for the entered term in the full path, not just the file name

Per user request, make an option (by default disabled) to search for the entered term not only in file names, but in full paths.

Example 1:

Search term: "folder1/somefile.cs" will match: "somefile.cs" in "folder1"

Example 2:

Search term: "folder2/*/somefile2" will match "somefile2.cs" in "folder2" or in any subfolder of "folder2"

Race condition resulting in unhandled exception and VS crash

In large solutions (thousands of indexed files) where the indexing takes quite long, the user may do this:

  1. Invoke the plugin window, type a few letters,
  2. close the window,
  3. Invoke the window again, type more letters
  4. --> crash

This is what happens internally:

  1. On the first invoke a full index of the solution is started in a background thread. This indexing takes long enough time that it still runs when the plugin window is invoked again.
  2. On the second invoke, another parallel index is started (the first one still runs).
  3. When the first index finishes, it starts a search over the indexed data.
  4. While the search executes, the second index finishes and rewrites the index collection on which the search query currently executes, resulting in a race condition.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.