Coder Social home page Coder Social logo

dialtoolsforvs's Introduction

Surface Dial Tools for Visual Studio

Build status

Download this extension from the Marketplace or get the CI build.


Adds features to Visual Studio specific to the Surface Dial. You don't need a Surface Book or Surface Studio to take advantage of the Surface Dial.

A Surface Dial is $99 and works with all modern Windows 10 PCs. Get yours today!

See the change log for changes and road map.

Features

  • Status bar indicator
  • Scrolling
  • Zooming
  • Navigation
  • Debugging
  • Errors
  • Editor shifters
  • Bookmarks

Dial Menu

Status bar indicator

An icon is placed at the left corner of the Status Bar indicating the current state of the Dial.

When the Visual Studio item on the Dial menu hasn't been activated, the status bar icon looks like this

Status inactive

When it is active, the icon changes to a solid white dot and a label showing what the selected menu item is appears.

Status inactive

Scrolling

Scroll documents and tool windows.

  • Rotate right: does the same as arrow down
  • Rotate left: does the same as arrow up
  • Click: In a document it opens the context menu, otherwise it does the same as then ENTER key. In Solution Explorer it expands/collapses folders.

Zooming

Zooming is enhanced so that it only zoom the text editors and not other artifacts in Visual Studio

  • Rotate right: Zoom in
  • Rotate left: Zoom out
  • Click: Resets zoom level to 100%

Navigation

Takes you to the previous and next location in your files.

  • Rotate right: navigates forward
  • Rotate left: navigates backwards
  • Click: [nothing]

Debugging

When a breakpoint is hit, use the dial to step into, over and out.

  • Rotate right: When not debugging, go to next breakpoint. Otherwise step over
  • Rotate left: When not debugging, go to previous breakpoint. Otherwise step out
  • Click: When not debugging, starts the debugger. Otherwise step into

When a breakpoint is hit, the Debug dial item is automatically activated as well

Errors

When the error list contain errors, the dial makes it easy to navigate to the next error in the list.

  • Rotate right: go to next error
  • Rotate left: go to previous error
  • Click: Show the Error List

When the Error List window is activated, the Errors dial item is automatically activated if it contains any errors.

Editor shifters

Shifting is a way to modify text in the editor based on the Dial rotation. When the caret is placed in a supported position, the shifting is enalbed.

Hex colors (e.g. #ff000)

  • Rotate right: lightens the color value
  • Rotate left: darkens the color value
  • Click: [no action]

Numbers (e.g. 123 or 3.4 or .6)

  • Rotate right: increase the number
  • Rotate left: decrease the number
  • Click: [no action]

Bookmarks

Set and navigate to your bookmarks

  • Rotate right: next bookmark
  • Rotate left: previous bookmark
  • Click: toggle bookmark

When the Bookmarks window is activated, the Bookmarks dial item is automatically activated as well.

Suggest new behaviors

Please send ideas about new behaviors you would find helpful to the GitHub issue tracker.

Contribute

Check out the contribution guidelines if you want to contribute to this project.

For cloning and building this project yourself, make sure to install the Extensibility Tools 2015 extension for Visual Studio which enables some features used by this project.

License

Apache 2.0

dialtoolsforvs's People

Contributors

bjorndaniel avatar dependabot[bot] avatar joj avatar madskristensen avatar philipwolfe avatar xperiandri avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dialtoolsforvs's Issues

Add Settings

Installed product versions

  • Visual Studio: 2017 Enterprise
  • This extension: 0.7.46

Description

Add settings for extension

Current behavior

Dial scrolls very slow.

Expected behavior

Would be nice to be able to change how many lines scroll at once in the settings dialog.
General suggestion to add more configurable things in the settings.

extension/package.json not found inside zip.

Installed product versions

  • Visual Studio: Visual Studio Code 1.24.1
  • This extension: Surface Dial Tools for Visual Studio v0.7.46

Description

When choosing VSIX file from Visual Studio Code "Install from VSIX..." option, I receive following error message: extension/package.json not found inside zip.

Steps to recreate

  1. Open Visual Studio Code
  2. Select Extensions tab
  3. Select more options button
  4. Select Install from VSIX...
  5. Open Surface Dial Tools for Visual Studio v0.7.46.vsix
  6. Error message: extension/package.json not found inside zip.

Current behavior

The extension cannot be installed, error message is received.

Expected behavior

The extensions should be installed.

Custom slots with Visual Studio Commands triggered by rotate left, rotate right and click.

This is a very interesting Visual Studio Extension! I was wondering if total customization is an option. I'm a big user of ReSharper and can think of some nice usages like:

Most of these kind of functions are made available as Visual Studio commands. So I can easily assign a custom short-cut to these commands. It would be nice if there were 1 or 2 custom slots in the Surface Dial tool where it's possible to assign commands to rotate left, rotate right and click.

Does this fit the Original idea of this Visual Studio Extension?

Call Stack Navigation when in break mode

Feature Request: navigation up and down the stack when in debug break mode.

Installed product versions

  • Visual Studio: 2017 Pro
  • This extension: latest

Description

When in Debug break mode (say when an exception is thrown) use the dial to navigate thru the Stack Track, Clockwise moves you down the stack towards the line the break is on, and counter clockwise moves you up the stack.

Status bar item does not inherit system font and has bad alignment

Installed product versions

  • Visual Studio: 15.5.2 Enterprise
  • This extension: 0.7.46

Description

See screenshot.
image
As I have enlarged environment font then all the environment items become larger.
And currently radial controller status is aligned to the top and does not inherit environment font.

Steps to recreate

  1. Go to Tools\Options..
  2. Navigate to Environment\Fonts and Colors
  3. Select Environment from ComboBox
  4. Change font to Segoe UI and size to 12

Current behavior

Font and size is not inherited from Environment
VerticalAlignment.Top is used

Expected behavior

Font and size is inherited from Environment
VerticalAlignment.Center is used

Provide an option to disable menus

Also not an issue but a suggestion:
I never use some of the features (the Editor menu, for instance) and I would love a page in Tools -> Options to enable/disable menus.

I can contribute if this idea is accepted :)

next/previous word shortcuts

I use Ctrl+Left and Ctrl+Right often to jump through longer statements; it would be great to have this capability from the wheel. I made a custom tool for Atom, etc., but it would be great to have this functionality in VS as well. Maybe in "Editor" mode when it's not on something the Editor Mode already affects? I could see it skipping through the line and then maybe a timeout before switching to, say, incrementing a number. Or maybe it could be a configurable option; i don't see myself incrementing numbers that often, personally. ๐Ÿ˜‰

VS Code porting

Installed product versions

  • Visual Studio: 2019

Description

I'm not quite sure if this has ever been mentioned nor did my search find any results but would there by any possibilities of adding this amazing extension for VS Code?

"Find" options takes forever to pop up

Installed product versions

  • Visual Studio: 2019
  • This extension: 0.8.68 CI build

Description

Self explanatory. Selecting a Find command on dial menu, and Find window either not popping up (with Find indicator stuck at bottomleft corner of window), or it takes way too long to appear. However, when I scroll with the dial, i'm getting a lot of output in Surface Dial tools output log :

11/22/2019 2:13:26 PM: Rotate: Find
11/22/2019 2:13:26 PM: Rotate: Find
11/22/2019 2:13:26 PM: Rotate: Find
11/22/2019 2:13:26 PM: Rotate: Find
11/22/2019 2:13:26 PM: Rotate: Find
11/22/2019 2:13:26 PM: Rotate: Find
11/22/2019 2:13:26 PM: Rotate: Find
11/22/2019 2:13:26 PM: Rotate: Find
11/22/2019 2:13:26 PM: Rotate: Find

Steps to recreate

  1. Open anything
  2. Select Find dial menu option
  3. Press the dial
  4. ?? Nothing happends

Current behavior

It doesn't pop up or it takes too long (from 10 seconds to 10 minutes) to appear

Expected behavior

Find menu is expected to appear as fast as it appears when I use keyboard shortcut.

Scroll to Find results

Not an issue but a question.
I cloned the repo and added a menu option called Find with the below functionality:

  • Click to open Edit.FindInFiles
  • Right scroll to do Edit.GoToNextLocation
  • Left scroll to do Edit.GoToPrevLocation

Is this something that you would consider adding if I submit a PR?

Extension Seems Active But Does Not Function

Installed product versions

  • Visual Studio: Community 2015
  • Installed 3-1-2017

Description

The extension is installed and enabled -the status bar even shows different configured states but nothing happens when I turn the dial in any mode. The dial works in other apps.

Disable changing mode to Errors on build

Please add a setting to disable changing mode to Errors on build.

After a build or start of a debug session, The dialmode changes to Errors. Because of this I need to change it back to debug or scroll every time.

Extension stopped working after upgrade to Windows 17025

Installed product versions

  • Visual Studio: VS 2017 (15.4.2)
  • This extension: 0.7.53

Description

After upgrading to the latest Windows Insider's build, the dial no longer functions in VS with the extension

Steps to recreate

  1. Upgrade to 17025
  2. Hold down dial

Current behavior

System wide dial behavior is seen

Expected behavior

Radial menu for VS functions

Opening Custom controls settings crashes Visual Studio

Installed product versions

  • Visual Studio: Professional 15.8.0 preview 2
  • This extension: 0.7.58

Description

Searching for commands in the Custom Controls options window crashes Visual Studio

Steps to recreate

  1. Open Tools -> Options
  2. Open Surface Dial -> Custom controls
  3. Type something in the search box
  4. Visual studio crashes

Current behavior

Searching for a command to assign to the dial crashes VS

Expected behavior

Searching should filter the available commands and show them in the list

Is there a built vsix of the latest code?

Using the links in the readme.md leads to either:

  1. Marketplace => Visual Studio Marketplace version 0.8.73 updated 15-Mar-2021, 15:04:40
  2. CI build => Open VSIX Gallery version 0.8.79 updated 9 months ago

Is there a built version of the code or is it a cse of building from the repo to get VS2022 support?

Add option for # of lines to scroll

First. Bravo! I've been looking for a VS/Surface solution for ages. This extension is GREAT! Thank you!

Installed product versions

  • Visual Studio: [2017 Community v15.9.3]
  • This extension: [0.8.68]

Description

Is there any way to change the number of lines to scroll when in Scroll Mode?

Steps to recreate

None

Current behavior

Only a single line is scrolled which is pretty slow

Expected behavior

Scroll the number of lines that are configured.

Radial control is not recognized in editor window moved out of main window

Installed product versions

  • Visual Studio: 15.5.2 Enterprise
  • This extension: 0.7.46

Description

If you have Double-Click Maximize and maximize editor with double click then radial control do not function in it (no menu items appear).

Steps to recreate

  1. Drag editor outside the main Visual Studio window
  2. Hold radial control to display it's menu

Current behavior

No Visual Studio specific items appear

Expected behavior

Visual Studio specific menu items appear and function the same as in the main window

Debug could be enhanced in design mode

When not debugging, Debug does the following:
Click: Set/Unset breakpoint
Rotate Right: Scroll
Rotate Left: Scroll

I think it'll be way more useful to have:
Click: Set/Unset breakpoint
Rotate Right: Navigate to next breakpoint
Rotate Left: Navigate to previous breakpoint

I have code for that (I started a Dial extension but never completed it) I can contribute if you like this idea.

Another option is to have a Breakpoint menu and then Debug would be:
Click: Start (this I really really want :) )
Rotate Right/Left: Scroll

If we do the second option, on Debug Mode my preference would be (when paused):
Click: Continue
Rotate Right: Step Into
Rotate Left: Step Out

I love the feel of pressing the dial, like a pressing a huge button. I think it's more awesome when that huge button does huge actions (like start and continue).

Scroll document in editor mode then statement completion is not open

Installed product versions

  • Visual Studio: 15.5.2 Enterprise
  • This extension: 0.7.46

Description

In Editor mode when cursor placed after a dot followed by identifier I can open statement completion menu with radial control click. Then radial control rotation selects an item in statement completion list.
But when statement completion list is not open radial control rotation does nothing.
I think it will be useful to combine this two modes together so that when statement completion menu is not open I can just scroll the document. As context menu you can always open with Application key on the keyboard.

Current behavior

In Editor mode when statement completion context menu not open rotation of radial control does nothing.

Expected behavior

In Editor mode when statement completion context menu not open rotation of radial control scrolls the document.

How to enable DialTools in experimental instance?

Installed product versions

  • Visual Studio: VS 2017 Enterprise (RoslynDev experimental instance)
  • This extension: 0.7.46

Description

DialTools works fine in a regular VS instance, but the extension doesn't show up in experimental VS instances.

Steps to recreate

  1. Start an experimental VS instance
    <vspath>\Common7\IDE\devenv.exe /RootSuffix RoslynDev
  2. Try to enable DialTools in Extension manager
  3. Reset experimental VS instance and verify DialTools is in AppData\Local\Microsoft\VisualStudio\15.0_9f0ff3e8\Extensions (it appears as i4gtbtow.iui)
  4. Repeat from step 1

Current behavior

DialTools doesn't appear in the list

Expected behavior

DialTools should be displayed, and it should be possible to enable DialTools to use in an experimental instance

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.