рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрдВрдЯреЗрд▓реАрдЬ рдЖрдИрдбреАрдИ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓реЗрдЦ рд╣реИрдмреЗ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧреЗ -
рдПрдХ , рдФрд░ рдпрд╣рд╛рдВ
рдПрдХ рдФрд░ ред
рдореИрдВ рдЗрд╕ рд╢рд╛рдирджрд╛рд░ рдкреНрд░рд╡реГрддреНрддрд┐ рдХреЛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛ рдФрд░ рдЗрдиреНрдЯреЗрд▓рд┐рдЬ рдУрдкрдирдПрдкреАрдЖрдИ рдХреЗ рдЙрди рд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрднреА рддрдХ рдЫреБрдЖ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ; рдФрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдордЬрд╝реЗрджрд╛рд░ рдХреЙрдорд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде
рдкреНрд▓рдЧ-рдЗрди рд╣реЛрдЧрд╛ред

рд╡рд┐рд╕реНрддрд╛рд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдмрд╕ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдмрд╛рдд рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рд╕реЙрдХреЗрдЯ рдореЗрдВ рдореЗрд░реЗ рдкрд╕рдВрджреАрджрд╛
рдЧреАрдХ рдПрдВрдб рдкреЛрдХ рд╕реЗ рддрд╛рдЬрд╛ рддрд╕реНрд╡реАрд░реЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╕рдордп-рд╕рдордп рдкрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдЗрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдХреЗ рдбрд┐рд╕реНрдХ рдкрд░ рдХреИрд╢рд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИред рд╕реВрддреНрд░, рд╡реИрд╕реЗ,
GitHub'e рдкрд░ред
рдЬреЛ рд▓реЛрдЧ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рддрд░реНрдХ рд╣реИрдВ - рдХреЙрдорд┐рдХреНрд╕
CC BY-SA 3.0 рдХреЗ рдЕрдЪреНрдЫреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдХрд╛рдиреВрдиреА рд╣реИ :)
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рд╕реЗ,
plugin.xml
рдФрд░ рдЕрдиреНрдп рдмреБрдирд┐рдпрд╛рджреА рдЪреАрдЬреЛрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ - рд╕рд╛рде рд╣реА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд▓рд┐рдВрдХ - рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд░реЛрдХреНрдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ, рд╣рдо рдЗрд╕реЗ рджреЛрд╣рд░рд╛рдПрдВрдЧреЗ рдирд╣реАрдВ; рдФрд░ рдореИрдВ рдЙрдирдХреЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реВрдБред
рдкреНрд░реЙрдХреНрд╕реА рд╕рдорд░реНрдерди
рдЗрдВрдЯреЗрд▓реАрдЬ рдЖрдИрдбреАрдИрдП (рдФрд░ рдЕрдиреНрдп рдЖрдИрдбреАрдИ) рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ
рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд
рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред
рд▓реЗрдХрд┐рди рдЕрдкрдиреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдЖрдИрдбреАрдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣
com.intellij.util.net.HttpConfigurable
рд╡рд░реНрдЧ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рджреЗрдЦрдиреЗ рд▓рд╛рдпрдХ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реИрдВ:
USE_HTTP_PROXY
рдзреНрд╡рдЬ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ; рд╕рд╛рде рд╣реА рдореЗрдЬрдмрд╛рди, рдмрдВрджрд░рдЧрд╛рд╣ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реАред
рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдХреЗ, рд╡рд┐рдзрд┐ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
public void prepareURL (String url) throws IOException {
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ
url
рдХреЗ рд▓рд┐рдП рдХреЛрдб рдореЗрдВ
url
рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:
JetBrains рдлрд╝реЛрд░рдо рдореЗрдВ,
рдХреЛрдИ рд╢рдкрде рд▓реЗрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рдорджрдж рдирд╣реАрдВ рдХрд░рддреА рд╣реИ - рд▓реЗрдХрд┐рди, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╡реЗ рд╡реНрдпрд░реНрде рд╣реИрдВред
рдкреНрд▓рдЧ-рдЗрди рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рдирд╛
рдореБрдЭреЗ рдПрдХ рдЕрд▓рдЧ рдзрд╛рдЧрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЬреЛ рд╕рдордп-рд╕рдордп рдкрд░ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдкреГрд╖реНрда рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ред
рдпрд╣
ApplicationComponent
рдорджрдж рдХрд░реЗрдЧрд╛ред
рдкреНрд▓рдЧрд┐рди рд╕рдВрд░рдЪрдирд╛ рд▓реЗрдЦ рдореЗрдВ, рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдШрдЯрдХреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдФрд░ рдЙрдирдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдк рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╣рдорд╛рд░реЗ рдШрдЯрдХ рдХреЛ
plugin.xml
рдЬреЛрдбрд╝реЗрдВ:
<application-components> <component> <implementation-class>com.abelsky.idea.geekandpoke.ComicsPlugin</implementation-class> <interface-class>com.abelsky.idea.geekandpoke.ComicsPlugin</interface-class> </component> </application-components>
рдФрд░ рдЗрд╕рдореЗрдВ рд╣рдо
initComponent
рд╡рд┐рдзрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
public class ComicsPlugin implements ApplicationComponent { private static final int UPDATE_PERIOD = 15 * 60 * 60 * 1000;
рд╕реНрдерд╛рдиреАрдпрдХрд░рдг
рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕реНрдирд┐рдкреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ:
package com.abelsky.idea.geekandpoke.messages;
рдпрд╣рд╛рдВ рдпрд╣ рдХрдИ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ
SoftBeference рдореЗрдВ
ResourceBundle
рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рд╣реИред рдпрд╣ IDEA рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдПрдХ рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп рдЕрднреНрдпрд╛рд╕ рд╣реИ - рдЧреИрд░-рд▓рд┐рдВрдХ рдореЗрдВ рдпрдерд╛рд╕рдВрднрд╡ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдПред
рд╡реИрд╕реЗ, рдореИрдВ рдЖрдкрдХреЛ
com.intellij.reference.SoftReference
рд╡рд░реНрдЧ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ - рдпрд╣ рд╕реНрд╡рдпрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╣реИрдВ рдЬреЛ
java.lang.ref
рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрдЬрд╛рдп рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ
java.lang.ref
ред рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЛ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рдкрд░ рд╕рдВрджреЗрд╣ рд╣реИ, рддреЛ
com.intellij.reference.SoftReference
рдЬрд▓реНрджреА рд╕реЗ рдПрдХ рдХрдбрд╝реА рд╕реЗ рдХрдбрд╝реА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
рджреВрд╕рд░рд╛ рд╣реИ рдПрдиреЛрдЯреЗрд╢рди
org.jetbrains.annotations.PropertyKey
ред рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдПрдиреЛрдЯреЗрдЯ рд╡рд┐рдзрд┐ рдХрд╛ рддрд░реНрдХ рдХреЗрд╡рд▓ рд╕рдВрд╕рд╛рдзрдирдмрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдмрдВрдбрд▓ рд╕реЗ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ .properties рдлрд╝рд╛рдЗрд▓ рдФрд░ рдХреЛрдб рдореЗрдВ рдЪрд╛рдмрд┐рдпрд╛рдБ рд╕рд┐рдВрдХ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рд╣реИрдВ (рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ IDEA рдореЗрдВ рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд┐рдВрдЧ рдмрд╣реБрдд рдХреБрдЫ рд╕реАрдЦрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдВрдЬреА рдФрд░ рдмрдВрдбрд▓ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдВрдмрдВрдз рд╣реИ)ред
рддреАрд╕рд░рд╛, рдПрдиреЛрдЯреЗрд╢рди
org.jetbrains.annotations.NonNls
/
org.jetbrains.annotations.Nls
, рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ (рдпрд╛, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдирд╣реАрдВ) рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП JetBrains рдкреНрд░рд▓реЗрдЦрди
рдпрд╣рд╛рдБ рд╣реИ ред
рдЕрдзрд┐рд╕реВрдЪрдирд╛
рдХреБрдЫ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рд╕реБрдВрджрд░ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

рдпрд╣рд╛рдБ рдпрд╣ рд╡рд░реНрдЧ
com.intellij.notification.Notifications
рдУрд░ рджреЗрдЦрдиреЗ рд▓рд╛рдпрдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:
private void notifyNewEntry() { final Notification newEntryNotification = new Notification( MessageBundle.message("notification.new.strip.group"), MessageBundle.message("notification.new.strip.title"), MessageBundle.message("notification.new.strip.content"), NotificationType.INFORMATION);
рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╕рдореВрд╣ рдЖрдИрдбреАрдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП,
рдкреНрд░рд▓реЗрдЦрди рджреЗрдЦреЗрдВред

рд╕реЗрдЯрд┐рдВрдЧреНрд╕
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдкреНрд▓рдЧ-рдЗрди рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧ рдкреГрд╖реНрда рдХреЛ рдХреИрд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╣реИ ред
рд▓реЗрдХрд┐рди рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рддреЛ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ,
plugin.xml
рдореЗрдВ
plugin.xml
:
<extensions defaultExtensionNs="com.intellij"> <applicationConfigurable instance="com.abelsky.idea.geekandpoke.ui.SettingsPanel"/> </extensions>
рджреВрд╕рд░реЗ, рд╣рдо
com.intellij.openapi.options.Configurable
рдЗрдВрдЯрд░рдлрд╝реЗрд╕
com.intellij.openapi.options.Configurable
рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдЗрдирдореЗрдВ рд╕реЗ, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг -
createComponent
- рдЙрд╕ рдШрдЯрдХ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕ рдкрд░ рд╣рдорд╛рд░реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИрдВред
рдСрдлрд╝рд▓рд╛рдЗрди рдХреИрд╢
рдбрд┐рд╕реНрдХ рдкрд░ рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкреНрд▓рдЧ-рдЗрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреИрд╢ рдХреЛ рд▓рд┐рдЦрддреЗ рд╕рдордп рдПрдХ рд╣реА рд╕рд╡рд╛рд▓ рдЙрдареЗрдЧрд╛ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдпрд╛
%TMP%
рдореЗрдВ рдХреЛрдИ рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрдиреНрд╣реЗрдВ
%USERPROFILE%
рдореЗрдВ рдХрд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд░реЛрдЪрдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ - рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдкреНрд▓рдЧ-рдЗрди рд╕реНрд╡рдпрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред
%USERPROFILE%/.IdeaIC11/config/plugins/PLUGIN_NAME
рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ; рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдкрде рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓
idea.plugins.path
рдХреЛ
idea.properties
рдореЗрдВ рд╕реЗрдЯ рдХрд░рдХреЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
// PLUGIN_ID - id plugin.xml. final PluginId id = PluginId.getId(PLUGIN_ID); final IdeaPluginDescriptor plugin = PluginManager.getPlugin(id); // . File path = plugin.getPath();
рдкрд░рд┐рдгрд╛рдореА рдкрде, рд╡реИрд╕реЗ, рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ JAR рдлрд╝рд╛рдЗрд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ - рдпрджрд┐ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЕрдирдкреИрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкреБрдирд╢реНрдЪ
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрдХреНрд╖рд┐рдкреНрдд FAQ IntelliJ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдореЗрдВ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдФрд░ рдЗрд╕ рдмреАрдЪ, рдореИрдВ рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореИрдВ рдпрд╣ рд╕рдм рд╕рдордЭрдиреЗ рд▓рдЧрд╛ рдерд╛ - рдПрдХ рдмрд╣реБрдд рд╣реА рд░реЛрдЪрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдИрдбрд┐рдпрд╛ рдкреНрд▓рдЧ-рдЗрди;)