• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java EditorWriteActionHandler类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler的典型用法代码示例。如果您正苦于以下问题:Java EditorWriteActionHandler类的具体用法?Java EditorWriteActionHandler怎么用?Java EditorWriteActionHandler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



EditorWriteActionHandler类属于com.intellij.openapi.editor.actionSystem包,在下文中一共展示了EditorWriteActionHandler类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: createExpandTemplateHandler

import com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler; //导入依赖的package包/类
static EditorWriteActionHandler createExpandTemplateHandler(final char shortcutChar) {
  return new EditorWriteActionHandler(true) {
    @Override
    public void executeWriteAction(Editor editor, @Nullable Caret caret, DataContext dataContext) {
      Project project = editor.getProject();
      assert project != null;
      TemplateManager.getInstance(project).startTemplate(editor, shortcutChar);
    }

    @Override
    protected boolean isEnabledForCaret(@NotNull Editor editor, @NotNull Caret caret, DataContext dataContext) {
      Project project = editor.getProject();
      return project != null &&
             ((TemplateManagerImpl)TemplateManager.getInstance(project)).prepareTemplate(editor, shortcutChar, null) != null;
    }
  };
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:ExpandLiveTemplateCustomAction.java


示例2: doExecute

import com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler; //导入依赖的package包/类
@Override
protected final void doExecute(final Editor editor, @Nullable final Caret caret, final DataContext dataContext) {
	final Pair<Boolean, T> additionalParameter = beforeWriteAction(editor, dataContext);
	if (!additionalParameter.first) {
		return;
	}

	final Runnable runnable = new Runnable() {
		@Override
		public void run() {
			executeWriteAction(editor, caret, dataContext, additionalParameter.second);
		}
	};
	new EditorWriteActionHandler(false) {
		@Override
		public void executeWriteAction(Editor editor1, @Nullable Caret caret1, DataContext dataContext1) {
			runnable.run();
		}
	}.doExecute(editor, caret, dataContext);
}
 
开发者ID:krasa,项目名称:StringManipulation,代码行数:21,代码来源:MyEditorWriteActionHandler.java


示例3: createExpandTemplateHandler

import com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler; //导入依赖的package包/类
public static EditorWriteActionHandler createExpandTemplateHandler(final char shortcutChar) {
  return new EditorWriteActionHandler(true) {
    @Override
    public void executeWriteAction(Editor editor, @Nullable Caret caret, DataContext dataContext) {
      Project project = editor.getProject();
      assert project != null;
      TemplateManager.getInstance(project).startTemplate(editor, shortcutChar);
    }

    @Override
    protected boolean isEnabledForCaret(@Nonnull Editor editor, @Nonnull Caret caret, DataContext dataContext) {
      Project project = editor.getProject();
      return project != null &&
             ((TemplateManagerImpl)TemplateManager.getInstance(project)).prepareTemplate(editor, shortcutChar, null) != null;
    }
  };
}
 
开发者ID:consulo,项目名称:consulo,代码行数:18,代码来源:ExpandLiveTemplateCustomAction.java


示例4: RemoveEmptyLinesAction

import com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler; //导入依赖的package包/类
public RemoveEmptyLinesAction() {
	super(new EditorWriteActionHandler(true) {

		@Override
		public void executeWriteAction(Editor editor, DataContext dataContext) {

			// Column mode not supported
			if (editor.isColumnMode()) {
				return;
			}

			final SelectionModel selectionModel = editor.getSelectionModel();
			if (selectionModel.hasSelection()) {

				final String selectedText = selectionModel.getSelectedText();

				String[] textParts = selectedText.split("\n");
				Collection<String> result = new ArrayList<String>();

				for (String textPart : textParts) {
					if (StringUtils.isNotBlank(textPart)) {
						result.add(textPart);
					}
				}

				String[] res = result.toArray(new String[result.size()]);

				final String s = StringUtils.join(res, '\n');
				editor.getDocument().replaceString(selectionModel.getSelectionStart(),
						selectionModel.getSelectionEnd(), s);
			}

		}
	});
}
 
开发者ID:krasa,项目名称:StringManipulation,代码行数:36,代码来源:RemoveEmptyLinesAction.java


示例5: DecrementAction

import com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler; //导入依赖的package包/类
public DecrementAction() {
	super(null);
	this.setupHandler(new EditorWriteActionHandler(true) {
		@Override
		public void executeWriteAction(Editor editor, DataContext dataContext) {

			// Column mode not supported
			if (editor.isColumnMode()) {
				return;
			}
			final CaretModel caretModel = editor.getCaretModel();

			final int line = caretModel.getLogicalPosition().line;
			final int column = caretModel.getLogicalPosition().column;
			int caretOffset = caretModel.getOffset();

			final SelectionModel selectionModel = editor.getSelectionModel();
			boolean hasSelection = selectionModel.hasSelection();
			if (hasSelection == false) {
				selectionModel.selectLineAtCaret();
			}
			final String selectedText = selectionModel.getSelectedText();

			if (selectedText != null) {
				String[] textParts = StringUtil.splitPreserveAllTokens(selectedText,
						DuplicatUtils.SIMPLE_NUMBER_REGEX);
				for (int i = 0; i < textParts.length; i++) {
					textParts[i] = DuplicatUtils.simpleDec(textParts[i]);
				}

				final String newText = StringUtils.join(textParts);
				applyChanges(editor, caretModel, line, column, selectionModel, hasSelection, newText, caretOffset);
			}
		}
	});
}
 
开发者ID:krasa,项目名称:StringManipulation,代码行数:37,代码来源:DecrementAction.java


示例6: IncrementAction

import com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler; //导入依赖的package包/类
public IncrementAction() {
	super(null);
	this.setupHandler(new EditorWriteActionHandler(true) {

		@Override
		public void executeWriteAction(Editor editor, DataContext dataContext) {

			// Column mode not supported
			if (editor.isColumnMode()) {
				return;
			}
			final CaretModel caretModel = editor.getCaretModel();

			final int line = caretModel.getLogicalPosition().line;
			final int column = caretModel.getLogicalPosition().column;
			int caretOffset = caretModel.getOffset();

			final SelectionModel selectionModel = editor.getSelectionModel();
			boolean hasSelection = selectionModel.hasSelection();
			if (hasSelection == false) {
				selectionModel.selectLineAtCaret();
			}
			final String selectedText = selectionModel.getSelectedText();

			if (selectedText != null) {
				String[] textParts = StringUtil.splitPreserveAllTokens(selectedText,
						DuplicatUtils.SIMPLE_NUMBER_REGEX);
				for (int i = 0; i < textParts.length; i++) {
					textParts[i] = DuplicatUtils.simpleInc(textParts[i]);
				}

				final String newText = StringUtils.join(textParts);
				applyChanges(editor, caretModel, line, column, selectionModel, hasSelection, selectedText, newText,
						caretOffset);
			}
		}

	});
}
 
开发者ID:krasa,项目名称:StringManipulation,代码行数:40,代码来源:IncrementAction.java


示例7: handleInsert

import com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler; //导入依赖的package包/类
@Override
@RequiredWriteAction
public void handleInsert(final InsertionContext context, final T item)
{
	final Editor editor = context.getEditor();
	final Document document = editor.getDocument();
	context.commitDocument();

	PsiElement elementAt = context.getFile().findElementAt(context.getStartOffset());
	handleInsertImpl(context, item, editor, document);
	if(myOpenChar == '{')
	{
		document.insertString(editor.getCaretModel().getOffset(), "\n");
	}
	context.commitDocument();
	if(elementAt != null)
	{
		PsiElement parent = elementAt.getParent();

		CodeStyleManager.getInstance(elementAt.getProject()).reformat(parent);

		if(myOpenChar == '{')
		{
			EditorWriteActionHandler actionHandler = (EditorWriteActionHandler) EditorActionManager.getInstance().getActionHandler(IdeActions.ACTION_EDITOR_ENTER);
			actionHandler.executeWriteAction(editor, DataManager.getInstance().getDataContext(editor.getContentComponent()));
		}
	}
}
 
开发者ID:consulo,项目名称:consulo-csharp,代码行数:29,代码来源:ExpressionOrStatementInsertHandler.java


示例8: extend

import com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler; //导入依赖的package包/类
static void extend(CompletionContributor contributor)
{
	contributor.extend(CompletionType.BASIC, psiElement().andNot(psiElement().inside(DotNetXXXAccessor.class)), new CompletionProvider()
	{
		@RequiredReadAction
		@Override
		public void addCompletions(@NotNull CompletionParameters completionParameters, ProcessingContext processingContext, @NotNull CompletionResultSet resultSet)
		{
			PsiElement position = completionParameters.getPosition();
			final CSharpXXXAccessorOwner accessorOwner = PsiTreeUtil.getParentOfType(position, CSharpXXXAccessorOwner.class);
			if(accessorOwner == null)
			{
				return;
			}
			PsiElement leftBrace = accessorOwner.getLeftBrace();
			if(leftBrace == null)
			{
				return;
			}

			int textOffset = position.getTextOffset();
			PsiElement rightBrace = accessorOwner.getRightBrace();
			int rightTextRange = rightBrace == null ? -1 : rightBrace.getTextOffset();

			if((rightTextRange == -1 || textOffset < rightTextRange) && textOffset > leftBrace.getTextOffset())
			{
				if(accessorOwner.hasModifier(DotNetModifier.ABSTRACT))
				{
					buildAccessorKeywordsCompletion(resultSet, accessorOwner, null);
				}
				else
				{
					buildAccessorKeywordsCompletion(resultSet, accessorOwner, new InsertHandler<LookupElement>()
					{
						@Override
						@RequiredWriteAction
						public void handleInsert(InsertionContext context, LookupElement item)
						{
							if(context.getCompletionChar() == '{')
							{
								context.setAddCompletionChar(false);

								Editor editor = context.getEditor();

								CaretModel caretModel = editor.getCaretModel();
								int offset = caretModel.getOffset();

								context.getDocument().insertString(offset, "{\n}");
								caretModel.moveToOffset(offset + 1);

								PsiElement elementAt = context.getFile().findElementAt(offset - 1);

								context.commitDocument();

								DotNetXXXAccessor accessor = PsiTreeUtil.getParentOfType(elementAt, DotNetXXXAccessor.class);
								if(accessor != null)
								{
									CodeStyleManager.getInstance(context.getProject()).reformat(accessor);
								}

								EditorWriteActionHandler actionHandler = (EditorWriteActionHandler) EditorActionManager.getInstance().getActionHandler(IdeActions.ACTION_EDITOR_ENTER);
								actionHandler.executeWriteAction(editor, DataManager.getInstance().getDataContext(editor.getContentComponent()));
							}
						}
					});
				}
			}
		}
	});
}
 
开发者ID:consulo,项目名称:consulo-csharp,代码行数:71,代码来源:CSharpAccessorCompletionContributor.java



注:本文中的com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java SnmpEngineId类代码示例发布时间:2022-05-22
下一篇:
Java RuntimeConfigurationError类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap