diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..89f9fa82 --- /dev/null +++ b/404.html @@ -0,0 +1,3645 @@ + + + +
+ + + + + + + + + + + + + + +This page is a shortcut! view the main topic at Advanced Search
+ + + + + + +Cancels the ongoing paste action.
+Tip
+The recommended shortcut for this action is Esc
+Copies the PsiElement under the caret.
+ + + + + + +Copies the line, where care is located, without leading/trailing white-space.
+ + + + + + +Copies a binary expression operand under the caret.
+val a = "some string" + 1334 + "another piece of string"
+ ^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^
+
The specified parts are the operands.
+Note
+Supported languages:
+Copies the function parameter under the caret.
+The specified parts are eligible to be copied.
+Note
+Supported languages:
+Copies the word under the caret.
+What is a Word?
+Checkout settings under Actionable > Caret > Movement
, there you will find, what is a Word :)
Cuts the element under the caret.
+See Copy Line Without Extra Whitespace for more info.
+ + + + + + +See Copy Operand At Caret for more info.
+ + + + + + +See Copy Parameter At Caret for more info.
+ + + + + + +See Copy Word At Caret for more info.
+ + + + + + +See Copy Element At Caret for more info.
+ + + + + + +See Copy Operand At Caret for more info.
+ + + + + + +See Copy Parameter At Caret for more info.
+ + + + + + +See Copy Word At Caret for more info.
+ + + + + + +Pastes the current highlighted1 word/element at mouse cursor, to where it was set.
+Use one of the following actions:
+See Cancel Paste
+Tip
+The recommended shortcut for this action is mouse Left Button
+If enabled in settings under: Actionable > Caret > Editing
↩
See the example to understand :)
+Symbol | +Meaning | +
---|---|
| | +Caret | +
String longtext |= "longtext";
+String verylongtext |= "verylongtext";
+String veryverylongtext |= "veryverylongtext";
+
Moves the caret to the next PsiElement with selection.
+ + + + + + +Moves the caret to the next PsiElement.
+ + + + + + +Moves the caret to the next same PsiElement.
+Symbol | +Meaning | +
---|---|
| | +Caret | +
[ ] | +Selection | +
Moves the caret to the next word with selection.
+ + + + + + +Moves the caret to the next word.
+ + + + + + +Moves the caret to the previous PsiElement with selection.
+ + + + + + +Moves the caret to the previous PsiElement.
+ + + + + + +See Move Caret To Next Same Element for more info.
+ + + + + + +Moves the caret to the previous word with selection.
+ + + + + + +Moves the caret to the previous word.
+ + + + + + +Moves the caret up the Psi Tree.
+Symbol | +Meaning | +
---|---|
| | +Caret | +
<component1>
+ <component2>
+ <component3>
+ hello world|
+ </component3>
+ </component2>
+</component1>
+
<component1>
+ <component2>
+ |<component3>
+ hello world
+ </component3>
+ </component2>
+</component1>
+
Removes the carets that are on BLANK lines.
+ + + + + + +Sets the place for the Execute Paste action. +To cancel: Cancel Paste
+Info
+When the execute paste action get executed, the highlighted PsiElement will be copied, and pasted to the place set by this action.
+Sets the place for the Execute Paste action. +To cancel: Cancel Paste
+Info
+When the execute paste action get executed, the highlighted word will be copied, and pasted to the place set by this action.
+Sets the place for the Execute Paste action. +To cancel: Cancel Paste
+Info
+When the execute paste action get executed, the highlighted PsiElement will be cut, and pasted to the place set by this action.
+Sets the place for the Execute Paste action. +To cancel: Cancel Paste
+Info
+When the execute paste action get executed, the highlighted word will be cut, and pasted to the place set by this action.
+Downloads and installs the latest nightly build from GitHub releases.
+ + + + + + +Same as Duplicate Lines Up but duplicate down :)
+ + + + + + +Duplicates all the lines that has a selection.
+ +Info
+This is similar to what vscode does!
+Removes duplicate selections :) Look at the example.
+Symbol | +Meaning | +
---|---|
| | +Caret | +
[ ] | +Selection | +
[String a = "Hello World"]|
+[String b = "Hello World"]|
+[String c = "Hello World"]|
+[String a = "Hello World"]|
+[String a = "Hello World"]|
+[String a = "Hello World"]|
+[String d = "Hello World"]|
+
Adds a line above the caret but the caret stays where it is, and doesn't move to the above line.
+ + + + + + +Adds a line below the caret but the caret stays where it is, and doesn't move to the below line.
+ + + + + + +Deletes from caret, to line start, but won't remove the indentation.
+Note
+Executing the action again will remove the indentation too.
+Same as Empty Line but preserves the line start indentation.
+ + + + + + +This does exactly what IDE does :)
+Note
+There is a setting under Actionable > Find
, that specifies, finding occurrences should be case-sensitive or not.
Tip
+There is a toggle action to help you quickly change that setting!
+Find it under menu bar Edit > Actionable > Global Toggles
.
+You may also assign a shortcut to it for convenience.
The IDE doesn't have such functionality by default, so I decided to make it :)
+See Add Selection To Next Occurrence for more info.
+ + + + + + +If you're interested in developing and improving actionable plugin, you're welcome!
+ir.mmd.intellijDev.Actionable.find.advanced.agent
by creating a new package representing the
+ language you want to provide advanced search support.plugin.xml
like so: <advancedSearch.providerFactory factoryClass="..." language="..." />
Note
+for examples of how to implement such functionality you can explore the ir.mmd.intellijDev.Actionable.find.advanced.agent.java
package.
for Q&A please refer to the discussions page of the actionable repository. feel free to ask any question.
+If you're developer of a plugin (especially a custom language), and want to provide advanced search support, you're welcome!
+build.gradle
(v4.5 onwards, which includes advanced search)plugin.xml
: <depends optional="true" config-file="...">ir.mmd.intellijDev.Actionable</depends>
<extensions defaultExtensionNs="ir.mmd.intellijDev.Actionable">
<advancedSearch.providerFactory factoryClass="..." language="..." />
providerFactory
you need to extend ir.mmd.intellijDev.Actionable.find.advanced.agent.AdvancedSearchProviderFactoryBean
language
is your language that you want to provide this functionality for.ir.mmd.intellijDev.Actionable.find.advanced.agent.java
packageFor java
the syntax is as follows:
and inside inner block as follows:
+[<entry> [<identifier> [<parameters>]]] [<inner-block>]
+# or
+[<identifier> [<parameters>]] [<inner-block>]
+
language: 'java'
+scope: 'all'
+scan-source: 'false'
+
+$class {
+ extends 'java.lang.Runnable'
+ implements 'my.package.Interface'
+ has-method 'doSomething' { has-param 'java.lang.String _' }
+}
+
This piece of code tells everything! no need to describe what you will find...
+Note
+all the variables, identifiers, parameters and properties with their possible values are documented. +you can see the documentation right inside the IDE in completion and using quick doc Ctrl+Q.
+scope
: the search scope: can be project
or all
scan-source
: if set to false
the search uses stubs only, otherwise full sources will be scanned$type
: any type: class, interface, ...$class
$interface
$annotation
$method
has-param
: checks that this method has exactly all the parameters specifiedwith-param
: like has-param
, but checks that at least these parameters are presentname-matches
: checks that the name of the entry matches this regexpsuper-of
: checks that this type is the super type of all types specified in parametersextends
: checks that this type extends all the types specified in parametersimplements
: checks that this type implements all the interfaces specified in parametersdirect-super-of
: check that this type is directly the super type of all types specified in parametersextends-directly
: check that this type directly extends all the types specified in parametersimplements-directly
: check that this type directly implements all the interfaces specified in parametershas-modifier
: checks that this entry has at least all the modifiers specified in parametershas-method
: checks that this type has methods with names specified in parametershas-method-directly
: checks that this type has methods that are defined in the type itself, not just inheritedis-anonymous
: checks that this type is an anonymous classnot-anonymous
: checks that this type is not an anonymous classIn this section you can find all the languages, with detailed description on syntax and usage, +that are supported.
+ + + + + + +As the name shouts, this is a utility feature that helps you search in the project in an advanced level! +Even better than IDE does!
+(Though this feature is still at early stages... :))
+Note
+This feature is currently implemented for java.
+.aas
extension.Take a look at this example:
+ +with this, you will find all classes that extend java.lang.Runnable
To see detailed description about all supported language please visit here
+language
property. this tells the engine which language you want to do search in.If you're interested in advanced search, and you want to implement this feature for your favorite language, +you can refer to this section for more info on how to extend this...
+ + + + + + +Changes the editor Tab Placement to BOTTOM.
+ + + + + + +Changes the editor Tab Placement to LEFT.
+ + + + + + +Changes the editor Tab Placement to RIGHT.
+ + + + + + +Changes the editor Tab Placement to TOP.
+ + + + + + +This is a toggle action that changes the checked state of the setting
+Actionable > Find > Is Find Case-Sensitive?
.
Expands some tags as soon as you type them.
+ + + + + + +Automatically inserts semicolons in some situations as you type!
+ + + + + + +Refactors the name of a local variable as you change it.
+Warning
+This is in an early stage and some bugs, so disabled by default.
+Note
+Refactoring happens when you change the name of the variable where you declared it, +not where you use it!
+Smartly helps you to collapse empty XML
tags by just pressing backspace.
Symbol | +Meaning | +
---|---|
| | +Caret | +
Backspace
+Expands a collapsed tag when caret is at the end of the tag and complete current statement happens.
+Symbol | +Meaning | +
---|---|
| | +Caret | +
Press Ctrl+Shift+Enter (Complete Current Statement)
+Does exactly what IDE action Start New Line Before Current does.
+Due to a bug in Jetbrains Rider, while editing XAML
files, the builtin IDE action doesn't work!
Note
+This action is only available in Jetbrains Rider.
+Creates a memory-mapped file that is not bound to anything in the local filesystem.
+Warning
+By closing the IDE, the file and all its contents will be lost!
+Deletes the current file opened in the editor.
+Note
+You can also access this action by right-clicking on an editor tab.
+Opens IDE keymap settings page
+ + + + + + +Shows an input dialog, with autocompletion, to add an import.
+You don't have to go to the top of the file to add an import statement.
+ + + + + + +Switches between expression style and block body style functions if possible.
+position of the caret is unimportant.
+Selects from the caret backward up to the key you press, or the start of line.
+Symbol | +Meaning | +
---|---|
| | +Caret | +
[ ] | +Selection | +
Tip
+To cancel the action, press Esc.
+Selects from the caret forward up to the key you press, or the end of line.
+Symbol | +Meaning | +
---|---|
| | +Caret | +
[ ] | +Selection | +
Tip
+To cancel the action, press Esc.
+Moves the selection one line down. See the example in Move Selection Right to understand.
+Warning
+The functionality is broken when the file contains Tab characters.
+Moves the selection to the left. See the example in Move Selection Right to understand.
+ + + + + + +Moves the selection one line up. See the example in Move Selection Right to understand.
+Warning
+The functionality is broken when the file contains Tab characters.
+Moves the first selection to the next occurrence, if is not selected yet.
+ + + + + + +Moves the first selection to the previous occurrence, if is not selected yet.
+ + + + + + +Moves the last selection to the next occurrence, if is not selected yet.
+ + + + + + +Moves the last selection to the previous occurrence, if is not selected yet.
+ + + + + + +Selects the PsiElement under the caret, if exists.
+ + + + + + +Selects the line, where the caret is, without leading/trailing white-space.
+Symbol | +Meaning | +
---|---|
| | +Caret | +
[ ] | +Selection | +
class HelloWorld {
+ companion object {
+ @JvmStatic
+ fun main(args: Array<String>) {
+ println|("Hello World!")
+ }
+ }
+}
+
Selects a literal element (usually refers to strings) under a caret.
+Note
+This action is language aware, thus known languages are:
+java
kotlin
javascript
typescript
golang
In any file other than those above, the plugin tries to find the nearest quote pairs.
+Tip
+By executing the action twice you can change between selection with/without quotes.
+Tries to find the nearest quotes of any kind (`/'/") and selects the text between.
+ + + + + + +Tries to find the nearest backticks (`) and selects the text between.
+ + + + + + +Tries to find the nearest double-quotes (") and selects the text between.
+ + + + + + +Tries to find the nearest quotes (') and selects the text between.
+ + + + + + +Selects the Word under the caret, if exists.
+What is a Word?
+Checkout settings under Actionable > Caret > Movement
, there you will find, what is a Word :)
Unselects the first selection (ordinal, from top to bottom) in the editor.
+ + + + + + +Unselects the last selection (ordinal, from top to bottom) in the editor.
+ + + + + + +Duplicates a line (or multiple lines) and inserts contents gotten from an input dialog.
+Note
+* Using multiple carets are supported.
+* Selections are supported.
+
Symbol | +Meaning | +
---|---|
| | +Caret | +
[ ] | +Selection | +
OK
Info
+There is a setting under `Actionable > Text` that you can check it if you
+want the replacement to be case-preserving.
+
+before:
+```
+aCamelCaseName
+```
+
+your input:
+```
+HELLO_WORLD
+PascalCase
+```
+
+after:
+```
+helloWorld
+pascalCase
+```
+
+You can also control this setting, for the active action, within the dialog opened.
+
Same as Duplicate Line And Insert Contents, +instead of showing an input dialog, reads the contents from the clipboard.
+ + + + + + +This is a shortcut for navigating to Settings/Preferences > Actionable > Text > Macro
settings page.
Macros are just keyboard shortcuts to paste content into editor, but with a few other interesting features!
+Macro templates are just plain text files, but have a few keywords:
+$SELECTION$
: Will be replaced by the user selection, if exists.$WORD$
: Will be replaced by the word under the caret, if exists.$ELEMENT$
: Will be replaced by the PsiElement under the caret, if exists.$LINE$
: Will be replaced by the whole line under the caret.$NUMBER$
: Will be replaced by a number literal under the caret, if exists.$0$
: Final caret positionSymbol | +Meaning | +
---|---|
| | +Caret | +
[ ] | +Selection | +
Template:
+ +Text:
+ +After executing action:
+ +To add macros Open Macro Settings, and simply add macros :)
+Use code completion Ctrl+Space inside $$
for ease of use :)
+Syntax Highlighting and Inspections are also present… enjoy :)
Escape:
+\$
to escape a $
\\
to escape a \
like in \\$
After adding your macros, you need to assign shortcuts to them (but this is optional).
+Your macros will be available under menu bar Edit > Actionable > Text > Macro
.
To Assign Shortcuts:
+OR
+You can go to Settings > Keymap
and assign shortcuts there. see Open Keymap Settings
Replaces selections with clipboard contents while preserving the case.
+Info
+This action is also available via context menu under `Copy/Paste Special`
+
Replaces selections while preserving the case of the source.
+It shows an input dialog with a single line text field.
+Symbol | +Meaning | +
---|---|
| | +Caret | +
[ ] | +Selection | +
kebab-case
In this section, you will learn what each action does, how to use it and when you can use it.
+ + + + + + +Settings/Preferences > Plugins
Actionable
Settings/Preferences > Plugins
gear
iconInstall Plugin from Disk...
.zip
plugin fileYou can find nightly builds at releases page. +They are just tested once and may have some bugs.
+Also available from Edit > Actioable > Download And Install Nightly Build
in the IDE!
From the menu bar select Edit > Actionable
, and you will see all the actions are listed there.
You can examine them manually to discover what they do, or refer to the documentation.
+The final step is to assign shortcuts to actions you love! Then easily use them as you go!
+ + + + + + +{"use strict";/*!
+ * escape-html
+ * Copyright(c) 2012-2013 TJ Holowaychuk
+ * Copyright(c) 2015 Andreas Lubbe
+ * Copyright(c) 2015 Tiancheng "Timothy" Gu
+ * MIT Licensed
+ */var Ha=/["'&<>]/;Un.exports=$a;function $a(e){var t=""+e,r=Ha.exec(t);if(!r)return t;var o,n="",i=0,s=0;for(i=r.index;i