A simple plugin that adds a menu item so you can configure a keyboard shortcut for the ‘Toggle Constrain Proportions’ command. This plugin is similar to others but this one is made to be compatible with the new plugin methods introduced in Sketch 3945. And this plugin is not bundled with any other plugins which you’ll probably never use…
Install with Sketch Runner
With Sketch Runner, just go to the install
tab and search for Toggle Constrain Proportions
. Runner allows you to manage plugins and do much more to speed up your workflow in Sketch. Download Runner here.
Install manually
- Download the plugin
- Double click on the
toggleconstrainproportions.sketchplugin
file - Done
How to use
- Select an object
- Run this plugin and watch the lock change from 🔒 to 🔓 (and vice versa).
Note
- As of 1.1 this plugin does not come with a default shortcut anymore since it’s impossible to prevent duplicate shortcut conflicts and because Sketch Runner makes it easy to run commands.
- If you’re using Sketch 44 or older, use version 1.1.
Contributing
This plugin was created using skpm
. For a detailed explanation on how things work, checkout the skpm Readme.
Usage
Install the dependencies
npm install
Once the installation is done, you can run some commands inside the project folder:
npm run build
To watch for changes:
npm run watch
Additionally, if you wish to run the plugin every time it is built:
npm run start
Custom Configuration
Babel
To customize Babel, you have two options:
- You may create a
.babelrc
file in your project’s root directory. Any settings you define here will overwrite matching config-keys within skpm preset. For example, if you pass a “presets” object, it will replace & reset all Babel presets that skpm defaults to. - If you’d like to modify or add to the existing Babel config, you must use a
webpack.skpm.config.js
file. Visit the Webpack section for more info.
Webpack
To customize webpack create webpack.skpm.config.js
file which exports function that will change webpack’s config.
/**
* Function that mutates original webpack config.
* Supports asynchronous changes when promise is returned.
*
* @param {object} config - original webpack config.
* @param {boolean} isPluginCommand - whether the config is for a plugin command or a resource
**/
module.exports = function(config, isPluginCommand) {
/** you can change config here **/
};
Debugging
To view the output of your console.log
, you have a few different options:
- Use the
sketch-dev-tools
- Open
Console.app
and look for the sketch logs - Look at the
~/Library/Logs/com.bohemiancoding.sketch3/Plugin Output.log
file
Skpm provides a convenient way to do the latter:
skpm log
The -f
option causes skpm log
to not stop when the end of logs is reached, but rather to wait for additional data to be appended to the input