kropp / intellij-makefile Goto Github PK
View Code? Open in Web Editor NEWMakefile support for IntelliJ-based IDEs
Home Page: https://victor.kropp.name/projects/makefile/
License: MIT License
Makefile support for IntelliJ-based IDEs
Home Page: https://victor.kropp.name/projects/makefile/
License: MIT License
An empty .SUFFIXES:
rule removes the default suffixes such as .c
and .o
. Since I'm not compiling C, I like to remove them.
I have a Makefile and Vim plugin. Intelijj Info:
IntelliJ IDEA 2017.1.4
Build #IU-171.4694.23, built on June 6, 2017
JRE: 1.8.0_112-release-736-b21 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.11.6-1-ARCH
Steps to reproduce:
Unable to edit any text in the Makefile. I tried opening and closing the file several times. I am however able to edit other files.
a: b b
or
a: b a: b
Hi,
first let me thank you for the work.
i tried to install the plugin but it seems to have no effect on
PyCharm Community Edition 2016.3.2 Build #PC-163.10154.50
any idea to make it working?
Thanks
James
all:: runecho
runecho: ; \
echo "hi"
The error is
<command>, <conditional>, <include>, <topconditional>, EOL, '\t', comment, define, export, identifier, override, private, undefine or vpath expected, got '\ '
Please fix the plugin to correctly highlight Makefile like this:
include config.inc.sh
SHELL := /bin/bash
ROUTE_TEST_TMP_FILE := $(shell mktemp)
PARALLEL = parallel --no-notice
nightly/full: nightly/_all | nightly
touch $@
clean:
ifeq ($(BUILD_TYPE),QA)
python make.py --clean data/area_of_interest.poly
else
rm -rf dependencies
endif
fdw:
python tools/configure_mysql_fdw.py \
--foreign_port 13306
The clickable targets feature in 0.9 is great! Thanks for the hard work on this. I noticed that I can also click and run .PHONY
targets, which are not actually targets.
Explanation of PHONY if you haven't used it before.
Also big thanks for the hard tabs fix! This plugin is getting better all the time!
Got some bugs with ifndef block
.SILENT
and correspondingly endif
as errors, that blocks IDE support of any code bellow this condition. Tested with ifeq - got same error (<conditional>,comment,else, endif or line expected, got '.SILENT')ifndef VERBOSE
.SILENT:
endif
default: build run
ifndef VERBOSE
ZZZZ = asdasda
endif
Hey,
Thanks for the plugin! Much appreciated!
One minor issue though. Target-specific variable assignment shows syntax error.
In this Makefile:
test: export PYTHONPATH=$(PACKAGE_DIR)
test: testbuild build
@py.test -vv --basetemp=$(TEST_DATA_DIR) $(TEST_CODE_DIR)
The '=' on the first line causes syntax error:
';', EOL, comment, identifier, split or '|' expected, got '='
target:
ifdef VARIABLE_NAME
cmd
else
else-cmd
endif
The ifdef
will not be recognized as keyword and the subsequent line’s tab indention is marked as error with the message:
':' or identifier expected, got ''
Thanks you creating so cool plugin :)
Following Makefile is occurred analysis error, but It is no problem writing on GNU Make.
# ↓ occurred
FAIL_VAL = \
xxxxxx
NO_FAIL_VAL = xxx \
xxxxxx
IntelliJ IDEA 2016.3.5
Build #IU-163.13906.18, built on March 6, 2017
JRE: 1.8.0_112-release-408-b6 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
I tried to report on problems first (sorry, I cannot write the JVM language ...
Let me reuse the example from issue #13 and 14. The Makefile can be improved even further utiiizing Pattern Targets
The plugin marks test-foo and test-bar as unresolved.
all: test-foo test-bar
test-%:
@echo "$*"
See #25
Hi
Thanks for this. I loved the moment i could get rid of that textmate workaround :)
Please associate more patterns with this plugin (https://www.gnu.org/software/make/manual/make.html#Makefile-Names)
And just for me :)
Mike
Cannot rename class com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReference from class com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReferenceSet to wrapper: Manipulator for this element is not defined: MakefilePrerequisiteImpl(PREREQUISITE); class name.kropp.intellij.makefile.psi.impl.MakefilePrerequisiteImpl
com.intellij.util.IncorrectOperationException: Manipulator for this element is not defined: MakefilePrerequisiteImpl(PREREQUISITE); class name.kropp.intellij.makefile.psi.impl.MakefilePrerequisiteImpl
at com.intellij.psi.impl.source.resolve.reference.impl.CachingReference.getManipulator(CachingReference.java:53)
at com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReference.rename(FileReference.java:522)
at com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReference.bindToElement(FileReference.java:467)
at com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReference.bindToElement(FileReference.java:515)
at com.intellij.refactoring.rename.RenameUtil.doRenameGenericNamedElement(RenameUtil.java:245)
at com.intellij.refactoring.rename.RenamePsiElementProcessor.renameElement(RenamePsiElementProcessor.java:60)
at com.intellij.refactoring.rename.RenameUtil.doRename(RenameUtil.java:187)
at com.intellij.refactoring.rename.RenameProcessor.performRefactoring(RenameProcessor.java:384)
at com.intellij.refactoring.BaseRefactoringProcessor.lambda$doRefactoring$3(BaseRefactoringProcessor.java:487)
at com.intellij.refactoring.BaseRefactoringProcessor.lambda$doRefactoring$4(BaseRefactoringProcessor.java:498)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$runWriteActionWithProgressInDispatchThread$14(ApplicationImpl.java:957)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:176)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:556)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:501)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:163)
at com.intellij.openapi.progress.util.PotemkinProgress.runInSwingThread(PotemkinProgress.java:157)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithProgressInDispatchThread(ApplicationImpl.java:957)
at com.intellij.refactoring.BaseRefactoringProcessor.doRefactoring(BaseRefactoringProcessor.java:498)
at com.intellij.refactoring.BaseRefactoringProcessor.access$100(BaseRefactoringProcessor.java:80)
at com.intellij.refactoring.BaseRefactoringProcessor$3.run(BaseRefactoringProcessor.java:312)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:149)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:109)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:99)
at com.intellij.refactoring.BaseRefactoringProcessor.execute(BaseRefactoringProcessor.java:308)
at com.intellij.refactoring.BaseRefactoringProcessor.doRun(BaseRefactoringProcessor.java:232)
at com.intellij.refactoring.rename.RenameProcessor.doRun(RenameProcessor.java:122)
at com.intellij.openapi.fileEditor.impl.NonProjectFileWritingAccessProvider.disableChecksDuring(NonProjectFileWritingAccessProvider.java:181)
at com.intellij.refactoring.BaseRefactoringProcessor.run(BaseRefactoringProcessor.java:565)
at com.intellij.refactoring.ui.RefactoringDialog.invokeRefactoring(RefactoringDialog.java:183)
at com.intellij.refactoring.rename.RenameDialog.performRename(RenameDialog.java:325)
at com.intellij.refactoring.rename.RenameDialog.doAction(RenameDialog.java:303)
at com.intellij.refactoring.rename.RenameWithOptionalReferencesDialog.doAction(RenameWithOptionalReferencesDialog.java:60)
at com.intellij.refactoring.ui.RefactoringDialog.doRefactorAction(RefactoringDialog.java:88)
at com.intellij.refactoring.ui.RefactoringDialog$RefactorAction.actionPerformed(RefactoringDialog.java:160)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6541)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6306)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4897)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4719)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4719)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:737)
at java.awt.EventQueue$4.run(EventQueue.java:735)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:827)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:651)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227)
at java.awt.Dialog.show(Dialog.java:1084)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:735)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:457)
at com.intellij.openapi.ui.DialogWrapper.invokeShow(DialogWrapper.java:1696)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1645)
at com.intellij.refactoring.rename.PsiElementRenameHandler.rename(PsiElementRenameHandler.java:198)
at com.intellij.refactoring.rename.PsiElementRenameHandler.rename(PsiElementRenameHandler.java:169)
at com.intellij.refactoring.rename.DirectoryAsPackageRenameHandlerBase.doRename(DirectoryAsPackageRenameHandlerBase.java:133)
at com.intellij.refactoring.rename.DirectoryAsPackageRenameHandlerBase.invoke(DirectoryAsPackageRenameHandlerBase.java:124)
at com.intellij.refactoring.actions.BaseRefactoringAction.actionPerformed(BaseRefactoringAction.java:132)
at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:208)
at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:86)
at com.intellij.openapi.application.TransactionGuardImpl.submitTransactionAndWait(TransactionGuardImpl.java:151)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:222)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:570)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$processAction$2(IdeKeyEventDispatcher.java:619)
at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:193)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:618)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.java:477)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:211)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:633)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
PhpStorm 2017.1 EAP
Build #PS-171.2613.13, built on January 25, 2017
JRE: 1.8.0_112-release-b696 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Trace:
null
java.lang.NullPointerException
at name.kropp.intellij.makefile.psi.MakefileTargetPresentation.getLocationString(MakefileTargetPresentation.java:22)
at com.intellij.ide.projectView.PresentationData.updateFrom(PresentationData.java:186)
at com.intellij.ide.util.treeView.smartTree.TreeElementWrapper.update(TreeElementWrapper.java:41)
at com.intellij.ide.util.treeView.PresentableNodeDescriptor.getUpdatedPresentation(PresentableNodeDescriptor.java:88)
at com.intellij.ide.util.treeView.PresentableNodeDescriptor.update(PresentableNodeDescriptor.java:41)
at com.intellij.ide.util.treeView.AbstractTreeBuilder.updateNodeDescriptor(AbstractTreeBuilder.java:577)
at com.intellij.ide.util.treeView.AbstractTreeUi$22.perform(AbstractTreeUi.java:924)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:36)
at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1824)
at com.intellij.ide.util.treeView.AbstractTreeUi.update(AbstractTreeUi.java:920)
at com.intellij.ide.util.treeView.AbstractTreeUi.update(AbstractTreeUi.java:877)
at com.intellij.ide.util.treeView.AbstractTreeUi.processExistingNode(AbstractTreeUi.java:2970)
at com.intellij.ide.util.treeView.AbstractTreeUi.access$4800(AbstractTreeUi.java:64)
at com.intellij.ide.util.treeView.AbstractTreeUi$32$1.run(AbstractTreeUi.java:1708)
at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1803)
at com.intellij.ide.util.treeView.AbstractTreeUi.access$5100(AbstractTreeUi.java:64)
at com.intellij.ide.util.treeView.AbstractTreeUi$33.perform(AbstractTreeUi.java:1769)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:36)
at com.intellij.ide.util.treeView.AbstractTreeUi.executeYieldingRequest(AbstractTreeUi.java:2058)
at com.intellij.ide.util.treeView.AbstractTreeUi.access$5700(AbstractTreeUi.java:64)
at com.intellij.ide.util.treeView.AbstractTreeUi$36$1.perform(AbstractTreeUi.java:1970)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:36)
at com.intellij.ide.util.treeView.AbstractTreeBuilder.runOnYeildingDone(AbstractTreeBuilder.java:433)
at com.intellij.ide.util.treeView.AbstractTreeUi.runOnYieldingDone(AbstractTreeUi.java:2153)
at com.intellij.ide.util.treeView.AbstractTreeUi$36.perform(AbstractTreeUi.java:1965)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:36)
at com.intellij.ide.util.treeView.AbstractTreeBuilder.lambda$new$0(AbstractTreeBuilder.java:51)
at com.intellij.util.containers.TransferToEDTQueue.processNext(TransferToEDTQueue.java:99)
at com.intellij.util.containers.TransferToEDTQueue.access$300(TransferToEDTQueue.java:37)
at com.intellij.util.containers.TransferToEDTQueue$1.run(TransferToEDTQueue.java:58)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
at com.intellij.ide.IdeEventQueue.f(IdeEventQueue.java:818)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:655)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
The ioq3 makefile is parsed with an error (see screenshot).
This error seems to be incorrect, because the Makefile works pretty well.
Here is the makefile (gzipped because github doesn't allow to attach it as is):
Thanks a lot for the 'run' button!
We're using https://github.com/gojuno/make-profiler to run our Makefiles to get idea of how long the target was executing.
It looks like integration of it can be seamless if we put #!/usr/bin/env profile_make
at the start of Makefile. Can it be supported for choosing the correct Make executable?
Hi, thanks for fixing so quickly #19 and #20 .
I have another feature request. I have a makefile in a subdirectory of my project. When running a target, it seems that it's running in the project root folder as a working directory instead of the Makefile directory.
For example, this will always display the project root, and not the makefile directory
default:
@echo `pwd`
https://plugins.jetbrains.com/idea/plugin/9333 gives me 404 NOT FOUND.
I guess the url should be https://plugins.jetbrains.com/plugin/9333
Let me reuse the example from issue #13. In that example i put the all
target at the end because i did not want to talk about this bug yet.
The natural way to write that Makefile is to put the all
target to the top. But the plugin then considers the dependencies unresolved. In a Makefile that doesn't matter. Dependencies are resolved at the end.
# The targets are marked with a curly red line and the message: "Unresolved prerequisite"
all: test-foo test-bar
test-foo: export VARIABLE=foo
test-foo:
@echo "$$VARIABLE"
test-bar: export VARIABLE=bar
test-bar:
@echo "$$VARIABLE"
https://www.gnu.org/software/make/manual/html_node/Target_002dspecific.html#Target_002dspecific
currently in a definition like so:
rule : VARIABLE = value
rule is marked as redundant
PhpStorm 172.3317.
Cannot rename class com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReference from class com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReferenceSet to web-server: Manipulator for this element is not defined: MakefilePrerequisiteImpl(PREREQUISITE); class name.kropp.intellij.makefile.psi.impl.MakefilePrerequisiteImpl
com.intellij.util.IncorrectOperationException: Manipulator for this element is not defined: MakefilePrerequisiteImpl(PREREQUISITE); class name.kropp.intellij.makefile.psi.impl.MakefilePrerequisiteImpl
at com.intellij.psi.impl.source.resolve.reference.impl.CachingReference.getManipulator(CachingReference.java:53)
at com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReference.rename(FileReference.java:537)
at com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReference.bindToElement(FileReference.java:482)
at com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReference.bindToElement(FileReference.java:530)
at com.intellij.refactoring.rename.RenameUtil.doRenameGenericNamedElement(RenameUtil.java:246)
at com.intellij.refactoring.rename.RenamePsiElementProcessor.renameElement(RenamePsiElementProcessor.java:58)
at com.intellij.refactoring.rename.RenameUtil.doRename(RenameUtil.java:188)
at com.intellij.refactoring.rename.RenameProcessor.performRefactoring(RenameProcessor.java:380)
at com.intellij.refactoring.BaseRefactoringProcessor.lambda$doRefactoring$11(BaseRefactoringProcessor.java:475)
at com.intellij.refactoring.BaseRefactoringProcessor.lambda$doRefactoring$12(BaseRefactoringProcessor.java:486)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$runWriteActionWithProgressInDispatchThread$15(ApplicationImpl.java:993)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:170)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:548)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:493)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:94)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:157)
at com.intellij.openapi.progress.util.PotemkinProgress.runInSwingThread(PotemkinProgress.java:167)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithProgressInDispatchThread(ApplicationImpl.java:993)
at com.intellij.refactoring.BaseRefactoringProcessor.doRefactoring(BaseRefactoringProcessor.java:486)
at com.intellij.refactoring.BaseRefactoringProcessor.lambda$execute$4(BaseRefactoringProcessor.java:314)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:149)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:109)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:99)
at com.intellij.refactoring.BaseRefactoringProcessor.execute(BaseRefactoringProcessor.java:312)
at com.intellij.refactoring.BaseRefactoringProcessor.doRun(BaseRefactoringProcessor.java:243)
at com.intellij.refactoring.rename.RenameProcessor.doRun(RenameProcessor.java:122)
at com.intellij.openapi.fileEditor.impl.NonProjectFileWritingAccessProvider.disableChecksDuring(NonProjectFileWritingAccessProvider.java:180)
at com.intellij.refactoring.BaseRefactoringProcessor.run(BaseRefactoringProcessor.java:553)
at com.intellij.refactoring.ui.RefactoringDialog.invokeRefactoring(RefactoringDialog.java:192)
at com.intellij.refactoring.rename.RenameDialog.performRename(RenameDialog.java:325)
at com.intellij.refactoring.rename.RenameDialog.doAction(RenameDialog.java:303)
at com.intellij.refactoring.ui.RefactoringDialog.doRefactorAction(RefactoringDialog.java:97)
at com.intellij.refactoring.ui.RefactoringDialog$RefactorAction.actionPerformed(RefactoringDialog.java:169)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicRootPaneUI$Actions.actionPerformed(BasicRootPaneUI.java:208)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1663)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2882)
at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:307)
at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:250)
at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2974)
at javax.swing.JComponent.processKeyBindings(JComponent.java:2966)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2845)
at java.awt.Component.processEvent(Component.java:6318)
at java.awt.Container.processEvent(Container.java:2237)
at java.awt.Component.dispatchEventImpl(Component.java:4897)
at java.awt.Container.dispatchEventImpl(Container.java:2295)
at java.awt.Component.dispatchEvent(Component.java:4719)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:806)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1074)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:945)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:771)
at com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:27)
at java.awt.Component.dispatchEventImpl(Component.java:4768)
at java.awt.Container.dispatchEventImpl(Container.java:2295)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4719)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:737)
at java.awt.EventQueue$4.run(EventQueue.java:735)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:821)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:622)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
at java.awt.Dialog.show(Dialog.java:1084)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:736)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:458)
at com.intellij.openapi.ui.DialogWrapper.invokeShow(DialogWrapper.java:1686)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1635)
at com.intellij.refactoring.ui.RefactoringDialog.show(RefactoringDialog.java:64)
at com.intellij.refactoring.rename.PsiElementRenameHandler.rename(PsiElementRenameHandler.java:198)
at com.intellij.refactoring.rename.PsiElementRenameHandler.rename(PsiElementRenameHandler.java:169)
at com.intellij.refactoring.rename.DirectoryAsPackageRenameHandlerBase.doRename(DirectoryAsPackageRenameHandlerBase.java:130)
at com.intellij.refactoring.rename.DirectoryAsPackageRenameHandlerBase.invoke(DirectoryAsPackageRenameHandlerBase.java:121)
at com.intellij.refactoring.actions.BaseRefactoringAction.actionPerformed(BaseRefactoringAction.java:134)
at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:216)
at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:86)
at com.intellij.openapi.application.TransactionGuardImpl.submitTransactionAndWait(TransactionGuardImpl.java:151)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:231)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:576)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$processAction$2(IdeKeyEventDispatcher.java:625)
at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:193)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:624)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.java:479)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:213)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:621)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
And propagate prerequisites to dependent rules
Magic targets are currently grayed out and reported as redundant rules. It would be great if the plug-in recognizes the magic targets and displays them either normally or with a special color.
https://www.gnu.org/software/make/manual/html_node/Special-Targets.html#Special-Targets
Note that some of the special targets require an argument to be effective, e.g. .PHONY
.
I'm using PhpStorm EAP 2017.1 (build 171.1834.12), is there any way you could make this plugin compatible?
PhpStorm 2017.1 EAP
Build #PS-171.1834.12, built on December 22, 2016
JRE: 1.8.0_112-release-b620 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
GNU/Make can written variable that following case
FOO :=
target: download_url = https:/xxxxx
target:
@echo "$(download_url) is only scope of $@"
IntelliJ IDEA 2016.3.5
Build #IU-163.13906.18, built on March 6, 2017
JRE: 1.8.0_112-release-408-b6 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
It would be great if there were build instructions in readme to allow testing the latest changes before they are released. I see some syntax errors but they may be already fixed in master so I am not sure if I should report them or just wait for the next release.
I found the plugin jar, but not sure how to produce a new one and what dependencies are required.
$ ls -l ~/Library/Application\ Support/PyCharm2016.3/intellij-makefile/lib/
total 336
-rw-r--r-- 1 andrei staff 165K Feb 24 09:44 intellij-makefile-1.0.jar
See 'vendor' target in Hugo Makefile
Currently editing makefiles uses the IDE default indentation setting. This breaks when this is set to spaces. The plugin should force the indentation style to tabs in makefiles.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.