# idea_plugin_ncdevplugin
**Repository Path**: lunakan/idea_plugin_nc5devplugin
## Basic Information
- **Project Name**: idea_plugin_ncdevplugin
- **Description**: 用友Yonyou NC NCC U8C系列 ,U8Cloud,NC6,NC57,NC65 NCC Idea开发插件。 本人业余接外包私单:QQ209308343 Email209308343@qq.com,Github:https://github.com/airh2o/idea_plugin_ncdevplugin
- **Primary Language**: Java
- **License**: MPL-2.0
- **Default Branch**: master
- **Homepage**: https://my.oschina.net/u/4043662
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 47
- **Created**: 2022-12-06
- **Last Updated**: 2022-12-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# idea_plugin_nc5devplugin
Yonyou NC5x or U8Cloud or NC6x Idea devtool Plugin   
实现了 Idea NC5x 6x U8Cloud 开发插件,功能比较简单
# 注意,因为本人懒等原因,最新的插件是 项目根目录的 zip文件哦,不是发行版里的哦!!!!
# 因本人目前在微服务公司,所以本人业余接开发私单,有私单才能继续参与NC 继续更新插件啊,人懒又要养家
# buy me a coffee:     
 # 插件截图
 
    
    
    
  
  
  
    
   
     
# 使用方式
插件安装后使用方式:
```
第一次新建项目-必须步骤:
1. Tools -> 配置NC HOME   进行NC HOME配置! 
2. Tools -> 更新NC 库依赖 执行依赖更新! 
3. Tools -> 生成默认NC运行配置!(如果重启IDEA后丢失了运行配置 可以再次执行这个)    
4. 第一次执行上面步骤以后,会生成项目默认的client public private test 几个源文件夹 请手工在 项目结构修改几个文件夹的IDEA属性为正确值
5. 请注意 模块的编译输出路径要选 use module path 分别设置test和非test class输出路径。
```
  
 导出补丁支持 模块写一个配置文件 自定义相对路径:     
 ```
  本文件必须放入模块的根目录 文件名: patcherconfig.properties   
  文件用法(可参考示例文件 patcherconfig.properties 所有参数都可以配或不配置 插件有默认值的哈):   
  
    class全限定名=相对路径(也就是NC模块名字)   
    例子(对test无效):    
    nc.ui.gl.AddVoucherLineAction=gl   
    
    支持包路径比如:    
    nc.ui.gl=gl2       
    nc.ui=gl3       
    会根据 包路径判断模块名字,优先级是 全路径》包路径(包路径从最末级逐个向上匹配)》模块猜测       
    
    特殊参数:   
    ##是否不要test代码,默认true
    config-notest=false         
    ##是否导出源代码,默认true
    config-exportsourcefile=true         
    ##是否把代码打包成jar文件, 默认false    
    config-compressjar=false        
    ##如果启用了代码打包成jar文件,是否删除class文件  默认false
    config-compressEndDeleteClass      
    ##如果打包jar,那么 META-INF.MF 文件模板磁盘全路径(可以不配置 采用默认)  
    config-ManifestFilePath=path             
    #是否猜测模块,默认false,开启后 如果配置文件没有指明的类会根据包名第三个判断模块       
    # (比如 nc.ui.pub.ButtonBar 第三个是pub 所以认为模块是 pub)     
    config-guessModule=true     
    类路径配置文件:     
        比如我要把 nc.bs.arap包里 1.txt和DzTakeF1Impl.wsdl文件输出到 arap模块下的包文件夹里:   
                                        nc.bs.arap.1.txt=arap   
        nc.bs.arap.DzTakeF1Impl.wsdl=arap    
 ```
.idea文件夹里 nc.properties 插件项目配置信息选项说明:
```properties
#### 是否过滤SQL
filtersql=true
#### 是否启用子查询结果生成SQL
enableSubResultSet=true
### 强制生成SQL 要用的第几个数据源
data_source_index=0
#### 客户端ip
clientip=127.0.0.1
#### 是否管理 自动复制ncc客户端文件到NChome
close_client_copy=false
#### 是否强制链接数据库 导出SQL
rebuildsql=false
#### 客户端端口
clientport=13100
#### NChome 路径
home=I\:\\runtime\\NCC2105HOME
### 强制指定nc版本
nc.version=NCC
############ 是否启用 编译后 理解进行NC代码规范检查
buildAfterNCCodeCheck=false
```
# 常见问题
1. IDEA 重启后如果提示运行配置的
    variables 比如 FIELD_NC_HOME 等无效,请无视他
    ,因为在项目运行列表里里配置了
    ,无需在 file > setting > apperarance & behavior > path variables 里配置全局的!    
# 已知BUG
1. 注意: 如果你没有设置JAVAHOME或者ufjdk没有javap工具,导出补丁不会导出 同一个源文件内的非public类中匿名且非public的类文件。但如果有javap就会导出 但同时耗时较长!    
# 未来待实现功能
1. 元数据编辑 - 暂不完成
2. WSDL新增功能  - 暂不完成
# 版本更新
``` 
  3.0 版本 更新:
     
# 插件截图
 
    
    
    
  
  
  
    
   
     
# 使用方式
插件安装后使用方式:
```
第一次新建项目-必须步骤:
1. Tools -> 配置NC HOME   进行NC HOME配置! 
2. Tools -> 更新NC 库依赖 执行依赖更新! 
3. Tools -> 生成默认NC运行配置!(如果重启IDEA后丢失了运行配置 可以再次执行这个)    
4. 第一次执行上面步骤以后,会生成项目默认的client public private test 几个源文件夹 请手工在 项目结构修改几个文件夹的IDEA属性为正确值
5. 请注意 模块的编译输出路径要选 use module path 分别设置test和非test class输出路径。
```
  
 导出补丁支持 模块写一个配置文件 自定义相对路径:     
 ```
  本文件必须放入模块的根目录 文件名: patcherconfig.properties   
  文件用法(可参考示例文件 patcherconfig.properties 所有参数都可以配或不配置 插件有默认值的哈):   
  
    class全限定名=相对路径(也就是NC模块名字)   
    例子(对test无效):    
    nc.ui.gl.AddVoucherLineAction=gl   
    
    支持包路径比如:    
    nc.ui.gl=gl2       
    nc.ui=gl3       
    会根据 包路径判断模块名字,优先级是 全路径》包路径(包路径从最末级逐个向上匹配)》模块猜测       
    
    特殊参数:   
    ##是否不要test代码,默认true
    config-notest=false         
    ##是否导出源代码,默认true
    config-exportsourcefile=true         
    ##是否把代码打包成jar文件, 默认false    
    config-compressjar=false        
    ##如果启用了代码打包成jar文件,是否删除class文件  默认false
    config-compressEndDeleteClass      
    ##如果打包jar,那么 META-INF.MF 文件模板磁盘全路径(可以不配置 采用默认)  
    config-ManifestFilePath=path             
    #是否猜测模块,默认false,开启后 如果配置文件没有指明的类会根据包名第三个判断模块       
    # (比如 nc.ui.pub.ButtonBar 第三个是pub 所以认为模块是 pub)     
    config-guessModule=true     
    类路径配置文件:     
        比如我要把 nc.bs.arap包里 1.txt和DzTakeF1Impl.wsdl文件输出到 arap模块下的包文件夹里:   
                                        nc.bs.arap.1.txt=arap   
        nc.bs.arap.DzTakeF1Impl.wsdl=arap    
 ```
.idea文件夹里 nc.properties 插件项目配置信息选项说明:
```properties
#### 是否过滤SQL
filtersql=true
#### 是否启用子查询结果生成SQL
enableSubResultSet=true
### 强制生成SQL 要用的第几个数据源
data_source_index=0
#### 客户端ip
clientip=127.0.0.1
#### 是否管理 自动复制ncc客户端文件到NChome
close_client_copy=false
#### 是否强制链接数据库 导出SQL
rebuildsql=false
#### 客户端端口
clientport=13100
#### NChome 路径
home=I\:\\runtime\\NCC2105HOME
### 强制指定nc版本
nc.version=NCC
############ 是否启用 编译后 理解进行NC代码规范检查
buildAfterNCCodeCheck=false
```
# 常见问题
1. IDEA 重启后如果提示运行配置的
    variables 比如 FIELD_NC_HOME 等无效,请无视他
    ,因为在项目运行列表里里配置了
    ,无需在 file > setting > apperarance & behavior > path variables 里配置全局的!    
# 已知BUG
1. 注意: 如果你没有设置JAVAHOME或者ufjdk没有javap工具,导出补丁不会导出 同一个源文件内的非public类中匿名且非public的类文件。但如果有javap就会导出 但同时耗时较长!    
# 未来待实现功能
1. 元数据编辑 - 暂不完成
2. WSDL新增功能  - 暂不完成
# 版本更新
``` 
  3.0 版本 更新: