Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/maptz/Maptz.VSCode.Extensions.CamelCaseNavigation


https://github.com/maptz/Maptz.VSCode.Extensions.CamelCaseNavigation

Last synced: 16 days ago
JSON representation

Awesome Lists containing this project

README

        

# Visual Studio Camel Case Navigation Extension

![Header](https://raw.githubusercontent.com/maptz/Maptz.VSCode.Extensions.CamelCaseNavigation/master/imgs/Icon.png)

This extension provides camel-case navigation to the Visual Studio Code editor.

![Camel Navigation](https://raw.githubusercontent.com/maptz/Maptz.VSCode.Extensions.CamelCaseNavigation/master/imgs/CSharp_camelcase.gif)

It works by adding four extension methods to the IDE which override the default actions for the `left` and `right` arrow keys.

- MoveCamelLeftCommand (Ctrl+Left)
- MoveCamelRightCommand (Ctrl+Right)
- ExtendCamelLeftCommand (Ctrl+Shift+Left)
- ExtendCamelRightCommand (Ctrl+Shift+Right)

## Important - Deprecation Notice!

Since VS Code v1.25, camel-case navigation has been built into VS Code natively. To achieve match the default functionality provided by this extension, please add teh following commands to your keybindings.json file.

```json
[
{
"key":"ctrl+left",
"command": "cursorWordPartLeft"
},
{
"key":"ctrl+shift+left",
"command": "cursorWordPartLeftSelect"
},
{
"key":"ctrl+right",
"command": "cursorWordPartRight"
},
{
"key":"ctrl+shift+right",
"command": "cursorWordPartRightSelect"
},
]
```

I will keep maintaining this repository for the foreseeable future, but it is unlikely that I will implement any feature updates at this point.

## Installing

You can install the latest version of the extension is available on the Visual Studio Marketplace [here](https://marketplace.visualstudio.com/items?itemName=maptz.camelcasenavigation).

Alternatively, open Visual Studio code, press `Ctrl+P` and type:

> ext install camelcasenavigation

## Toggle mode

A new feature in version 1.0.2 is toggle mode. By using the command `camelcasenavigation.toggleCamelMode`, you can turn camel case navigation on or off. When camel case navigation is off, the arrow keys revert to their default behaviour.

This command is not currently mapped to a default keybinding. To map it to a default keybinding add the following to your `keybindings.json` file:

```
{
"key": "ctrl+shift+l",
"command": "maptz.camelcasenavigation.toggleCamelMode"
}
```

## Configuration

The extension provides configuration settings, allowing you to turn on or off features. Create a settings in your vscode settings file (either user or workspace) that conforms to the following specification:

```
"maptz.camelcasenavigation": {
"allowToggleMode" : true, //Allows you to use toggle mode
"isCamelNavigationOnByDefault" : true //When toggle mode is on, determines whether Camel Navigation is on (true) or off (false) when the application starts.
}
```

## Source Code

The source code is available on GitHub [here](https://github.com/maptz/Maptz.VSCode.Extensions.CamelCaseNavigation).

## Release Notes
### Version 1.1.3

- Fixed `console.log` issue.

### Version 1.1.2

- Updated configuration settings.

### Version 1.1.1

- Added deprecated messages for the previous command names.

### Version 1.1.0

- There is a breaking change in this version. The commands exposed by the extension has been renamed, so any hotkeys need to be updated.

Extensions were previously named `extension.[command-name]`, but this has now been changed to `camelcasenavigation.[command-name]`.

You will need to update any custom keyboard hotkeys you have re-assigned to match the new command names:

```
- maptz.camelcasenavigation.deleteCamelLeftCommand
- maptz.camelcasenavigation.deleteCamelRightCommand
- maptz.camelcasenavigation.extendCamelLeftCommand
- maptz.camelcasenavigation.extendCamelRightCommand
- maptz.camelcasenavigation.moveCamelLeftCommand
- maptz.camelcasenavigation.moveCamelRightCommand
- maptz.camelcasenavigation.toggleCamelMode
```

So your keybindings might look like this:
```
{
"key": "ctrl+j",
"command": "maptz.camelcasenavigation.deleteCamelRightCommand",
"when": "editorTextFocus"
}
```

### Version 1.0.2

- Added ability to toggle camel mode on or off.

### Version 1.0.1

- Updated npm dependencies.

### Version 1.0.0

- This version is bumped to an official version.

### Version 0.3.53

- Fixed a bug that prevented the selection from scrolling into view when the cursor moves out of view.

### Version 0.3.51

- Added a feature for interface definitions in CSharp and Typescript modes. By default an interface definition like `ISomeThing` is treated as three camel parts: `I-Some-Thing`. This feature can be turned off by setting "maptz.camelCaseNavigation.csharpmode" to `false` in your user settings.

### Version 0.3.49

- Updated the default code bindings for different platforms. See [here](https://github.com/maptz/Maptz.VSCode.Extensions.CamelCaseNavigation/issues/18) and [here](https://github.com/maptz/Maptz.VSCode.Extensions.CamelCaseNavigation/issues/20)
- Enhanced the behaviour when using tabs rather than spaces. See [here](https://github.com/maptz/Maptz.VSCode.Extensions.CamelCaseNavigation/issues/19)