2011-03-10 9 views
6

हमारे प्रोजेक्ट में "अप्रबंधित प्रोफ़ाइल" और सेव-टाइम ऑटोफॉर्मेटिंग है। मैं इस अप्रबंधित प्रोफ़ाइल के लिए सेटिंग्स को संशोधित करने में सक्षम होना चाहता हूं और उन्हें संस्करण नियंत्रण में वापस जांचने में सक्षम होना चाहता हूं।मैं एक अप्रबंधित ग्रहण स्वरूपण प्रोफ़ाइल का प्रबंधन कैसे करूं?

ग्रहण सहायता दस्तावेज़ काफी अनुपयोगी हैं ("आपको ऐसी प्रोफ़ाइल बदलने की अनुमति नहीं है, केवल प्रोफ़ाइल का निर्माता (प्रबंधक) इसे बदल सकता है।")।

उत्तर

2

ग्रहण आपके प्रोजेक्ट डीआईआर में एक .settings फ़ोल्डर डालना चाहिए जब आपके पास एक अप्रबंधित प्रोफ़ाइल हो। अब तक सेटिंग्स को बदलने का एकमात्र तरीका प्रोजेक्ट के भीतर .settings फ़ोल्डर में जाना है और हाथ में .prefs फ़ाइलों को संपादित करना है।

+0

के साथ काम करती है, यह उत्तर लगता है। मैं इसके आसपास काम करने के लिए क्या कर रहा हूं, किसी अन्य प्रोजेक्ट में एक कस्टम प्रोफाइल में संपादन करना, इसे निर्यात करना और तत्वों को बदलना और सेटिंग सेटिंग्स में समान परिवर्तन करना है। – magneticMonster

4

समस्या यह है कि एक प्रबंधित प्रोफ़ाइल वास्तव में आपके कार्यक्षेत्र में संग्रहीत होती है न कि आपकी परियोजना। सेटिंग्स को आपके प्रोजेक्ट में धक्का दिया जाता है जब आप एक अलग प्रोफ़ाइल चुनने जैसे परियोजना विशिष्ट परिवर्तन करते हैं। लेकिन प्रोजेक्ट में सेटिंग्स प्रोफाइल में (वर्कस्पेस में) के लिए एक अलग प्रारूप हैं।

वर्तमान में ग्रहण में इसे विपरीत में करने की क्षमता नहीं है। वर्कस्पेस में प्रोफाइल बनाने के लिए यह आपके प्रोजेक्ट फ़ोल्डर से सेटिंग्स नहीं ले सकता है। प्रभावी रूप से एक "अप्रबंधित प्रोफ़ाइल" एक प्रोफ़ाइल है जिसके लिए आपने स्रोत कोड खो दिया है।

प्रोफ़ाइल को रिवर्स-इंजीनियर करने का सबसे आसान तरीका एक XML प्रोफ़ाइल फ़ाइल उत्पन्न करना है जिसे आयात किया जा सकता है (फ़ॉर्मेटर सेटिंग्स -> आयात बटन के तहत)

किसी प्रोजेक्ट से सेटिंग्स को रिवर्स-इंजीनियर करने के लिए; मैंने निम्नलिखित कार्यक्रम लिखा था। यह एक परियोजना फ़ोल्डर से सेटिंग पढ़ता है और एक एक्सएमएल फ़ाइल के रूप में उन्हें बाहर लिखते हैं:

import java.io.*; 



public class ExtractFormatter { 

    public static void main(String args[]) throws IOException { 
     if (args.length < 2) 
      throw new RuntimeException("No arguements specified; expected <project folder> <output file>"); 

     File inFile = new File(args[0]); 
     File outFile = new File(args[1]); 

     BufferedReader reader = new BufferedReader(new FileReader(new File(inFile, 
       ".settings/org.eclipse.jdt.core.prefs"))); 
     PrintWriter writer = new PrintWriter(outFile); 
     writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>"); 

     // Retain the date from the file as a comment 
     String line = reader.readLine(); 
     writer.println("<!-- Exported from " + inFile + " -->"); 
     writer.println("<!-- " + line + " -->"); 

     writer.println("<profiles version=\"12\">"); 
     writer.println("<profile kind=\"CodeFormatterProfile\" name=\"" + inFile.getName() 
       + "\" version=\"12\">\")"); 


     // Now read every setting for the formatter and write it out as an XML tag. 
     for (line = reader.readLine(); line != null; line = reader.readLine()) { 
      if (line.startsWith("org.eclipse.jdt.core.formatter.")) { 
       String[] parts = line.split("=", 2); 
       writer.println("<setting id=\"" + parts[0] + "\" value=\"" + parts[1] + "\" />"); 
      } 
     } 

     writer.println("</profile>"); 
     writer.println("</profiles>"); 

     reader.close(); 
     writer.close(); 
    } 
} 
3

मुझे यकीन है कि अगर यह आप संस्करण नियंत्रण में वापस अपने प्रोफ़ाइल जाँच करने की अनुमति देगा नहीं कर रहा हूँ, लेकिन निम्न प्रक्रिया की अनुमति देगा आप किसी भी कंप्यूटर पर अपनी प्रोफ़ाइल को संपादित करने के लिए जिसने स्रोत चेक आउट किया है।

अपनी प्रोफ़ाइल संपादित करने के लिए, आप ग्रहण में प्रोफाइल, जो आप आसानी से इस प्रकार कर सकते हैं फिर से बनाना:

  • क्लिक करके एक नया प्रोफ़ाइल बनाएँ "नया ..."
  • नई दें अपनी मौजूदा अप्रबंधित प्रोफ़ाइल के समान नाम प्रोफ़ाइल करें।
  • ठीक क्लिक करने से पहले, सुनिश्चित करें कि आपने "निम्न प्रोफ़ाइल के साथ सेटिंग आरंभ करें" ड्रॉप डाउन सूची में अपनी अप्रबंधित प्रोफ़ाइल का चयन किया है।

यह आपको प्रोफ़ाइल को फिर से बनाने देगा, और आपको सामान्य रूप से एक्लिप्स में इसे संशोधित करने की अनुमति देगा।

नोट: यह प्रक्रिया एक्लिप्स इंडिगो

संबंधित मुद्दे