中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Using Eclipse PDT for Drupal Development | Co...

At the latest Rhein-Main region Drupal meetup, and then at the recent DrupalCamp in Essen, I gave presentations about installing and configuring the latest version of the Eclipse IDE (Eclipse Indigo / 3.7.x) for Drupal development, with coverage of commonly-used plug-ins, and identified some features which enhance a Drupal development workflow. This article is related to that presentation and covers some tips for the PDT (PHP Development Toolkit), productivity shortcuts, and configuration requirements for coding in accordance with Drupal standards. The Aptana Studio (as an Eclipse plugin) is not covered in great depth; much of it differs from PDT and PDT-supporting plugins, so it may be covered in a separate post.

Disclaimer: I am not an expert Eclipse power user, nor am I a Drupal development expert, however I have taken the time to look at the latest developments and to experiment, so while this material might be especially helpful for people new to Drupal development who are just starting to use Eclipse and configuring it for the first time, I hope that even experienced Eclipse users may find some useful tips in this article. Before I started my internship for Cocomore, back in October 2010, I think I’d used Eclipse for one course in Java development, but it had been some years, and since then I’d used NetBeans in other courses, but whenever possible I still used my editor of choice, TextMate, which I still find most useful for those times when I just want to make a few simple edits. But there are times when a full-fledged IDE is the right tool for the job and when that’s the case, it helps to have your IDE properly configured and to be proficient in its use. Writing this guide has helped improve my knowledge of Eclipse and I hope reading it will help yours.

This article is long enough I could have broken it into separate pages in a Drupal “book”, but I’ll provide some quick links for those who just want to jump to a particular topic. So the following is a brief outline of this article:
   Some Pros and Cons of Eclipse
   Installing Eclipse
   Eclipse Plugins useful for Drupal Development
   Uninstalling Eclipse plugins
   Configuration of Eclipse for Drupal Coding Standards
   Drupal templates for Eclipse
   Creating custom templates
   Keyboard shortcuts for a better workflow

Some benefits of the Eclipse IDE:

  • Free / Open-source
  • Multi-Platform (Java-based)
  • Powerful debugging features
  • Syntax highlighting and error flagging
  • Lots of plugins to extend features
  • Drupal templates available

We may first want to talk about the pros and cons of Eclipse. Among the benefits of using Eclipse are that it is free and open source, it’s a Java application which has builds for all major platforms (Mac, Linux, Windows), has powerful debugging features, is a full-featured IDE with syntax highlighting and error flagging, and that it has a very active developer community, which means that there are loads of plug-ins to extend the features of the basic Eclipse environment, and there are even Drupal templates available to help streamline your development workflow.

Downsides of Eclipse include:

  • Resource hog
  • Java-based, not a native app
  • Some pricey IDEs may be better, especially if you already use them

Some of the benefits also include the drawbacks: complex Java applications like Eclipse tend to consume a rather high amount of resources; since it is not a native application, its interface and some of the ways that it works may be a bit less polished than, for instance, a native Mac application. Because of the great number of plug-ins available, and the complexity of the system, even without considering plug-ins, Eclipse has a steep learning curve. Finally, some commercial IDE’s may be better, especially if you already own and use them, in which case there might be little reason to experiment with Eclipse.

Downloading and Installing Eclipse

This article was written using the latest version of Eclipse, so-called Indigo or version 3.7.x, but I have also used earlier versions and much of the material should apply to other Eclipse versions, both past (and likely) future versions. To best follow along with this article, please download the latest version of Eclipse Classic appropriate for your operating system. There are some bundled versions (Eclipse plus PHP plugins) available, but at least at this time, neither the Eclipse package nor the PHP Developer Tools in recent bundles are very up-to-date, so you’re probably best off just getting all of the most recent stable releases separately.

I’m using Mac OS X, (10.6.x, aka “Snow Leopard”), so chose to download the 64-bit version of Eclipse classic for OS X, which should also be appropriate for Macs already running OS X “Lion” (10.7.x). If you have a suitable system, the 64-bit builds should be your best choice. In any case, installation is simple. You merely download a gzip tar ball, unzip it, and put the resulting directory under applications, or wherever makes most sense on your system. This probably goes without saying, but of course you do need a Java virtual machine (JRE or JDK). If you think you might be doing some Java development, you’ll want to install the JDK, otherwise at least a JRE. Modern versions of Mac OS X already have a suitable Java runtime environment, by default, so if you are on a Mac, you should probably be okay. Please note that Linux users may want to use the Oracle JDK if they plan to use the latest Aptana studio as the OpenJDK is apparently not supported. If you are on Windows or Linux, you may want to look over the installation notes for Eclipse and/or download the Oracle JDK or JRE.

When you first start Eclipse, you’ll be asked to select a location for your workspace. This is where Eclipse stores your projects and preferences. Note that your source code does not need to be in this location, and indeed, if you do put source code in this directory, e.g. a Drupal installation, it will not allow you to create a new project from it. It’s also a good idea to create projects with the directory structure which includes the Drupal root level; that way, core functions will be recognized within your code, and documentation and auto completion hints will show up. When the IDE opens, you’ll see a welcome page. You may want to take a little time to browse the overview or tutorials sections before going to the workbench view.

Plugins in Eclipse, like modules in Drupal, are the source of the power

There are a number of Eclipse plugins which you might find useful for your PHP/Drupal development workflow. Following are some of the plugins you are most likely to use. If you already know how to install plugins into Eclipse, the list below provides the general installation info for several plugins; but I will also provide more detailed information about others. Note: Trying to browse to the links given for “Location” will result in an error; those URLs point to the repository Eclipse uses to install and update plugin software. If an “Info” link is provided, that is the place to read more about the plugin.

PHP Development Toolkit (PDT)

The PDT has long been the primary plugin for PHP development in Eclipse, although now the Aptana Studio 3 plugin also supports PHP development, so it’s possible you could do without the PDT (there are certainly some benefits to both, but which you prefer and whether you want both installed is a personal decision). (More about the PDT, below.)

Eclipse Marketplace Client

The Eclipse Marketplace client plugin helps find and install popular plugins directly into Eclipse with an interface to browse the selection of available plugins on the Eclipse Marketplace website. It’s actually a part of the distribution in most other packages of Eclipse, but is not included in the “Classic” package.

Drupal for Eclipse PDT

The XTND.US Drupal for Eclipse plugin adds support for the common Drupal filename extensions so that they are recognized and opened as PHP files (or text files in the case of .info, etc). More about the Drupal for Eclipse PDT plugin, below.

  • Name: XTND.US
  • Location: http://xtnd.us/downloads/eclipse
EGit

The EGit plugin provides a GUI for exploring your Git repository. You can add an existing Git repository to Eclipse, clone one from the EGit GUI, or create a new Git repository from Eclipse. Note that you already need to have Git installed; neither EGit nor Eclipse include a Git client. (More about EGit, below.)

This is actually included in Indigo, but needs to be added to earlier versions of Eclipse. At least part of this is probably already included in your Eclipse Indigo download, even if it may not be installed/active.

Subclipse for Subversion (SVN) Integration with Eclipse

While Subversive is the default Eclipse SVN-integration plugin, you probably want to use Subclipse, instead. Subversive is the one you will find if you search for “SVN” or “Subversion” in the general “Install new Software…” panel. But Subclipse has about triple the user satisfaction ratings on the Eclipse Marketplace, is much more recently updated, and is maintained by Tigris.org, the makers of Subversion. If you are using a different version of the Subversion client from 1.6.x, you will want to check the Tigris website for the correct version of Subclipse. More about Subclipse, below.

Ahtik - Eclipse Word Wrap

Note: This plugin is only for the PDT PHP editor, the Aptana Studio 3 “PHP Source” editor already includes a Word Wrap function. If you have both PDT (with the Ahtik Word Wrap plugin) and Aptana Studio 3 installed, you will see two different Word Wrap options in the contextual menu, even though only one of them will apply to the editor you are currently using. Note: Since the word wrap feature does not maintain line numbes, when turned on, you should only turn this on when you need to (or should remember to turn it off when debugging by line number.) This is a known bug, but can at least prevent the need for horizontal scrolling through long lines, like unbroken translatable strings.

JavaScript Development Tools (JSDT)
PHP Tools Integration (PTI)

Allows you to integrate PHP CodeSniffer and PHPUnit, among other useful features. This is required for the Drupal Code Sniffer library, which you can load as a support library for PHP CodeSniffer (helps identify issues with Drupal coding standards compliance). Drupal.org documentation has information about how to set up the PHP CodeSniffer to work with the Drupal Code Sniffer library.

Aptana Studio 3

If you want to still work with the PDT and plugins which extend it, without conflicts, you are probably better off using the standalone version of Aptana Studio, but if you install Aptana Studio 3 and don’t mind doing without PDT and some of the PDT-related plugins, this has some cool features which will likely be covered in a separate post since Aptana Studio is a topic worthy of separate discussion and since so many of the plugins and techniques outlined in this article are really PDT-centric. The Aptana Studio is available as an Eclipse plugin, however, which, if you are happy with how you have Eclipse configured, can be a nicer way to work; some people may prefer the Aptana PHP editor to what is provided by the PDT. More info on the official Aptana Studio 3 downloads page. Note: Aptana Studio 3 will not support your PHP templates from PDT, but has a set of Drupal 7 templates available which include more than the Drupal Eclipse (hook templates); you also have theme function templates, among some other cool features, but nothing for Drupal 6.

Aptana Studio 2

Perhaps still a good compromise, which allows you to continue to work with the PDT, Aptana Studio 2 does not include its own PHP editor, so is more compatible and has some excellent Javascript debugging features and other handy stuff which can be installed (e.g. browser plugins which allow you to open your project in a built-in Firefox-based browser tab). This might be a better way to work with Eclipse and is recommended by many.

Eclipse Color Theme

The Eclipse Color theme plugin provides a set of extra color themes you can choose from rather than the limited appearance configuration available in Eclipse, by default. I don’t mind Eclipse’s default theme, but some users find this a “must-have” plugin. Note: If you are using the Aptana Studio plugin, the Eclipse Color Theme plugin won’t be used in Aptana-provided editors; Aptana has its own appearance settings.
Settings for the color theme are found in the preferences panel under:
General > Appearance > Color Theme

The PHP Developer Toolkit (PDT) Plugin

The first plug-in you will probably want to install is the PDT (PHP Developer Toolkit). To install it, simply go to the Help menu, and at the bottom, you should see the option to “Install new software…”. If you select from the list of available software sites, you’ll see downloads for Eclipse.org releases for Indigo, and among the available downloads, in the programming languages section, you’ll see the PHP development tools are available for download, however these are not the latest version, at least not at this time of this writing.

Instead copy the linked URL (do not follow this link as it is only used for the repository and does not contain HTML) into the field labeled “work with”, and click on the “Add…” button. The “Add Repository” dialog will prompt you for the a name and location. I just used “PDT” as the name; the “Location” has already been filled in with the URL added in the “Work with” field. I installed the full development tools all-in-one SDK, but at the very least, you’ll probably want the “PHP Development Tools (PDT) SDK Feature”. Select the components you want, and continue to the next step, where it should confirm which packages will be installed. At the next screen, you’ll need to accept the terms of the license agreements before you’ll be able to click on the finish button and complete installing your software.

You should see a progress bar as the installation is completed, and when it’s done there will be a prompt to restart Eclipse. When you are installing a number of packages in a row, it may be just fine to click on the “Not now” button, to continue installing other packages, but since the proper installation of the PDT is critical for some of the next steps, restarting now is probably a good idea.

The Drupal for Eclipse PDT plugin

The Drupal for Eclipse plug-in, available from XTND.US, is a useful extension to the PDT. Note that if you read through this guide and decide that you want to use the Aptana Studio plug-in for Eclipse for your PHP code, you might skip installing most other plugins. It’s possible to use both the Aptana Studio 3 plugin and PDT, but you may encounter some conflicts and things can get more confusing. In any case the XTND.US Drupal Eclipse plugin is only for PDT and it doesn't do much more than associate the PDT-provided PHP Editor to files with the .module, .test, .install, .engine, and .theme file extensions so that these files are recognized as being PHP code. In my experience, the repository where this plugin is located is sometimes not available, so you may get an error when attempting to add this plugin.

The EGit plugin as a Git GUI within Eclipse

EGit offers an Eclipse-integrated front-end for Git. Once the plugin has been installed, to work with it, click on the Open Perspective button, up near the top right of the Eclipse window (look for the little yellow plus sign). Select “Other…” from the drop-down menu, and then select “Git Repository Exploring” and click “OK”.

From the Git perspective, you can create a new repository, clone a repository, or add an existing already-cloned repository. In the illustration, I chose to open a repository I already had in my file system. Since the .git file won’t show up, assuming you are using Mac or Linux, when browsing the main repository directory, you should check the “Look for nested repositories” checkbox, then click on the “Search” button, and the.git file should show up in the results below, where you can select the checkbox next to it and finally click on the “OK” button.The Git Repository Exploring perspective might be especially useful for those of us who are not already proficient with Git from the command-line, especially if you don’t already have another GUI for Git.

Subclipse for Subversion (SVN) integration

At Cocomore, all of our projects are in Subversion. If you also need to be able to check out and commit to SVN repositories, you will want to add a supporting plugin to Eclipse. I should point out that for Git support and SVN support, all the Eclipse plugins do is add a front-end. You will need to install the appropriate SVN and/or Git client(s) for your operating system, just as you needed Java (a JVM) in order to run Eclipse, itself. There are two plugins which are commonly used for SVN support. The default one, Subversive, which is from Eclipse, is not the more popular of the two and I strongly recommend using Subclipse. At this time, if you look at the Eclipse Marketplace website, you’ll see that the latest version of Subversive is about two years old, whereas Subclipse’s latest release is July of last year — and you will also see that it has about triple the ratings. Subclipse is from Tigris, the developers of Subversion, so this also lends some credibility to their version. In any case, your experience may differ, but I accidentally got Subversive when I first set up Eclipse, soon after I started my internship with Cocomore, and couldn't get things properly configured for our "svnexternals" repository until I replaced it with Subclipse, at which point it was just simple. So assuming you take my advice and use Subclipse, you will need to add the repository using the "Work with…" option when you go to Help > Install New Software…. And you first might want to go to the official Subclipse website to check which version to use with the actual Subversion client you have installed. I’m using Subversion 1.6, so used the corresponding plug-in. After installing, you’ll find new preferences for SVN and should be able to create new projects by checking them out from SVN, compare diffs of versions, commit new or edited files, etc.

Uninstalling plugins

Sometimes you experiment with a plugin, only to find that it doesn’t do what you want it to do or that it conflicts with other plugins you’re more interested in keeping. Luckily uninstalling plugins is simple, but the interface for uninstalling plugins is not as easily found as for installing them. It’s actually the same interface. Simply open the Help > Install New Software… window and look for the link near the bottom “What is already installed?”. Clicking that opens a new window showing installed plugins. If you select a plugin, you will see the option to uninstall it becomes active. This is useful if you want to optimize your Eclipse installation to trim extra cruft you aren’t using or if you accidentally install a full package when you only wanted one component. Unfortunately, some plugins, such as the Aptana Studio 3 plugin, can only be installed as a whole package, not by sub-components. You can also uninstall plugins to troubleshoot issues. It will be easier to reinstall the package if uninstalling it does not resolve a possible conflict issue since the repository will still be available for easy selection and, even better, any associated preferences are not removed along with the plugin.

Most critical… Preferences for configuring to Drupal coding standards

The preferences window in Eclipse has many critical panels where you will need to configure settings for proper support of Drupal coding standards. Especially important: you’ll want to make sure that your text file encoding is set to UTF-8 and that the line delimiter is set to “UNIX”. Don’t ask me why these settings are stored under “Workspace”.

Set tabs to two spaces

General > Editors > Text editors
Perhaps of greatest importance is making sure you use spaces instead of tabs and a tab-width of ‘2’. In the illustration shown above, I also turned on a print margin of 80, since we normally want to keep lines to a maximum of 80 characters long. Getting into the details of Drupal coding standards is outside of the scope of this article, but if you are not familiar with the Drupal coding standards, you’ll want to read them; the Drupal coding standards are well documented. You’ll find similar settings which you need to change in just about every text editor for each language: PHP, CSS, XML, etc; set the tab policy to spaces and the indentation size to two in each.
Other places to fix tabs/spaces/indentation settings:

  • Preferences > PHP > Code Style > Formatter
  • Preferences > Web > CSS Files > Editor
  • Preferences > Web > HTML Files > Editor
  • Preferences > XML > XML Files > Editor

Note: If you install other language support or add plugins like the Aptana Studio plugin for Eclipse, you will likely have additional editors you need to configure in this way.

Remove trailing whitespace

Preferences > PHP > Editor > Save Actions

Be sure to set the PHP editor save actions to remove trailing whitespace from all lines.

Importing Drupal hook templates

Another useful thing we can do from the preferences panel is import templates for Drupal hooks. The templates, themselves, can be downloaded from the Eclipse project on Drupal.org which, although listed among modules, is not a module at all, but instead contains an XML file with definitions for templates for each of the Drupal core hooks. Both the Drupal 6 and the Drupal 7 versions extract to the same directory name, “eclipse”, and you can install both of them if you code for both Drupal 6 and Drupal 7. To use them, simply go to the PHP editor templates section in your preferences panel and click on the button labeled “Import” at right.
Preferences > PHP > Editor > Templates

Navigate to where you saved your downloaded Drupal Eclipse project, and select the XML file within, and almost instantly you’ll have hundreds of templates for all of the core hooks. To use the new hook templates, all you have to do is start typing the name of a hook, for instance “hook_action” and you should see an auto-complete helper which displays the signatures for each of the different hooks available starting with whatever you typed in. Replace the selected module_name part with the short name of your module and hit ? (tab) to continue to the template’s default cursor position. If your module name appears more than once in the hook function, you only need to type it once.

Creating your own templates

You can also create your own templates. For instance, if you are writing a module which makes heavy use of hooks provided by the Views module, and anticipate writing other such modules, you can create templates for these hooks easily enough, simply by looking up the API, copying the hook function definitions, pasting them in the area for the pattern of your new template, and making a few minor modifications. To see how the patterns are created, it can help to look at an existing template in "Edit mode".

Here, I’ve opened up the template for hook_action_info_alter(). Note that the "hook_" part has been replaced with "${module_name}", a template variable, and all of the dollar signs in the function have been doubled in the template. The ${cursor} variable is a special placeholder for the cursor insertion point after replacing the ${module_name} variable. If you click on the button labeled “Insert variable…”, you can experiment and see how other variables (replaced when using the template) can be used. Also pay attention to naming conventions since your name and description will appear in your code hints. Ideally, you should aim to keep non-core API hook code separate from the core API hook code by appropriate naming and descriptions.

The drupalcontrib.org website is a good place to find API documentation for contrib modules. Let’s assume we want to add a hook for a Views API function, like the Drupal 7 version of hook_views_form_submit. All we need to do is click on the “New…” button and copy and paste code and descriptions, then make the appropriate changes, doubling all existing dollar signs, replacing the hook_ with ${module_name} and put the ${cursor} in an appropriate position. Of course we might want to add an appropriate comment block above the function part of the template, perhaps indicating that the function implements hook_views_form_submit and/or that the function is a Views form submit handler.

Use keyboard shortcuts for a productive Eclipse workflow

Preferences > General > Keys
Eclipse’s keyboard shortcuts are awesome and help perform a number of actions which would take much longer with the mouse or trackpad, not to mention that they keep your hands on the keyboard, where they belong if you want to develop a productive coding workflow. Like many other useful parts of Eclipse, the hotkey bindings are hidden in a Preferences panel, but can easily be reached with a keyboard shortcut. To see all shortcuts without opening the preferences, you can hit L (Ctrl-Shift-L on Windows or Linux), which pops up the Key Assist selector. This can be useful for learning the keystrokes, but may not be much quicker than finding the command from the menu (and looking at any keystroke shown there).

If you hit the same keystroke combination again, i.e. L twice, the preferences panel for keystrokes will pop up. By the way, opening the main preferences window is most easily done with a keyboard shortcut, too: , (i.e. Command + Comma on Mac, or Ctrl-, on Windows and Linux.)

The Keys Preferences panel

The Keys preferences is where you can get a bit more information, quickly search for the keystroke you are looking for, or assign new keystrokes to commands. By default, the panel opens with all keystrokes sorted by command name. Clicking on the column header labeled “When” or “Category” to see shortcuts sorted by context (editing, navigating, Git, window, …) can make it simpler to see commands related to your current needs. You can also type in a word you are looking for, e.g. in the illustration below, we are looking at all commands related to “move” and can now see that the very handy keystroke for moving selected lines up and down in the document is -↓ / (alt-↓ / ). So holding down the alt/option key while using the up/down arrows can move a block of code around. This can be very handy and it’s worth mentioning a related keystroke: if you add (Ctrl) to this (i.e. -↓ / -↑), the current line (or selected lines) are duplicated above or below, which can be useful for adding a similar line (e.g. initializing an array with key/value pairs). It’s much quicker than selecting the line, copying it, moving up/down, then pasting.

Of course some of the default keystrokes assigned by Eclipse may conflict with keystrokes used by your operating system. If it’s an obscure task you never perform in your OS, of course you can go into the appropriate preferences panel for your operating system and remove the keystroke or reassign it to something more complex (less likely to conflict with any other application-specific keystroke). Or you can reassign the keystrokes (binding) used by Eclipse, quite simply, by typing your desired keystroke combination in the “Binding” field of the Keys preferences panel. And, of course, if there are commands that you commonly use, but which are not assigned to keystrokes, you can find the commands and add a new binding. Very cool!

A few of my other favorite keyboard shortcuts in Eclipse

Delete
D (Ctrl-D)
Delete (current line or selection). Of course you can use many methods to delete a selection, but to delete a line without first having to select it is handy.
Go to function declaration
F3
If the function declaration is in the same file, it just takes you to the function declaration, but where this is really handy is when the function is declared in another file, e.g. if you have selected a call to drupal_attributes() in a contrib module and hit F3, you’ll see a new editor tab open with (Drupal core’s) common.inc scrolled right to the function declaration on line 2295.
Last Edit Location
Q (Ctrl-Q)
Return the cursor to the last edit location. Very useful if you have been browsing around a lengthy document, perhaps copied something from somewhere else, and now want to return to where you were editing.
Maximize/Restore view
M (Ctrl-M)
Maximizes the currently-active “view” (section of the Eclipse window), especially useful when working on a smaller monitor when you want to have the editor area at its maximum width. Hitting the keystroke again restores the normal perspective (e.g. shows the Project Explorer at left, etc). Note: Double-clicking a tab performs the same function.
Next / Previous
K / ??K (Ctrl-K / ?-Ctrl-K)
Jump forward and backward in the editor between, for example, function calls in a document (or next/previous occurrences of whatever you have selected.)
Outline - Look up functions in document
O (Ctrl-O)
Displays a quick contextual menu to navigate to any function in the current document (or quickly view the function signatures). For classes, it displays a class outline.
Search
H(Ctrl-H)
Much more refined search options than the simple “find” function (F / Ctrl-F). Both “search” and “find” support replacement, but “search” also supports searching/replacing within the whole project or workspace rather than just within the document or selection, as well as searching within different document types, regular expressions, etc
Switch Editors
F6 (Ctrl-F6)
Switch between open editor tabs; works similarly to the “Switch Views” pop-up menu in that repeating the key sequence steps you through available editor tabs in the menu. Enter or mouse-click selects the editor tab.
Switch Editor (filtered)
E (Ctrl-E)
Works similarly to the normal “switch editor” menu, but has a filter field at the top where you can start to type non-case-sensitive file-names to filter the list of available editor tabs. This one is especially handy if you have a lot of editor tabs open.
Switch Perspective
F8 (Ctrl-F8)
Provides a menu similar to the Switch Views / Editors pop-up, which instead allows you to switch perspectives.
Switch Views
F7 (Ctrl-F7)
Pops up a switcher to move between views. Hitting the same key sequence moves you through the available (open) views. Enter or mouse-click selects the view.
Toggle line comments
-/ (Ctrl-/)
Toggle // line comments: Adds or removes // line comments in front of each selected line. Useful when debugging code.

Please share your tips

There are lots of great plugins for Eclipse; this guide only scratches the surface. Do you have any favorite plugins, keyboard shortcuts, or other hot tips for a productive workflow with the Eclipse PDT? We’d love to hear them, so please do share your knowledge in the comments, below.

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Using Android binary package with Eclipse
Automated code reviews with Checkstyle, Part 2 | JavaWorld
Summer of Code Scala Projects
Exporting Visual Studio Solutions with SolutionFactory
Nuxeo Blogs: Open Source ECM now? Think CPS!
Perl IDE and Programming Environment
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服