È®ÀåÁ¡ ¹× ·¹Áö½ºÆ®¸®

Ç÷¯±×ÀÎÀÇ "¹øµé" Ãø¸éÀÌ ·±Å¸ÀÓ Ç÷¯±×ÀÎ ¹× ·±Å¸ÀÓ µµ±¸¿Í ¿¬°üµÇ´õ¶óµµ Ç÷¯±×ÀÎÀº Ç÷¯±×Àο¡¼­ Á¤ÀÇÇÑ È®ÀåÁ¡ ¹× Ç÷¯±×Àο¡¼­ Á¦°øÇÏ´Â È®Àå°ú °ü·ÃÀÌ ÀÖ´Ù´Â °ÍÀÌ ÈξÀ ´õ ÀϹÝÀûÀÔ´Ï´Ù. ÀÌ Á¤º¸´Â Ç÷§Æû È®Àå ·¹Áö½ºÆ®¸®ÀÎ IExtensionRegistry¿¡¼­ Á¦°øµË´Ï´Ù.

Ç÷¯±×Àο¡¼­ È®ÀåÀÌ Á¸ÀçÇÏ´ÂÁö¸¦ ¾Ë·Á°í ÇÏ´Â ÀÌÀ¯´Â ¹«¾ùÀԴϱî? ±¸Ã¼ÀûÀÎ ¿¹Á¦·Î ÀÌ Á¤º¸¿Í ÀÌ Á¤º¸¸¦ °¡Á®¿À´Â ÇÁ·ÎÅäÄÝÀÇ Çʿ伺À» ¼³¸íÇÒ ¼ö ÀÖ½À´Ï´Ù.

Ç÷§Æû¿¡ ¼³Ä¡µÈ »ç¿ë °¡´ÉÇÑ ¸ðµç º¸±â¸¦ Ç¥½ÃÇÏ´Â Workbench º¸±â Ç¥½Ã ´ëÈ­ »óÀÚ¸¦ »ó±âÇØ º¸½Ê½Ã¿À.

Hello Ç׸ñÀÌ ÀÖ´Â º¸±â Ç¥½Ã ´ëÈ­ »óÀÚ

Á¦°øµÈ ¸ðµç º¸±â¿¡ ´ëÇÑ º¸±â À̸§ ¹× Ä«Å×°í¸® À̸§ÀÌ org.eclipse.ui.viewsÀÇ È®ÀåÀ» Á¦°øÇÏ´Â Ç÷¯±×ÀÎÀÇ plugin.xml ÆÄÀÏ¿¡ ÁöÁ¤µÇ¾î ÀÖÀ½À» »ìÆì º» ¹Ù ÀÖ½À´Ï´Ù. ±×·¯³ª Workbench°¡ ÀÌ Á¤º¸¸¦ ¾î¶»°Ô ãÀ»±î¿ä? Ç÷§Æû È®Àå ·¹Áö½ºÆ®¸®¿¡¼­ ã½À´Ï´Ù. ´ÙÀ½ ÄÚµå´Â º¸±â Ç¥½Ã ´ëÈ­ »óÀÚÀÇ Workbench ±¸ÇöÀ» ±âÁØÀ¸·Î ÇÑ ´Ü¼øÈ­µÈ ½º´ÏÆêÀÔ´Ï´Ù.

	...
	IExtensionRegistry registry = Platform.getExtensionRegistry();
	IExtensionPoint point = registry.getExtensionPoint("org.eclipse.ui.views");
	if (point == null) return;
	IExtension[] extensions = point.getExtensions();
	for (int i = 0; i < extensions.length; i++)
		readExtension(extensions[i]);  //get the information about each extension
	...

Ç÷§Æû Ŭ·¡½º¿¡¼­ ·¹Áö½ºÆ®¸®¸¦ ¾òÀ» ¼ö ÀÖÀ½À» À§¿¡¼­ È®ÀÎÇß½À´Ï´Ù. IExtensionRegistryÀÇ ÇÁ·ÎÅäÄÝÀº À̸§ÀÌ org.eclipse.ui.viewsÀÎ È®ÀåÁ¡À» ã´Â µ¥ »ç¿ëµË´Ï´Ù. ƯÁ¤ È®ÀåÁ¡ ¶Ç´Â È®Àå¿¡ ´ëÇÑ ·¹Áö½ºÆ®¸®ÀÇ Á¤º¸´Â IExtensionRegistry, IExtensionPoint ¹× IExtension¿¡ Á¤ÀÇµÈ ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ¿© ãÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Å¬·¡½ºÀÇ javadocÀº ·¹Áö½ºÆ®¸® ÇÁ·ÎÅäÄÝ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.

°ü½ÉÀÌ ÀÖ´Â È®Àå Á¤ÀǸ¦ ã¾ÒÀ¸¸é IConfigurationElementÀÇ ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ¿© È®ÀåÀÇ °³º° ¼Ó¼ºÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.

¹ýÀû ÁÖÀÇ»çÇ×