একা একা জাভা কোড ফরমেটার / বিউটিফায়ার / সুন্দর প্রিন্টার? [বন্ধ]


84

আমি জাভা জন্য উচ্চ মানের, একা একা সোর্স কোড বিন্যাসগুলির উপলভ্য পছন্দগুলি সম্পর্কে জানতে আগ্রহী

ফর্ম্যাটরটি অবশ্যই একা থাকা উচিত, এটি অবশ্যই কোনও "ব্যাচ" মোডকে সমর্থন করে যা কোনও নির্দিষ্ট বিকাশ পরিবেশ থেকে ডিউপলড হয় । আদর্শভাবে, এটি কোনও নির্দিষ্ট অপারেটিং সিস্টেমের সাথেও স্বাধীন হওয়া উচিত । সুতরাং, আইডিই ডু যাত্রার জন্য অন্তর্নির্মিত ফর্ম্যাটারটি এখানে খুব আগ্রহের বিষয় নয় (যদি না আইডিই ব্যাচ মোড ফর্ম্যাটর অনুরোধকে সমর্থন করে, সম্ভবত কমান্ড লাইন থেকে)। ক্লোজড-সোর্স সি / সি ++ তে লেখা একটি ফর্ম্যাটর যা কেবল চালু থাকে বলে, উইন্ডোজ আদর্শ নয়, তবে এটি কিছুটা আকর্ষণীয় is

স্পষ্টতই, একটি "ফর্ম্যাটার" (বা "বিউটিফায়ার") "স্টাইল পরীক্ষক" এর মতো নয়। একটি ফর্ম্যাটর উত্স কোডটিকে ইনপুট হিসাবে গ্রহণ করে, স্টাইলিং বিধি প্রয়োগ করে এবং স্টাইলযুক্ত উত্স কোড উত্পাদন করে যা মূল উত্স কোডের সাথে শব্দার্থগতভাবে সমান। সিনট্যাকটিক পরিবর্তনগুলি হোয়াইটস্পেস পরিবর্তন করার মতো কোড লেআউট সংশোধন করা বা importবিবৃতি সংগঠনের মতো বিষয়গুলিতে সীমাবদ্ধ । খুব অল্প, যদি থাকে তবে অন্যান্য রিফ্যাক্টরিং করা হয়। একটি শৈলী পরীক্ষক স্টাইলিং বিধিগুলি প্রয়োগ করে, তবে এটি আউটপুট হিসাবে পরিবর্তিত উত্স কোড উত্পাদন না করেই নিয়ম লঙ্ঘনের প্রতিবেদন করে । সুতরাং ছবিটি দেখতে এমন দেখাচ্ছে:

ফর্ম্যাটার (সংশোধিত উত্স কোড উত্পাদন করে যা স্টাইলিং বিধি মেনে চলে)

উত্স কোড পড়ুন y স্টাইলিং বিধি প্রয়োগ করুন y স্টাইলযুক্ত উত্স কোড লিখুন

স্টাইল পরীক্ষক (পরিবর্তিত উত্স কোড উত্পাদন করে না)

উত্স কোড পড়ুন St স্টাইলিং বিধি প্রয়োগ করুন ule বিধি লঙ্ঘন লিখুন

আরও স্পষ্টতা

সমাধানগুলি অবশ্যই অত্যন্ত কনফিগারযোগ্য be আমি আমার নিজস্ব স্টাইল নির্দিষ্ট করতে সক্ষম হতে চাই, কেবল প্রাকসেট তালিকা থেকে নির্বাচন না করে।

এছাড়াও, আমি জাভাতে লিখিত কোনও সাধারণ উদ্দেশ্যে প্রিটি-প্রিন্টারের সন্ধান করছি না যা অনেকগুলি জিনিস প্রিন্ট করে দিতে পারে। আমি জাভা কোডটি স্টাইল করতে চাই।

আমিও করছি না অগত্যা একটি আগ্রহী গ্র্যান্ড-একত্রিত ফরম্যাটার অনেক ভাষায় জন্য। আমি মনে করি জাভা ব্যতীত অন্য ভাষার পক্ষে কোনও সমাধানের জন্য সমাধানের পক্ষে এটি ভাল লাগবে তবে এটি কোনও প্রয়োজন নয়।

তদ্ব্যতীত, সরঞ্জাম যে শুধুমাত্র কোড হাইলাইট সঞ্চালন হয় ডান আউট

আমি একটি ওয়েব পরিষেবাতেও আগ্রহী নই আমি এমন একটি সরঞ্জাম চাই যা আমি স্থানীয়ভাবে চালাতে পারি।

শেষ অবধি, সমাধানগুলিকে ওপেন সোর্স, পাবলিক ডোমেন, শেয়ারওয়্যার, ফ্রি সফটওয়্যার, বাণিজ্যিক বা অন্য যে কোনও কিছুতেই সীমাবদ্ধ করা উচিত নয়। সমস্ত ধরণের লাইসেন্স গ্রহণযোগ্য


4
আমি এমন কিছু বেত্রাঘাত করেছি যা হ'ল স্ট্যান্ডসোন হেলিওস (Eclipse 3.6) যা কেবল কোড ফর্ম্যাটিং করে। এটি <13 মেগাবাইট, কেবল জাভা। openmrs-mailing-list-archives.1560443.n2.nabble.com/…
Кошелев Кошелев

উত্তর:


25

জিনডেন্ট (বাণিজ্যিক) আপনি যা চান তা করে:

http://www.jindent.com/

আমি এটি করার জন্য অতীতে জালোপি ব্যবহার করেছি, এটি ওপেন সোর্স:

http://jalopy.sourceforge.net/

সম্পাদনা: আমি নোট করব যে জালোপি মোটামুটি পুরানো এবং এর কোনও সাম্প্রতিক আপডেট বলে মনে হয় না। এটি জাভা 5/6 এর সাথে কাজ করবে কিনা তা আমি নিশ্চিত নই। পরিবর্তে আপনি জ্যাকবকে দেখতে চাইবেন:

http://www.tiobe.com/index.php/content/products/jacobe/Jacobe.html

রোডি গ্রিনের সাইটে ফর্ম্যাটারের আরও একটি সম্পূর্ণ তালিকা রয়েছে:

http://mindprod.com/jgloss/beautifier.html


ওপেন সোর্স জালোপি এবং এটির মধ্যে সম্পর্ক কী: ট্রাইম্যাক্স.com
গ্রেগ

দেখে মনে হচ্ছে ওপেন সোর্স প্রকল্পটি মারা গেছে এবং তারা বাণিজ্যিক সংস্করণ নিয়ে যাওয়ার সিদ্ধান্ত নিয়েছে - ট্রাইম্যাক্স প্রযোজিত। জালোপি ব্যবহার করার পরে অনেক দিন হয়েছে, আমি বিশ্বাস করি এটি পিঁপড়ার সাথে ছিল। পরিবর্তে জ্যাকব দেখুন।
জন

জ্যাকব জাভা 7-র জন্য আপডেট হচ্ছে না, এবং টিআইওবিই বলে যে এটি কখনও হবে না।
ক্রিস জোনস


14

আপনি কমান্ড লাইন থেকে Eclipse পুনর্নির্ধারণকারী চালাতে পারেন।

বৈশিষ্ট্যটির Eclipse ডকুমেন্টেশন এখানে

প্রথমে আপনাকে আপনার জাভা কোড ফর্ম্যাটর সেটিংসের প্রকল্পের জন্য নির্দিষ্ট কনফিগারেশন ফাইল তৈরি করতে হবে

তারপরে {projectDirectory}/.settings/org.eclipse.jdt.core.prefsঅন্য জায়গায় সংরক্ষণ করুন ।

এখন আপনি ফরম্যাটার কল করবে।

"c:\path\to\eclipse\eclipse.exe" -vm "C:\path\to\jdk\bin\java.exe" -application org.eclipse.jdt.core.JavaCodeFormatter -config "c:\path\to\org.eclipse.jdt.core.prefs" "C:\path\to\your\src"

[সতর্কতা] এটি Eclipse 2018 এ কাজ বন্ধ করে দিয়েছে বলে মনে হচ্ছে clএক্লিপস অক্সিজেন ব্যবহার করুন।


7

জালোপি আগ্রহী হতে পারে। এটি পিপীলিতে প্লাগ হবে এবং এইভাবে আপনার আইডিই থেকে স্বতন্ত্র।

অ্যাস্টাইলও কার্যকর হতে পারে। এটি ওপেন সোর্স (জালাপির মতো) তবে সি ++ এ লিখিত। এটি জাভা / সি / সি ++ ফর্ম্যাট করার দিকে এগিয়ে গেছে এবং এটি ব্যাচ চালিত হতে পারে (শেল স্ক্রিপ্ট বা অনুরূপ মাধ্যমে)


4

আপডেট: আমার দায়ের করা ভুল বাগ রিপোর্টের উপর ভিত্তি করে আমার নতুন বোঝার জন্য : https://bugs.eclipse.org/bugs/show_bug.cgi?id=325289 ওপেনএমআরএস ফর্ম্যাটটার.এক্সএমএল ফাইলটি আসলে একটি এক্সএমএল নয় বরং একটি পছন্দ ফাইল হতে হবে ফাইল।

আপনি এই জাতীয় ফাইলটি এখানে পেতে পারেন: https://bugs.eclipse.org/bugs/attachment.cgi?id=178874

বা কোনও এক্সএমএল রফতানি হওয়া ফর্ম্যাটর ফাইলটি রূপান্তর করুন: বিড়াল ফরম্যাটার.এক্সএমএল | গ্রেপ সেটিং | sed 's / @@'> formatter.asprefs

আপনাকে ধন্যবাদ মিশা


এখানে কিছু আছে যা আমি গ্রহণের 3.6 জারগুলি ব্যবহার করে তৈরি করেছি। এটি জাভা-কেবল, কমান্ড লাইন এবং ক্রস প্ল্যাটফর্মের সাথে সামঞ্জস্যপূর্ণ হওয়া উচিত:

http://www.sendspace.com/file/nm4ptt

এখানে একটি শেল স্ক্রিপ্ট রয়েছে যা একটি বান্ডিলযুক্ত ওপেনএমআরএসকোডফর্ম্টার.এক্সএমএল ফাইল ব্যবহার করে। নমুনা আউটপুট:

misha@misha-d630:~/openmrs-code-formatter$ cat ../Test.java
public class Test {



public a() {
System.out.println("! I did not format this right!");
}



}misha@misha-d630:~/openmrs-code-formatter$ ./format.sh ../Test.java
Configuration Name: OpenMRSFormatter.xml
Starting format job ...
Done.
cat ../misha@misha-d630:~/openmrs-code-formatter$ cat ../Test.java
public class Test {

        public a() {
                System.out.println("! I did not format this right!");
        }

}misha@misha-d630:~/openmrs-code-formatter$ 

এই পোস্টটি এখানে ভিত্তি করে: http://www.peterfriese.de/formatting-your-code-using-the-eclipse-code-formatter/

যেহেতু আমি জানি না যে লিঙ্কটি কত দিন থাকবে, আমি নীচের বিষয়গুলি বর্ণনা করব।

এটি Eclipse 3.6 হেলিওস বিতরণের উপর ভিত্তি করে। আমি লিনাক্স x86 এর জন্য এটি ব্যবহার করেছি তবে এটি কোনও সংস্করণের জন্য কাজ করা উচিত, কারণ আমি কোনও (আমার জ্ঞানের) প্ল্যাটফর্ম নির্দিষ্ট জেআর ফাইলগুলি ব্যবহার করি নি।

টার আর্কাইভের সামগ্রীগুলি হ'ল:

misha@misha-d630:~$ tar tvjf openmrs-code-formatter.tar.bz2  | sort 
tar: Record size = 8 blocks
drwxr-xr-x misha/misha       0 2010-09-11 19:32 openmrs-code-formatter/plugins/
drwxr-xr-x misha/misha       0 2010-09-11 19:33 openmrs-code-formatter/configuration/org.eclipse.equinox.simpleconfigurator/
drwxr-xr-x misha/misha       0 2010-09-11 19:38 openmrs-code-formatter/configuration/
-rw-r--r-- misha/misha  101957 2010-09-11 19:03 openmrs-code-formatter/plugins/org.eclipse.equinox.common_3.6.0.v20100503.jar
-rw-r--r-- misha/misha  107210 2010-09-11 19:32 openmrs-code-formatter/plugins/org.eclipse.core.commands_3.6.0.I20100512-1500.jar
-rw-r--r-- misha/misha  111098 2010-09-11 19:06 openmrs-code-formatter/plugins/org.eclipse.equinox.preferences_3.3.0.v20100503.jar
-rw-r--r-- misha/misha 1147220 2010-09-11 18:45 openmrs-code-formatter/plugins/org.eclipse.osgi_3.6.0.v20100517.jar
-rw-r--r-- misha/misha    1812 2010-09-11 19:33 openmrs-code-formatter/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info
-rw-r--r-- misha/misha  182596 2010-09-11 19:05 openmrs-code-formatter/plugins/org.eclipse.equinox.registry_3.5.0.v20100503.jar
-rw-r--r-- misha/misha  248071 2010-09-11 19:29 openmrs-code-formatter/plugins/org.eclipse.text_3.5.0.v20100601-1300.jar
-rw-r--r-- misha/misha     265 2010-09-11 19:21 openmrs-code-formatter/configuration/config.ini
-rw-r--r-- misha/misha   28554 2010-09-11 19:34 openmrs-code-formatter/OpenMRSFormatter.xml
-rw-r--r-- misha/misha   39331 2010-09-11 19:17 openmrs-code-formatter/plugins/org.eclipse.equinox.simpleconfigurator_1.0.200.v20100503.jar
-rw-r--r-- misha/misha 4504121 2010-09-11 19:27 openmrs-code-formatter/plugins/org.eclipse.jdt.core_3.6.0.v_A58.jar
-rw-r--r-- misha/misha   47023 2010-09-11 18:42 openmrs-code-formatter/plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
-rw-r--r-- misha/misha   52710 2010-09-11 19:29 openmrs-code-formatter/plugins/org.eclipse.core.filesystem_1.3.0.v20100526-0737.jar
-rw-r--r-- misha/misha 6451211 2010-09-11 19:32 openmrs-code-formatter/plugins/com.ibm.icu_4.2.1.v20100412.jar
-rw-r--r-- misha/misha   70928 2010-09-11 19:01 openmrs-code-formatter/plugins/org.eclipse.core.runtime_3.6.0.v20100505.jar
-rw-r--r-- misha/misha  769898 2010-09-11 19:29 openmrs-code-formatter/plugins/org.eclipse.core.resources_3.6.0.v20100526-0737.jar
-rw-r--r-- misha/misha   83817 2010-09-11 19:07 openmrs-code-formatter/plugins/org.eclipse.equinox.app_1.3.0.v20100512.jar
-rw-r--r-- misha/misha   86986 2010-09-11 19:31 openmrs-code-formatter/plugins/org.eclipse.core.expressions_3.4.200.v20100505.jar
-rw-r--r-- misha/misha   90837 2010-09-11 19:05 openmrs-code-formatter/plugins/org.eclipse.core.jobs_3.5.0.v20100515.jar
-rw-r--r-- misha/misha   91928 2010-09-11 19:06 openmrs-code-formatter/plugins/org.eclipse.core.contenttype_3.4.100.v20100505-1235.jar
-rwxr-xr-x misha/misha     111 2010-09-11 19:39 openmrs-code-formatter/format.sh

প্লাগইন ডিরেক্টরিতে প্রাসঙ্গিক জারগুলি সরাসরি Eclipse 3.6 প্লাগইন ডিরেক্টরি থেকে নেওয়া হয়।

কনফিগার.ইআই এর সামগ্রীগুলি হ'ল:

misha@misha-d630:~$ more openmrs-code-formatter/configuration/config.ini 
osgi.bundles=reference\:file\:org.eclipse.equinox.simpleconfigurator_1.0.200.v20100503.jar@1\:start
org.eclipse.equinox.simpleconfigurator.configUrl=file\:org.eclipse.equinox.simpleconfigurator/bundles.info
eclipse.application=org.eclipse.jdt.core.JavaCodeFormatter

format.sh হ'ল:

misha@misha-d630:~$ more openmrs-code-formatter/format.sh 
#!/bin/bash
java -jar plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar -config OpenMRSFormatter.xml $*

এবং ওপেনএমআরএস ফরমেটার.এক্সএমএল এখানে উপলভ্য: http://wiki.openmrs.org/download/attachments/3346087/OpenMRS Formatter.xML?version=1& ModificationsDate=1282168038000

আমি বিশ্বাস করি যে এটি পুনরুত্পাদন করার জন্য পর্যাপ্ত হওয়া উচিত।

একই ধারণার উপর ভিত্তি করে একটি আকর্ষণীয় প্রকল্পটি এখানে পাওয়া যায়: http://code.google.com/p/maven-java-formatter-plugin/

আপনাকে ধন্যবাদ মিশা



1

আমি ডাঃ জাভা কোড করতে কোড ব্যবহার করতাম এবং একটি দ্রুত সিআরটিএল + এ + ট্যাব সহ এটি সিনট্যাক্স হাইলাইটিংয়ের সাথে সমস্ত সুন্দরভাবে ফর্ম্যাট করে। Ive এটি একটি ম্যাক এবং উইন্ডোতে ব্যবহার করেছে, তারা লিনাক্স সমর্থন করে কিনা তা জানেন না। এবং এটি ওপেন সোর্স, একা দাঁড়িয়ে এবং নিখরচায়।


কোডের যে কোনও অংশ নির্বাচন করা হলে ট্যাব টিপলে নির্বাচনের বিন্যাস হবে। ডাঃ জাভাও একটি দুর্দান্ত ইন্টারেক্টিভ (দোভাষীর মতো) ট্যাব।
ডানসালমো

0

আমি জেআরফ্যাক্ট্রির অভ্যন্তরে প্রচুর প্রেটিপ্রিন্টার ব্যবহার করেছি ( http://jrefactory.sourceforge.net/ )। আমি এটি জেডিট এর প্লাগইন এর মাধ্যমে আবিষ্কার করেছি। আমি এর প্রশংসা করেছি কারণ এর চেয়ে ভাল জাভাদক কভারেজটি আমি দেখেছি।

দুর্ভাগ্যক্রমে এটি মৃত বলে মনে হচ্ছে (২০০৪ সাল থেকে কোনও বিবর্তন নেই) এবং এটি জাভা 5 সমর্থন করে না।

যাইহোক, আমি নিশ্চিত করি যে ট্রাইম্যাক্স একটি বাণিজ্যিক স্যুট মৃত ওপেন সোর্স জলপি এর উপর ভিত্তি করে।



0

জালোপি তালিকা স্টাফ <মাইক্লাস> ... এবং লিঙ্ক মন্তব্যগুলি @ দিয়ে শুরু করে এমন বিবৃতিগুলি পরিচালনা করে না

আমি << MyClass> কে LTLTLTMyClassGTGTGT এবং তারপরে @ @ // // // // @ এ পরিবর্তন করে ফরমেট করতে সক্ষম হয়েছি (তারা এলটি, জিটি বা // @ পুনরাবৃত্তি করে যাতে তা নিশ্চিত হয় না) ইতিমধ্যে বিদ্যমান Then তারপর আমি জালোপিতে সক্ষম হয়েছি এবং স্পষ্টতই আমাকে যা কিছু ছিল তার প্রতিস্থাপন করতে হবে।

এছাড়াও, <বা> পরিবর্তন করার আগে আপনাকে নিশ্চিত করতে হবে যে আপনি <= বা> = ইত্যাদির তুলনা পরিবর্তন করবেন না etc.

সুতরাং, আপনি এটিকে দরিদ্র লোকটির সমাধান হিসাবে অভিহিত করতে পারেন কারণ এতে অনেকগুলি ম্যানুয়াল পদক্ষেপ জড়িত। আমি যদি প্রায়শই জলপি করতাম তবে আমি সম্ভবত সেড ব্যবহার করে একটি স্ক্রিপ্ট লিখতাম যা আমার জন্য স্বয়ংক্রিয়ভাবে সেগুলি পরিবর্তন করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.